C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – ideone不显示任何输出大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这个代码是问题 http://www.spoj.com/problems/BASE/,它在Windows和Linux上运行正常但是当我在ideone上运行它时它没有显示任何输出.谁能告诉我这背后的原因是什么?
#include<stdio.h>
#include<math.h>
#include<String.h>
#include<String>
#include<iostream>

using namespace std;

long int converT_Base10(char *num,int basE)
{
int len,dig;
long int result = 0;
len = strlen(num);
//    printf("len = %d\n",len);
// converTing to base 10
for(int i=0; i<len; i++)
{
    if((num[len-i-1] >= 'A') && (num[len-i-1] <= 'F'))
        dig = num[len-i-1] - 55;
    else
        dig = num[len-i-1] - 48;
    result +=  (dig * pow(base,i));
  //        printf("num[%d] = %d\n",len-i-1,dig);
}
return result;
}

void converT_Basei(long int num,int base,String &result1)
{
bool error = false;
int pos = 6;
char result[7],rem;
// initially storing space on all position
for(int i=0; i<7; i++)
    result[i] = ' ';
while(num)
{
    if((num % basE) >= 10)
        rem = (num % basE) + 55;
    else
        rem = (num % basE) + 48;
    result[pos] = rem;//printf("result[%d] = %c\n",pos,rem);
    num /= base;//    printf("quotient = %d\n",num);
    pos--;
    if(pos < 0 && num > 0)
    {
        error = true;
        break;
    }

}
if(error == truE)
   result1 = "  ERROR";
else
    result1 = result;
//    cout<<"result = "<<result1<<endl;
}

int main()
{
char num[7];
String result;
int base1,base2;
while(scanf("%s%d%d",num,&base1,&base2) == 3)
{
//        printf("num = %s\nbase1 = %d\nbase2 = %d\n",base1,base2);
    long int temp = converT_Base10(num,base1);
//        printf("temp = %ld\n",temp);
    converT_Basei(temp,base2,result);
    cout<<result<<endl;
}
return 0;
}

解决方法

替换此代码
while(scanf("%s%d%d",&base2) == 3)
{
    long int temp = converT_Base10(num,base1);
    converT_Basei(temp,result);
    cout<<result<<endl;
}

有了这段代码,神秘就会消失:

printf("trying to get input\n");
while(scanf("%s%d%d",&base2) == 3)
{
    printf("got some input\n");
    long int temp = converT_Base10(num,result);
    cout<<result<<endl;
}
printf("got no input\n");

大佬总结

以上是大佬教程为你收集整理的c – ideone不显示任何输出全部内容,希望文章能够帮你解决c – ideone不显示任何输出所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。