三级文件寻找并输出11到999之间的数M寻找并输出11到999之间的数M:93
(93)
下列程序的功能是:寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。请编制函数int jsValue(long n)实现此功能,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out93.dat中。
【答案】
int jsValue(long n)
{
int i; /*定义循环控制变量*/
int ...
寻找并输出11到999之间的数M:93
(93)
下列程序的功能是:寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。请编制函数int jsValue(long n)实现此功能,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out93.dat中。
【答案】
int jsValue(long n)
{
int i; /*定义循环控制变量*/
int str,half; /*存储字符串的长度*/
char ch[20]; /*字符数组,存储每个数的字符串形式*/
ltoa(n,ch,10);
/*将长整数n转换成与其等价的字符串存入xy指向的字符串中,输出串为十进制*/
str=strlen(ch); /*求字符串的长度*/
half=str/2;
for(i=0;i=half) /*如果字符串是回文*/
return 1; /*则返回1*/
else
return 0; /*否则返回0*/
}
【解析】本题主要考查的是如何将整型变量转换成字符串以及如何判断字符串是否对称。
回文数是指其各位数字左右均对称的整数,因为给出的数的位数不确定,所以不采用将各位上的数字转变成单独的数再比较的方法。这里使用函数char * ltoa(long num,char *str,int radix),其功能是将长整数num转换成与其等价的字符串存入str指向的字符串中,输出串的进制由radix决定。将整数转变成字符串后,判断字符串是否左右对称。求得字符串长度后设置两个变量,一个从字符串的开头开始向后移动,一个从字符串的倒数第一个元素开始向前移动,直到移至数组的中间元素。若两者所决定的数组元素均相等,则字符串左右对称。
本文档为【三级文件寻找并输出11到999之间的数M】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。