C语言例题第四章 下载本文

内容发布更新时间 : 2024/6/26 23:37:35星期一 下面是文章的全部内容请认真阅读。

第四章

【例4-1】 数组元素的引用1

main()

{ int i,a[10]; for(i=0;i<=9;i++) a[i]=i;

for(i=9;i>=0;i--)

printf(\}

程序的运行结果为: 9 8 7 6 5 4 3 2 1 0 【例4-2】数组元素的引用2

main()

{ int i,a[10];

for(i=0;i<10; i++) { a[i]=2*i+1;

printf(\} }

程序的运行结果为:

1 3 5 7 9 11 13 15 17 19

【例4-3】任意输入十个整数,去掉其中的最大数和最小数,求其余8个数的平均数。

main()

{int i,max,min,a[10]; float sum,ave;

printf(\for(i=0;i<10;i++) scanf(\max=a[0]; min=a[0];

for(i=1;i<10;i++) {if(a[i]>max) max=a[i]; if(a[i]

printf(\printf(\}

程序的运行结果为:

input 10 numbers:

11 22 88 99 55 66 44 100 33 60 max=100, min=11 ave=57.000000

【例4-4】任意输入十个整数,按从高到低的次序排序输出。

main()

{ int i,j,t,a[11];

printf(\

for(i=1;i<11;i++) scanf(\ for(i=1;i<11;i++) {

for(j=i+1;j<11;j++)

if(a[i]

程序的运行结果为: input 10 numbers:

10 8 6 5 22 45 67 88 20 66

88 67 66 45 22 20 10 8 6 5 可以对以上程序进行改进,方案是在内循环的比较中找出最大值元素的下标,在内循环结束时才考虑是否进行交换。程序如下:

main()

{ int i,j,p,q,t,a[11];

printf(\ for(i=1;i<11;i++)

scanf(\ for(i=1;i<11;i++){ p=i;q=a[i];

for(j=i+1;j<11;j++)

if(q

if(i!=p) {t=a[i]; a[i]=a[p]; a[p]=t; } printf(\ } }

【例4-5】将一个二维数组行和列元素互换,存放到另一个二位数组中。

main()

{int i,j,a[2][3],b[3][2];

for(i=0;i<2;i++) /*外循环:控制2维数组的行*/ for(j=0;j<3;j++) /*内循环:控制2维数组的列*/ { printf(\

scanf(\从键盘按行输入a[i][j]的值*/

b[j][i]=a[i][j]; }

printf(\for(i=0;i<2;i++) {for(j=0;j<3;j++)

printf(\将a[i][j]的值显示在屏幕上*/ printf(\ }

printf(\for(i=0;i<3;i++) {for(j=0;j<2;j++)

printf(\将b[i][j]的值显示在屏幕上*/ printf(\ } }

程序运行结果如下: please input a:

1 2 3 4 5 6 array a:

1 2 3 4 5 6 array b:

1 4 2 5 3 6

【例4-6】某班有30个人,每个人有4门课的考试成绩。求全班单科的平均成绩和各科总平均成绩。

可设一个二维数组a[30][4]存放30个人4门功课的成绩。再设一个一维数组v[4]存放所求得各分科平均成绩,设变量average 为全组各科总平均成绩。编程如下:

main()

{ int i,j,s=0,average,v[4],a[30][4]; printf(\ for(i=0;i<4;i++) { for(j=0;j<30;j++)

{ scanf(\依次输入每门课程的各位学生的成绩*/ s=s+a[j][i];

}

v[i]=s/30; s=0; }

printf(\ for(i=0;i<4;i++) { s=s+v[i];

printf(\}

average=s/4;

printf(\}

【例4-7】字符串的输出

main() {int i,j;

char a[][5]={{'B','A','S','I','C',},{'D','B','A','S','E'}}; for(i=0;i<=1;i++) { for(j=0;j<=4;j++) printf(\printf(\} }

程序的运行结果如下:

BASIC DBASE

【例4-9】字符数组输入输出的应用2

main()