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

Monday

Monday is 1

程序运行示例2如下: Monkey

Not found!

答案:

#include #include #define WEEKDAYS 7

#define MAX_STR_LEN 10 intmain()

{ inti, pos;

intfindFlag = 0; charx[MAX_STR_LEN];

charweekDay[][MAX_STR_LEN] = {\\

printf(\ scanf(\

for(i = 0; i < WEEKDAYS && !findFlag; i++)

{ if(strcmp(x, weekDay[i]) == 0)

{ pos = i;

findFlag = 1; } }

if(findFlag)

{ printf(\ } else

{ printf(\ }

return0; }

-----------------------44 45.

有一个3*4的矩阵,求其中的最大元素的值。矩阵为: {{1,3,5,7},{2,4,6,8},{15,17,34,12}};

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

答案:

#include main() {

inta[3][4] = {{1,3,5,7},{2,4,6,8},{15,17,34,12}}; inti, j, c; c = a[0][0];

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

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

if(a[i][j] >= c) c = a[i][j]; else

continue; } }

printf(\ }

-------------------45 46.

按如下函数原型编写程序,输入n×n阶矩阵,用函数编程计算并输出其两条对角线上的各元素之和。

void InputMatrix(int a[N][N], int n); int AddDiagonal(int a[N][N], int n); 输入提示信息: \

\输入格式:\

输出提示信息和输出格式:\

答案:

#include #define PL 50 main() {

inta[PL][PL];

inti, j, n, sum = 0; printf(\ scanf(\

printf(\ for(i = 0; i < n; i++)

}

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

scanf(\ }

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

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

if(i == j || (i + j) == (n - 1)) sum = sum + a[i][j]; }

printf(\

------------------46 47.

有如下3*4的矩阵,求出其中值最大的元素的值。 1 2 3 4 9 8 7 6 10 -1 -4 4

在对数组进行初始化时,给出上面数据。

**要求输入提示信息为:无输入提示信息和输入数据 **要求输出格式为:\

答案:

#include main() {

inta[3][4] = { { 1,2,3,4 },{ 9,8,7,6 },{ 10,-1,-4,4 } }; inti, j, c; c = a[0][0];

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

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

if(a[i][j] >= c)

c = a[i][j]; else

continue; } }

printf(\ }

--------------------47 48.

输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计不及格成绩的个数。

**输入格式要求:\提示信息:\grade #%d: \提示信息:\n: \

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

Enter grade #1: 67 Enter grade #2: 54 Enter grade #3: 88 Enter grade #4: 73 Grade average = 70.50 Number of failures = 1

答案:

#include doublea[40] = { 0 }; inti = 0;

intGetAboveAver(doublescore[], intn); intmain() {

intn;

printf(\ scanf(\ for(i; i < n; i++) {

printf(\ doubleb = 0; scanf(\ if(b >= 0)

a[i] = b; else

break; }

GetAboveAver(a, n); }

intGetAboveAver(doublescore[], intn) {

int c;

doublesum = 0, d; int e = 0;

for(c = 0;c < i; c++) {

sum = sum + score[c]; }

d = sum / i;