[试题]

试题二(共 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;

}

参考答案与解析:

相关试题

试题八(共15分)阅读以下说明和Java程序代码,将应填入(n) 处的字句写在答

[试题]试题八(共15分)阅读以下说明和Java程序代码,将应填入(n) 处的字句写在答题纸的对应栏内。[说明]在下面的 Java 程序代码中,类SalesTicket 能够完成打印票据正文的功能,类HeadDecorator 与FootDecorator 分别完成打印票据的台头和脚注的功能。已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。这是票据的台头!这是票据正文!这是票据的脚注!------------------------这是票据的台头!这是票据的脚注![Java程序代码]publ

  • 查看答案
  • 试题二(共 15 分) 阅读以下说明和 C 程序,将应填入 (n) 处的字句写在

    [试题]试题二(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]下面的程序按照以下规则输出给定名词的复数形式:a. 若名词以“y”结尾,则删除 y 并添加“ies” ;b. 若名词以“s” 、 “ch”或“sh”结尾,则添加“es” ;c. 其他所有情况,直接添加“s” 。[C 程序]#include <stdio.h>#include <string.h>char *plural(char *word){int n;char *ps

  • 查看答案
  • 试题五(共 15分) 阅读以下说明和C£«£«代码,将应填入 (n) 处的字句写

    [试题]试题五(共 15分)阅读以下说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。(说明)已知类 LinkedList 表示列表类,该类具有四个方法:addElement()、lastElement()、numberOfElement()以及removeLastElement()。四个方法的含义分别为:void addElement(Object): 在列表尾部添加一个对象;Object lastElement(): 返回列表尾部对象;int numberOfElement(): 返回

  • 查看答案
  • 试题五(共 15分) 阅读以下说明和C£«£«代码,将应填入 (n) 处的字句写

    [试题]试题五(共 15分)阅读以下说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。(说明)已知类 LinkedList 表示列表类,该类具有四个方法:addElement()、lastElement()、umberOfElement()以及removeLastElement()。四个方法的含义分别为:void addElement(Object): 在列表尾部添加一个对象;Object lastElement(): 返回列表尾部对象;int numberOfElement(): 返回列

  • 查看答案
  • 试题三(共 15 分) 阅读以下说明和 C 语言程序,将应填入 (n) 处的字句

    [试题]试题三(共 15 分)阅读以下说明和 C 语言程序,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]某电信公司记录了每个用户的详细通话情况(每次通话数据记录在一行) ,现将某用户某月的通话数据存入一个文本文件“dial.txt” ,其数据格式如下:拨入或拨出标记 通话开始时间 通话结束时间 对方号码注 1:数据字段以一个空格作为分隔符。注 2:拨入和拨出标记均为小写字母。拨入标记为“i”,表示其他用户呼叫本机,本机用户不需付费;拨出标记为“o” ,表示本机呼叫其他用户,此时本机用户需要付费

  • 查看答案
  • 试题二(共 15 分) 阅读以下说明和 C 语言函数,将应填入 (n) 处的字句

    [试题]试题二(共 15 分)阅读以下说明和 C 语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]已知 1900 年 1 月 1 日是星期一,下面的函数 count_5_13(int year)用于计算给定的年份 year中有几个“黑色星期五” 。 “黑色星期五”指既是 13 日又是星期五的日期。函数 count_5_13(int year)首先算出年份 year 的1月 13 日是星期几,然后依次计算每个月的 13 日是星期几,若是星期五,则计数。程序中使用了函数 isLeapYear

  • 查看答案
  • 试题六(共 15分) 阅读以下说明和Java代码,将应填入 (n) 处的字句写在

    [试题]试题六(共 15分)阅读以下说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。(说明)已知类 LinkedList 表示列表类,该类具有四个方法:addElement()、lastElement()、umberOfElement()以及removeLastElement()。四个方法的含义分别为:void addElement(Object): 在列表尾部添加一个对象;Object lastElement(): 返回列表尾部对象;int numberOfElement(): 返回

  • 查看答案
  • 试题六 (共15 分) 阅读以下说明和Java代码,将应填入 (n) 处的字句写

    [试题]试题六 (共15 分)阅读以下说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。( 说明 )现需要统计某企业员工的月平均工资,即该企业本月发给员工的工资总和除以员工人数。 假设企业本月发给员工的工资总和为sumSalary,该企业的员工总数为employeeNumber,下面的程序代码计算该企业员工本月的平均工资,其中需要处理employNumber为0的情况。( Java 代码 )import java.util.Scanner;public class JavaMain {s

  • 查看答案
  • 试题二(共 15分) 阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸

    [试题]试题二(共 15分)阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。(说明 1)函数Counter(int n, int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。例如,十进制数22的二进制表示为10110。对于该二进制数,1的个数为3,在w[0]中存入2(即21)、w[1]中存入4(即22)、w[2]中存入16(即24)。(C函数 1)int Counter(int n, int w[]){ int i = 0, k

  • 查看答案
  • 试题四(共 15 分) 阅读以下说明和 C 函数,将应填入 (n) 处的字句写在

    [试题]试题四(共 15 分)阅读以下说明和 C 函数,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式“46+5*(120-37)”的后缀表达式形式为“46 5 120 37 - * +” 。计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中,重复以上过程,直到后缀表达式扫描结束。例如,后缀表达式“46 5 120 37 - * +”的计算过程为:

  • 查看答案
  • 试题二(共 15 分) 阅读以下说明和 C 程序代码,将应填入 (n) 处的字句