运行程序时出现运行时错误

时间:2015-06-15 04:15:52

标签: c runtime-error

我的代码是获取最多1000000的任何整数的位数。这是我的代码,使用whileforif

#include <stdio.h>
#include <stdlib.h>
#include <math.h> 
int main() {
  int t,num_of_seven_segment=0;

  printf("Enter test case: ");

  scanf("%d", &t);`

 /* for(;t!=0;t=t/10)
  {
        if(t>=1000001)
break; 
      num_of_seven_segment++;
  }*/

  while(t!=0)
{
    t=t/10;
    num_of_seven_segment++;

  }
   printf(" %d",num_of_seven_segment);
   getch();

}
#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()


{

int t;



int num_of_sevensegment=0;



printf("enter test cases");



scanf("%d",&t);




if(t<1000000)



num_of_sevensegment+=6;




 if (t<100000)



num_of_sevensegment--;




 if (t<10000)



num_of_sevensegment--;



 if (t<1000)



num_of_sevensegment--;


 if (t<100)


num_of_sevensegment--;



 if (t<10)



num_of_sevensegment--;



else if(t==1000000)



num_of_sevensegment=7;




printf("%d",num_of_sevensegment);




return 0;


}

1 个答案:

答案 0 :(得分:0)

由于您使用的是在线评判,我会说在第一个代码的末尾添加return 0;语句应该可以修复它。 getch()通常不起作用。

此外(与运行时错误无关),我认为在线评委中不需要明确提示用户输入。

此外,在声明 - printf(" %d",num_of_seven_segment);中,%d之前似乎还有一个额外的空格 - 可能是错误答案的来源。