下列程序的功能是:寻找并输出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.hint jsValue(long n){ }main(){ long m; FILE *out; out = fopen("out.dat", "w"); for (m=11; m1000; 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);}
下列程序的功能是:寻找并输出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);}
相关考题:
阅读以下说明和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 ("%id\n",n);system("pause"); return 0;}
下列程序的功能是:寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。请编制函数int jsValue(long n)实现此功能,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out43.dat中。注意:部分源程序已给出。请勿改动主函数main()。include<stdio.h>int jsValue(long n){}main ( ){long m;FILE *out;out=fopen ("out43.dat", "w");for (m=11;m<1000;m++){if(jsValue(m) jsValue(m*m) jsValue(m*m*m)){printf ("m=%41d, m*m=%61d, m*m*m=%81d", m, m'm, m*m*m);fprintf (out, "m=%41d, m*m=%61d, m*m*m=%81d\n", m, m*m, m*m*m);}}fclose (out);}
下列程序的功能是:输出10到100之间的所有回文素数。所谓回文素数是指,如果一个数是素数,则该数反序后形成的数也是素数。例如,13是素数,13反序形成得到数为31,31也是素数,则称13为回文素数。Private Sub Command1 2_Click( )Dim k As Integer,m As Integer,n AsIntegerFor k=10 T0 100If prim(k)Thenm=__________n=0Do While m0N=n*10+Im Mod l0M=m/10LoopIf prim(n)ThenMsgBox k“,”nEnd IfEnd IfNext kEnd SubPublic Function prim(n As Integer)As BooleanDim j As IntegerFor j=2 To n/2If n Mod J=0 Thenprim=__________Exit FunctionEnd IfNext jprim=TrueExit FunctionEnd Function横线处应填写的内容是( )。A.k FakeB.k TrueC.m FalseD.n True
程序PROGl.G的功能是:寻找并输出ll至999之间的数m,它满足m、m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如l21,676,94249等。满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。请考生编制函数int JsValue(long m)实现此功能,如果是回文数,则函数返回l,反之则返回0。最后把结果输出到文件out.dat中。 注意:部分源程序存放在test.c文件中。 请勿改动主函数main。
试题二(共 15 分)阅读以下说明和 C 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]下面 C 程序代码的功能是:对于输入的一个正整数 n(100≤n1000) ,先判断其是否是回文数(正读反读都一样的数) 。若不是,则将 n 与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278 不是回文数,其反序数为 872,相加后得到的 1150还不是回文数,再将 1150 与其反序数 511 相加,得到的 1661 是回文数。 函数 int isPalm(long m)的功能是:将正整数 m的各位数字取出存入数组中,然后判断其是否为回文数。若 m是回文数则返回 1,否则返回 0。[C 程序代码]#include stdio.h#include stdlib.hint 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;}
7、打印出所有的水仙花数。所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 m=100:999 m1= (m/100); m2= ((m/10),10); m3= (m,10); if m== disp(m); end end 注意:每个空用中文逗号隔开
【其它】任务二:实现查询功能关键算法并绘制流程图(30 分) 所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121 是一个回文数。编写程序,求出 100—200 的范围内所有回文数的和。 要求:使用循环结构语句实现,直接输出结果不计分。
打印出所有的水仙花数。所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 m=100:999 m1= (m/100); m2= ((m/10),10); m3= (m,10); if m== disp(m); end end 注意:每个空用中文逗号隔开