下列程序的功能是:寻找并输出11至999之间的数m,满足m、m2和m3均为回文数。所谓回文数是指各位数字左右对称的整数,例如121、676、94249等。满足上述条件的数,如m=11、m2=121、m3=1331,皆为回文数。请编制函数int svalue(long m)来实现此功能。如果是回文数,函数返回1,反之则返回0。最后,把结果输出到文件out.dat中。部分源程序已给出。请勿改动主函数main()的内容。#include <stdio.h>#include <stdlib.h>#include <string.h>int jsValue(long n){ }main(){ long m; FILE *out; out = fopen("out.dat", "w"); for (m=11; m<1000; m++) if (jsValue(m) && jsValue(m*m) && jsValue(m*m*m)) { printf("m=%4ld,m*m=%6ld,m*m*m=%8ld \n", m, m*m, m*m*m); fprintf(out,"m=%4ld,m*m=%6ld,m*m*m=%8ld \n", m, m*m, m*m*m); } fclose(out);}
第1题:
试题二(共 15 分)
阅读以下说明和 C 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
下面 C 程序代码的功能是:对于输入的一个正整数 n(100≤n<1000) ,先判断其是否是回文数(正读反读都一样的数) 。若不是,则将 n 与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278 不是回文数,其反序数为 872,相加后得到的 1150还不是回文数,再将 1150 与其反序数 511 相加,得到的 1661 是回文数。 函数 int isPalm(long m)的功能是:将正整数 m的各位数字取出存入数组中,然后判断其是否为回文数。若 m是回文数则返回 1,否则返回 0。
[C 程序代码]
#include <stdio.h>
#include <stdlib.h>
int isPalm(long m)
{ /*判断 m是否为回文数*/
int i = 0, k = 0;
char str[32];
while (m > 0) { /*从个位数开始逐个取出 m的各位数字并存入字符数组 str*/
str[k++] = (1) + '0';
m = m / 10;
}
for(i = 0; i < k/2; i++) /*判断 str中的 k 个数字字符序列是否是回文*/
if ( str[i] != str[ (2) ] ) return 0;
return 1;
}
int main( )
{
long n, a, t;
printf("input a positive integer:"); scanf("%ld",&n);
if (n < 100 || n > =1000) return -1 ;
while( (3) ) { /*n 不是回文数时执行循环*/
printf("%ld -> ", n);
for(a = 0, t = n; t > 0; ) { /*计算 n 的反序数并存入 a*/
a = (4) *10 + t % 10; t = t / 10;
} /*end of for*/
n = (5) ; /*与反序数求和*/
} /*end of while*/
printf("%ld\n",n);
system("pause"); return 0;
}
第2题:
作业5-1 (教材p102) 习题4-6 编写应用程序,统计并逐行显示(每行5个数)在区间[10 000,20 000]上的回文数。所谓回文数,就是该数字无论正读还是反读,数字都相等。
第3题:
打印出所有的水仙花数。所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 m=100:999 m1= (m/100); m2= ((m/10),10); m3= (m,10); if m== disp(m); end end 注意:每个空用中文逗号隔开
第4题:
7、打印出所有的水仙花数。所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 m=100:999 m1= (m/100); m2= ((m/10),10); m3= (m,10); if m== disp(m); end end 注意:每个空用中文逗号隔开
第5题:
【其它】任务二:实现查询功能关键算法并绘制流程图(30 分) 所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121 是一个回文数。编写程序,求出 100—200 的范围内所有回文数的和。 要求:使用循环结构语句实现,直接输出结果不计分。