任务和代码:
/*
文件名:main.c
作者:小风景
完成日期:2015.10.22
问题描述:求1000000以内的正整数n,要求9n是n的反序数
程序输出:反序数
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,fn,isum,k;
for(n = 1;n < 1000000;n++)
{
fn = 0;
k = n;
isum = n * 9;
while(0 < k) //此处切记不可直接用n进行计算
{
fn = fn * 10 + k % 10;
k = k / 10;
}
if(isum == fn)
{
printf("%d\t",n);
}
}
return 0;
}
运行结果:
总结:while训话中不可直接用n进行计算,如果用n 执行完while循环之后,n=0 ,执行n ++ 之后n=1,程序或总在n = 0 和n = 1之间循环,达不到我呢么想要的目的,不能够完成1到1000000之间的累加,也就找不出n的反序数等于9n的数。
------------------------------------------------------------------------------------------------------------------------------------------
让时间说真话,虽然我也害怕。