下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。 例如:输入352,则输出应该是38;若输入328,则输出应该是77。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不

admin2009-02-15  75

问题 下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。
   例如:输入352,则输出应该是38;若输入328,则输出应该是77。
   请改正程序中的错误,使它能得到正确结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   试题程序:
   #include  <stdio.h>
   #include  <conio.h>
   long fun(long num)
   {
   /*+**+*+*+*found************/
      long k=1;
     do
   {
   k+=(num%10)*(num%10);
        num/=10;
   /*********+found*+**+*+******/
       }while(num)
    return(k);
   }
   main()
   {
   long n;
      clrscr();
      printf("\Please enter a number:");
      scanf("%ld",&n);
      printf("\n%ld\n",fun(n));
   }

选项

答案(1)错误:long k=1; 正确:long k=0; (2)错误:while(num) 正确:while(num);

解析 错误1:k用来存放各位数字的平方和,初值应为0。
错误2:do-while语句的语法,while()后加分号。
转载请注明原文地址:https://kaotiyun.com/show/9TID777K
0

最新回复(0)