練習5-1
/*---從頭順次為陣列中的元素賦值0,1,2,3,4---*/
#include int main(void)
return 0;
}
練習5-2
/*---從頭順次為陣列中的元素賦值5,4,3,2,1。---*/
#include int main(void)
return 0;
}
練習5-3
/*---修改程式,從頭開始依次使用5,4,3,2,1進行初始化。---*/
#include int main(void);
for(i = 0; i < 5; i++)
printf("v[%d] = %d\n", i, v[i]);
return 0;
}
練習5-4
/*---將初始化了的陣列倒序賦值到b陣列中---*/
#include int main(void)
; int b[5];
for (i = 0; i< 5; i++)
b[i] = a[5-i-1];
puts(" a b");
puts("-------");
for (i = 0; i< 5; i++)
printf("%4d%4d\n", a[i], b[i]);
return 0;
}
練習5-5
/*---對程式進行修改,改為用物件式巨集來定義元素個數。---*/
#include #define number 7
int main(void)
for (i = 0; i < number/2; i++)
puts("倒序排列了。");
for(i = 0; i < number; i++)
printf("x[%d] = %d\n", i, x[i]);
return 0;
}
練習5-7
/*---讀取陣列中的資料個數和元素值並顯示。顯示時,
各值之間用逗號和空格分割,並用大括號將所有值括起來---*/
#include int main (void)
putchar('
putchar('}');
return 0;
}
練習5-8
/*
輸入學生的分數並顯示出分布情況
*/#include #define number 80 /* 人數上限 */
int main(void)
; /* 分布圖 */
printf("請輸入學生人數:");
do while (num < 1 || num > number);
printf("請輸入%d 人的分數。\n", num);
for (i = 0; i < num; i++) while (tensu[i] < 0 || tensu[i] > 100);
bunpu[tensu[i] / 10]++;
} puts("\n---分布圖---");
for (i = 0; i <= 9; i++)
printf(" 100:");
for (j = 0; j < bunpu[10]; j++) /* 100分 */
putchar('*');
putchar('\n');
return 0;
}
練習5-10
/*---求4行3列矩陣和3行4列矩陣的乘積。各構成元素的值從鍵盤輸入。---*/
#include #define a 3
#define b 4
int main(void) }
printf("請輸入乙個4行3列矩陣的值。");
for(i = 0; i < b; i++)
} for(i = 0; i < a; i++) }
return 0;
}
練習5-11
/*---輸入6名學生2門課程(語文,數學)的分數,顯示各門課程的
總分和平均分,以及各個學生的總分和平均分。---*/
#include #define stu 6
#define lesson 2
int main (void)
} while (la[a][b] > 100 || la[a][b] < 0);
sum0+=la[a][b];
} printf("第%d名學生的總分為%f,平均分為%f\n",a+1,sum0,sum0/lesson);
} printf("語文成績的總分為%f,平均分為%f,數學成績的總分為%f,平均分為%f\n",sum1,sum1/stu,sum2,sum2/stu);
return 0;
}
練習5-12
/*
兩次考試的分數儲存在三維陣列中。
*/#include int main(void)
, }, , }, , }, , } };
/* 輸出三維陣列 */
for (i = 0; i < 4; i++)
return 0;
}
注意事項:
c語言不支援可變引數。n未輸入之前是乙個隨機值,一般都很大。那麼int v[n+1]就可能是乙個很大的陣列,可能會導致棧溢位,再加上idx[n]更可能會導致棧溢位。
《明解C語言》筆記及課後習題答案 第十一章
練習11 1 將 清單進行修改 include int main void 練習11 2 將 中的常量用程式計算出來 include int count const char c int main void char p for i 0 i count a i printf a d s n i,a ...
《明解C語言》筆記及課後習題答案 第十章
練習10 1 編寫函式adjust point,如果n指向的值小於0,就將其改為0 如果值大於100,就將其改為100 如果是0 100的值,則不修改 include void adjust point int n int main void 練習10 2 將 y 年 m 月 d 日的日期,修改為其...
《明解C語言》筆記及課後習題答案 第十二章
練習12 1 編寫顯示物件takao各成員位址的程式。include define name len 64 struct student int main void printf 姓名 p n takao.name printf 姓名 d n takao.name printf 身高 d n tak...