程序改错
【题目】以下程序的功能是:求1000000以内的所有平方回文数?平方回文数是指该整数为某一整数的平方,且该整数的各位数字呈中心对称?正确程序的输出结果如下:
1000000以内的平方回文数为:
12148467610201123211464140804449446969694249698896
含有错误的源程序如下:
#include<iostream.h>
intpow(intm,intn) //计算m的n次方
{ intt=0;
for(inti=0;i<n;i++)
t=m;returnt;
}
intpingfanghuiwen(inta)
{ inttemp,k,num,sum;intcount,i,n;
n=aa;count=0;
while(1){ //计算 n的位数
k=n-pow(10, count);
if(k<0)
continue;count++;
}
sum=0;num=n;
for(i=0; i<count;i++) {
temp=num%10;
sum=sum+temppow(10, count-i);
num=num/10;
}
if(sum==n)
return1;
else
return0;
}
voidmain()
{ inti;
cout<<"1000000以内的平方回文数为:"<<endl;for(i=10;i<1000;i++)
if(pingfanghuiwen(i) )
cout<<i<<'';
cout<<endl;
}
【要求】
打开T盘中MYFBtxt文件,将其复制到文件myfbcpp中(或把上述程序录入到文件myfbcpp中),根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改?程序中的注解可以不输入?
改错时,可以修改语句中的一部分内容,增加少量的变量说明?函数原型说明或编译预处理命令,但不能增加其他语句,也不能删除整条语句?
改正后的源程序文件myfbcpp必须放在T盘的根目录下,供阅卷用?