这题哪里出错了?本题:输出11-999之间的数m,要求m,m*m,m*m*m都为回文数.如11,121,1331.#includelong int hw(long int m){int a[6];int i,c,s;long int x,sum;for(i=0;i=0){int a;for(a=0;a0)s=s*10;}x=long int(a[i]*s);sum=sum+x;i--;}retur

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 19:53:12
这题哪里出错了?本题:输出11-999之间的数m,要求m,m*m,m*m*m都为回文数.如11,121,1331.#includelong int hw(long int m){int a[6];int i,c,s;long int x,sum;for(i=0;i=0){int a;for(a=0;a0)s=s*10;}x=long int(a[i]*s);sum=sum+x;i--;}retur

这题哪里出错了?本题:输出11-999之间的数m,要求m,m*m,m*m*m都为回文数.如11,121,1331.#includelong int hw(long int m){int a[6];int i,c,s;long int x,sum;for(i=0;i=0){int a;for(a=0;a0)s=s*10;}x=long int(a[i]*s);sum=sum+x;i--;}retur
这题哪里出错了?本题:输出11-999之间的数m,要求m,m*m,m*m*m都为回文数.如11,121,1331.
#include
long int hw(long int m)
{int a[6];
int i,c,s;
long int x,sum;
for(i=0;i=0)
{int a;
for(a=0;a0)
s=s*10;
}
x=long int(a[i]*s);
sum=sum+x;
i--;
}
return sum;
}
void main()
{
long int m,n,a,b;
for(m=11;m

这题哪里出错了?本题:输出11-999之间的数m,要求m,m*m,m*m*m都为回文数.如11,121,1331.#includelong int hw(long int m){int a[6];int i,c,s;long int x,sum;for(i=0;i=0){int a;for(a=0;a0)s=s*10;}x=long int(a[i]*s);sum=sum+x;i--;}retur
楼主附带一点说明吧,这个程序思路上好像有点问题,越看越糊涂了,你说明下变量的意义,我就帮你看看,现在编译出来是地21行a[i]出错"i下标要求数组或指针类型"即使调试完成,最后执行的时候还是会报错,说明方法和定义上有问题.
程序最重要的可读性.你的结构是挺好的,先声明函数,后主函数调用,输出;但是m,和m*m*m 的中间的m到底是不是回文数要求的呢,如果连回文数都没弄懂之前就开始,估计问题不在少.我不想去看你定义的那么多变量,我只要知道:
①确定数的范围,赋入数组;
②对数组元素分别取个、十、百位上的数值;
③数值比较,是回文数的都输出.
#include
using namespace std;
int main()
{
int hws1[1000],hws2[500],a,b,c;
for(int m=0;m!=1000;++m)
{
hws1[m]=m;
}
for(int i=0,j=0;i!=1000;++i,++j )
{
a=hws1[i]/100;
b=(hws1[i]%100)/10;
c=hws1[i]-a*100-b*10;
if((a==c&&a*c!=0)||(b==c&&a==0&&b*c!=0))
{
hws2[i]=hws1[i];
cout