题目

阅读以下说明和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 ("%idn",n);

system("pause"); return 0;

}

提示:未搜索到的试题可在搜索页快速提交,您可在会员中心"提交的题"快速查看答案。
答案
查看答案
相关试题

前序法是先访问【】,然后按前序周游左子树,按前序周游右子树。

VBA的三种流程控制结构是顺序结构、【】和【】。

下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx[])实现程序的要求,最后调用函数read write DAT()把结果输出到out31.dat文件中。

例如,若输入17,5,则应输出19,23,29,31,37。

注意:部分源程序已给出。

请勿改动主函数main()和输入输出函数read write DAT()的内容。

试题程序:

include < conio.h>

include

Void readwriteDAT();

Void num(int m,int k,,int XX[])

{

}

main()

{

int m,n,xx[1000];

Clrscr();

printf(“nPlease enter tWO integers:”)

‘scanf(“%d,%d”,&m,&n);

num(m, n, XX);

for(m=0;m<n;m++)

printf(“%d”, XX[m]);

printf(”n”);

readwriteDAT();

)

VOid read write DAT()

{

int m,n,xx[1000],i;

FILE *rf.,*Wf;

rf=fopen(“in31.Dat”,r”);

Wffopen(“ou1t31.Dat”/”w”);。 for(i=0;i<10;i++)

{

fscanf(rf,%d,” %d”,&m,&n);

num(m,n,XX);

for(m=0;m fprintf(wf,%d”,xx[m]);

fprintf (wf, “n”);

}

fclose(rf);

fclose (wf);

}

IBMPC微型计算机采用8086/8088CPU,8086CPU的数据通道为【】位,8088CPU的数据通道为8位。

Internet上的计算机地址有两种表示形式:【】与域名。

联系我们 会员中心
返回顶部