閱讀以下說(shuō)明和C 程序代碼,將應(yīng)填入 (n) 處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
下面C 程序代碼的功能是:對(duì)于輸入的一個(gè)正整數(shù)n(100≤n<1000),先判斷其是否是回文數(shù)(正讀反讀都一樣的數(shù))。若不是,則將 n 與其反序數(shù)相加,再判斷得到的和數(shù)是否為回文數(shù),若還不是,再將該和數(shù)與其反序數(shù)相加并進(jìn)行判斷,依此類(lèi)推,直到得到一個(gè)回文數(shù)為止。例如,278 不是回文數(shù),其反序數(shù)為 872,相加后得到的 1150還不是回文數(shù),再將1150與其反序數(shù)511相加,得到的1661是回文數(shù)。
函數(shù)int isPalm(long m)的功能是:將正整數(shù)m的各位數(shù)字取出存入數(shù)組中,然后判斷其是否為回文數(shù)。若m是回文數(shù)則返回1,否則返回0。
【C 程序代碼】
#include <stdio.h>
#include <stdliB.h>
int isPalm(long m)
{ /*判斷m是否為回文數(shù)*/
int i = 0, k = 0;
char str[32];
while (m > 0) { /*從個(gè)位數(shù)開(kāi)始逐個(gè)取出m的各位數(shù)字并存入字符數(shù)組str*/
str[k++] = (1) + ’0’;
m = m / 10;
}
for(i = 0; i < k/2; i++) /*判斷str中的k個(gè)數(shù)字字符序列是否是回文*/
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不是回文數(shù)時(shí)執(zhí)行循環(huán)*/
printf("%ld -> ", n);
for(a = 0, t = n; t > 0; ) { /*計(jì)算n的反序數(shù)并存入a*/
a = (4) *10 + t % 10; t = t / 10;
} /*end of for*/
n = (5) ; /*與反序數(shù)求和*/
} /*end of while*/
printf("%ld\n",n);
system("pause"); return 0;
}