C语言练习题答案 下载本文

}

}

{

letter++; }

elseif('0'<= str[i]&&str[i] <= '9') {

digit++; }

elseif(str[i] == ' ') {

space++; } else

other++;

printf(\英文字符数:%d\\n\ printf(\数字字符数:%d\\n\ printf(\空格数:%d\\n\

printf(\其他字符数:%d\\n\

--------------------39 40.

编程判断输入的一个字符串是否是“回文”。所谓“回文”字符串就是左读和右读都一样的字符串。例如: \就是一个回文字符串。

输入提示信息:\输入格式:gets()

判断是回文的输出提示信息:\

判断不是回文的输出提示信息:\

程序运行示例1: Input a string: abcba↙

This string is a plalindrome.

程序运行示例2: Input a string: friend↙

This string is not a plalindrome.

答案:

#include charstr_1[81];

voidInverse(charstr[]); intmain()

{

printf(\ gets(str_1); Inverse(str_1); }

voidInverse(charstr[]) {

charb; inta, c;

for(a = 0;a < 81;a++) {

if(str[a] == '\\0') break; else

continue; }

for(c = 0;c < (a) / 2.0; c++) {

if(str[c] == str[(a - 1) - c]) continue; else {

printf(\plalindrome.\

return; } }

printf(\ }

------------------------------40 41.

编程实现从键盘输入5个国名(每个国名最长80个字符), 找出并输出按字典顺序排在最前面的国名 要求:

(1)用gets输入字符串。 (2)

**输入提示信息为:\**输出格式为:\

答案:

#include main() {

inti;

}

chara[5][81] = {0}, b, c;

printf(\ for(i = 0; i < 5;i++) {

gets(a[i]); }

b = a[0][0];

for(i = 1; i < 5; i++) {

if(a[i][0] < b) {

b = a[i][0]; c = i; }

elseif(a[i][0] == b) {

if(a[i][1] < a[i - 1][1]) c = i; else

c = i - 1; } else

continue; }

printf(\

---------------41 42.

一个n位正整数如果等于它的n个数字的n次方和,该数称为n位自方幂数。设计求3~6位自方幂数。 **输出格式要求:\位自幂数有:\每位完后换行)

程序运行示例如下:

3位自幂数有:153 370 371 407 4位自幂数有:1634 8208 9474 5位自幂数有:54748 92727 6位自幂数有:548834 尚未完成

---------------------42 43.

93084

从键盘为3*3的矩阵输入数据,找出主对角线上最大的元素,以及所在的行号。 **输入提示信息:无 **输入格式要求:\

**输出格式要求:\程序运行示例如下:

1 2 3 4 5 6 7 8 9

max=9 ,row=2

注:不允许使用goto语句

答案:

#include

main()

{ inti, j, row = 0, max; inta[3][3];

for(i = 0; i < 3; i++)

{ for(j = 0; j < 3; j++)

{

scanf(\ } }

max = a[0][0];

for(i = 0; i < 3; i++)

{ if(max < a[i][i])

{

max = a[i][i]; row = i; } }

printf(\ }

--------------------43 44.

任意输入英文的星期几,通过查找星期表,输出其对应的数字, 若查到表尾,仍未找到,则输出错误提示信息。

**输入格式要求:\提示信息:\**输出格式要求:\查找表中信息:

\\

程序运行示例1如下: Please enter a string: