练习5-1
#include <stdio.h> int main(void) { int i; int v[5]; /* int[5]数组 */ for (i = 0; i < 5; i++) /* 为数组元素赋值 */ v[i] = i; for (i = 0; i < 5; i++) /* 显示元素的值 */ printf("v[%d] = %d\n", i, v[i]); return 0; }
练习5-2
#include <stdio.h> int main(void) { int i; int v[5]; /* int[5]数组 */ for (i = 0; i < 5; i++) /* 为数组元素赋值 */ v[i] = 5 - i; for (i = 0; i < 5; i++) /* 显示元素的值 */ printf("v[%d] = %d\n", i, v[i]); return 0; }
练习5-3
#include <stdio.h> int main(void) { int i; int v[5] = { 5, 4, 3, 2, 1 }; /* 初始化 */ for (i = 0; i < 5; i++) /* 显示元素的值 */ printf("v[%d] = %d\n", i, v[i]); return 0; }
练习5-4
#include <stdio.h> int main(void) { int i; int a[5] = { 17, 23, 36 }; /* 使用{17,23,36,0,0} 进行初始化 */ int b[5]; for (i = 0; i < 5; i++) b[i] = a[5 - 1 - i]; puts(" a b"); puts("---------"); for (i = 0; i < 5; i++) printf("%4d%4d\n", a[i], b[i]); return 0; }
练习5-5
#include <stdio.h> #define NUM 7 int main(void) { int i; int x[NUM]; /* int[7] 数组 */ for (i = 0; i < NUM; i++) { /* 输入元素的值 */ printf("x[%d] : ", i); scanf("%d", &x[i]); } for (i = 0; i < NUM/2; i++) { /* 对数组元素进行倒序排列 */ int temp = x[i]; x[i] = x[NUM - 1 - i]; x[NUM - 1 - i] = temp; } puts("倒序排列了。"); for (i = 0; i < NUM; i++) /* 显示元素的值 */ printf("x[%d] = %d\n", i, x[i]); return 0; }
练习5-6
#include <stdio.h> int main(void) { double a; int b; a = b = 1.5; printf("a = %f\n",a); printf("b = %d\n",b); return 0; }
练习5-7
#include <stdio.h> #define NUM 128 int main(void) { int n; int i; int v[NUM]; printf("数据个数:"); scanf("%d",&n); for (i = 0; i < n; i++) { printf("%d号:",i+1); scanf("%d",&v[i]); } printf("{"); for (i = 0; i < n; i++) { if (i != n - 1) printf("%d,", v[i]); else printf("%d",v[i]); } printf("}\n"); return 0; }
练习5-8 待做
练习5-9 待做
练习5-10 待做
练习5-11
#include <stdio.h> #define STU_NUM 6 int main(void) { int i; int j; int score[STU_NUM][2]; int yw_sum = 0; int yw_avg = 0; int sx_sum = 0; int sx_avg = 0; for (i = 0; i < STU_NUM; i++) { j = 0; printf("学生%d\n",i+1); printf("语文分数:"); scanf("%d",&score[i][j]); yw_sum += score[i][j]; printf("数学分数:"); scanf("%d", &score[i][j+1]); sx_sum += score[i][j+1]; } yw_avg = yw_sum / STU_NUM; sx_avg = sx_sum / STU_NUM; printf("语文总分:%d\n",yw_sum); printf("数学总分:%d\n",sx_sum); printf("语文平均分:%d\n", yw_avg); printf("语文平均分:%d\n", sx_avg); for (i = 0; i < STU_NUM; i++) { printf("学生%d总分为%d,平均分为%d。\n",i+1,score[i][0]+score[i][1], (score[i][0] + score[i][1])/2); } return 0; }
练习5-12
#include <stdio.h> int main(void) { int i,j,k; int tensu[2][4][3] = { {{ 91, 63, 78 },{ 67, 72, 46 },{ 89, 34, 53 },{ 32, 54, 34 } }, { { 97, 67, 82 }, { 73, 43, 46 }, { 97, 56, 21 }, { 85, 46, 35 }} }; int sum[4][3] = { 0 }; /* 总分 */ for (i = 0; i < 2; i++) /* 求两次考试的分数之和 */ { for (j = 0; j < 4; j++) /* 4名学生的 */ { for (k = 0; k < 3; k++) /* 3门课程的 */ sum[j][k] += tensu[i][j][k]; /* 两次的分数相加 */ } } puts("两次考试的分数"); for (i = 0; i < 2; i++) { if (i == 0) printf("第一次考试的分数\n"); else printf("第二次考试的分数\n"); for (j = 0; j < 4; j++) { for (k = 0; k < 3; k++) { printf("%4d", tensu[i][j][k]); } putchar('\n'); } putchar('\n'); } puts("总分"); for (j = 0; j < 4; j++) { for (k = 0; k < 3; k++) printf("%4d", sum[j][k]); putchar('\n'); } return 0; }