練習5-1c++
/* 依次把一、二、三、四、5 賦值給數組的每一個元素並顯示(使用for語句) */ #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 數組
/* 依次把一、二、三、四、5 賦值給數組的每一個元素並顯示(使用for語句) */ #include <stdio.h> int main(void) { int i; int v[5]; /* int[5]數組 */ for (i = 0; i <5; i++) /* 爲數組元素賦值 */ v[i] = i + 1; for (i = 4; i >=0; i--) /* 顯示元素的值 */ printf("v[%d] = %d\n", i, v[i]); return 0; }
練習5-3spa
/* 從頭開始依次用一、二、三、四、5 對數組各元素進行初始化並顯示 */ #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-43d
/* 把數組中的所有元素複製到另外一個數組中 */ #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[4 - i] = a[i]; } puts(" a b"); puts("---------"); for (i = 0; i < 5; i++) printf("%4d%4d\n", a[i], b[i]); return 0; }
練習5-5code
/* 對數組的所有元素進行倒序排列 */ #include <stdio.h> #define number 7 int main(void) { int i; int x[number]; /* int[number] 數組 */ for (i = 0; i < number; i++) { /* 輸入元素的值 */ printf("x[%d] : ", i); scanf("%d", &x[i]); } for (i = 0; i < 3; i++) { /* 對數組元素進行倒序排列 */ int temp = x[i]; x[i] = x[6 - i]; x[6 - i] = temp; } puts("倒序排列了。"); for (i = 0; i < number; i++) /* 顯示元素的值 */ printf("x[%d] = %d\n", i, x[i]); return 0; }
練習5-6blog
都會變成 1數學
練習5-7io
#include <stdio.h> #define number 80 int main(void) { int v[number]; int num; int i; printf("數據個數:"); scanf("%d", &num); for (i = 0; i < num; i++) { printf("%d號:",i+1); scanf("%d", &v[i]); } printf("{"); for (i = 0; i < num-1; i++) { printf("%d, ", v[i]); } printf("%d", v[num-1]); printf("}"); return 0; }
練習5-8class
/* 輸入學生的分數並顯示出分佈狀況 */ #include <stdio.h> #define NUMBER 80 /* 人數上限 */ int main(void) { int i, j; int num; /* 實際的人數 */ int tensu[NUMBER]; /* 學生的分數 */ int bunpu[11] = { 0 }; /* 分佈圖 */ printf("請輸入學生人數:"); scanf("%d", &num); printf("請輸入%d 人的分數。\n", num); for (i = 0; i < num; i++) { printf("%2d號:", i + 1); scanf("%d", &tensu[i]); bunpu[tensu[i] / 10]++; } puts("\n---分佈圖---"); for (i = 0; i <= 9; i++) { /* 不到100分 */ printf("%3d - %3d:", i * 10, i * 10 + 9); for (j = 0; j < bunpu[i]; j++) putchar('*'); putchar('\n'); } printf(" 100:"); for (j = 0; j < bunpu[10]; j++) /* 100分 */ putchar('*'); putchar('\n'); return 0; }
練習5-9循環
//c語言 最好用c++打開 我也是剛剛學,想了好久寫出來的,不知道有沒有更好的辦法 #include <stdio.h> #define NUMBER 90 //定義人數上限 int main(void) { int i, j, a[NUMBER], dis[11] = { 0 }, b; //ij計數 a成績數組 dis成績分佈數組 b實際人數 printf("請輸入學生人數:"); scanf("%d", &b); for (i = 0; i < b; i++) { printf("%2d號:", i + 1); do { scanf("%d", &a[i]); if (a[i] < 0 || a[i]>100) printf("請輸入0-100之間的數:"); } while (a[i] < 0 || a[i]>100); dis[a[i] / 10]++; } //-----------------------------------輸出星星的行數=人數最多的那一列的人數 將最多人數的分數段的人數賦給max(準備工做) int max = dis[0]; for (i = 1; i < 11; i++) { if (dis[i] > max) max = dis[i]; } //-----------------------------------輸出星星 for (; max > 0; max--)//有max行 外循環max次 { for (j = 0; j < 11; j++)//有11列 循環11次 // 本次循環完畢表示一行輸出完畢 須要換行進行下一行輸出 //----------------------------------- 當某分數段人數大於等於max時,內循環輸出星星直到內循環結束。每次外循環max-- // 好比 最多人數的分數段(max)=3 則人數爲3的分數段(經過內循環)各自輸出星星 內循環結束 回車 // 第二次外循環(max=2)則人數爲3和2的分數段(經過內循環)輸出星星 內循環結束 回車 // 第三次外循環(max=1)則人數爲3和2和1的分數段(經過內循環)輸出星星 回車 外循環結束 { if (dis[j] >= max) printf(" *"); else printf(" "); } putchar('\n'); } putchar('\n'); //-----------------------------------輸出底部線條 for (i = 0; i < 45; i++) { printf("-"); } putchar('\n'); //-----------------------------------輸出底部數字 for (i = 0; i < 11; i++) { printf("%4d", i * 10); } putchar('\n'); return 0; }
練習5-10
#include<stdio.h> int main() { int a[4][3]; int b[3][4]; int i, j, k, x, y, c[4][4]; printf("輸入4*3 個數 以空格隔開:\n"); for (i = 0; i < 4; i++) for (k = 0; k < 3; k++) scanf("%d", &a[i][k]); printf("輸入3*4 個數 以空格隔開:\n"); for (i = 0; i < 3; i++) for (k = 0; k < 4; k++) scanf("%d", &b[i][k]); for (i = 0; i < 4; i++) { //計算矩陣c的值 for (j = 0; j < 4; j++) { c[i][j] = 0; for (k = 0; k < 3; k++) { c[i][j] += a[i][k] * b[k][j]; } } } for (x = 0; x < 4; x++) { for (y = 0; y < 4; y++) printf("%d\t", c[x][y]); printf("\n"); } return 0; }
練習5-11
/* 求6名學生在兩次考試中1門課程的總分並顯示 */ #include <stdio.h> int main(void) { int i, j; double x,y; x=y= 0; int tensu1[6][1]; int tensu2[6][1]; int sum[6][1]; /* 總分 */ puts("請依次輸入語文和數學的成績,用空格分隔"); puts("輸入分數:"); puts("語文:"); for (i = 0; i < 6; i++) { for (j = 0; j < 1; j++) { scanf("%d", &tensu1[i][j]); } } for (i = 0; i < 6; i++) { for (j = 0; j < 1; j++) { printf("%6d\t", tensu1[i][j]); x += tensu1[i][j]; } } putchar('\n'); printf("語文的總分是%.2f,平均分是:%.2f",x,x/6); putchar('\n'); puts("數學:"); for (i = 0; i < 6; i++) { for (j = 0; j < 1; j++) { scanf("%d", &tensu2[i][j]); } } for (i = 0; i < 6; i++) { for (j = 0; j < 1; j++) { printf("%6d\t", tensu2[i][j]); y += tensu2[i][j]; } } putchar('\n'); printf("數學的總分是%.2f平均分是:%.2f",y, y / 6); /* 求兩次考試的分數之和 */ for (i = 0; i < 6; i++) { for (j = 0; j < 1; j++) sum[i][j] = tensu1[i][j] + tensu2[i][j]; } putchar('\n'); /* 顯示總分 */ puts("總分"); for (i = 0; i < 6; i++) { for (j = 0; j < 1; j++) printf("%6d\t", sum[i][j]); } putchar('\n'); puts("平均分"); for (i = 0; i < 6; i++) { for (j = 0; j < 1; j++) printf("%.2f\t", (double)sum[i][j]/2); } return 0; }
練習5-12
#include <stdio.h> int main(void) { int x, y, z; 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 } } }; for (x = 0; x < 2; x++) { for (y = 0; y < 4; y++) { for (z = 0; z < 3; z++) { printf("%4d", tensu[x][y][z]); } putchar('\n'); } } return 0; }