阅读以下说明和C语言函数,回答问题。 [说明] 下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“1425138

admin2012-04-11  33

问题 阅读以下说明和C语言函数,回答问题。
[说明]
   下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“14251382”,则输出的整数为“4532”。下面给出的C程序代码中有5个错误,请指出所有的错误。
   [C程序代码]
   01  #include  <stdio.h>
   02
   03  int main(    )
   04  {
   05  long n, num;
   06  int  i;
   07
   08  do  {
   09  printf("清输入一个正整数: ");
   10  scanf("%id", n);
   11  }while(n<=0);
   12  k=1;
   13  for(i=1; n>=0; i++)  {
   14  if(i io 2=1) {
   15  Rum=num+(n%10)*k;
   16  k=k * 10;
   17  }
   18  n=n/10;
   19  }
   20   printf("新数据为: %d\n", num);
   21  return 0;
   22  }

选项

答案变量k没有定义。 变量num应初始化为0。 第10行n之前应加取地址符号。 第13行n应大于0。 第14行if语句条件错误,应该将“=”改为“==”。

解析
转载请注明原文地址:https://jikaoti.com/ti/JvL7FFFM
0

最新回复(0)