高手来看~~这个C程序哪有问题~~~~

来源:百度知道 编辑:UC知道 时间:2024/06/05 11:00:21
求三位数满足:百位不大与2,百位与个位相交换时交换后的三位数是原来的两倍多
#include<stdio.h>
void main()
{
int a,b,c,m,n,s=0;
while(m>=101&&m<=299)
{
a=m/100;
b=(m-a*100)/10;
c=m-a*100-b*10;
n=c*100+b*10+a;
if(n>m*2&&n<m*3)
{s++;
printf("%d/t",m);
if(s%10==0) /******当输出值达到一行10个的时候换行*****/
printf("\n");
}
}
}

是你的m没有赋初值,验证完一个数之后,m也没有加一。还有tab是\t,不是/t
#include<stdio.h>
void main()
{
int a,b,c,m=101,n,s=0;
while(m>=101&&m<=299)
{
a=m/100;
b=(m-a*100)/10;
c=m-a*100-b*10;
n=c*100+b*10+a;
m++;
if(n>m*2&&n<m*3)
{s++;
printf("%d\t",m);
if(s%10==0) /******当输出值达到一行10个的时候换行*****/
printf("\n");
}
}
}

我不会写c,但我感觉你的算法好像太复杂了。纯路过

。。。,为什么不把M设置成大于0小于2?为什么要101到299啊。M除以100不就有小数点了吗?