发布时间 : 星期六 文章C语言必背的典型程序设计题目- 数组、函数 - - -参考答案更新完毕开始阅读
1、使用选择法、冒泡法对10个数进行排序,并输出排序前后的数列。
n }
k=0; m
t=0; //用于记录出列顺序 while(t if(num[i]==0) k++; if(k==m) { t++; num[i]=t; k=0; } i++; if(i==n)i=0; //或者 i=i%n,构成循环 } for(i=0;i for(i=0;i printf(\ printf(\ 4、编程打印直角杨辉三角形前六行。 #include <> #include <> void main() { int i,j,a[6][6]; for(i=0;i<=5;i++) { a[i][i]=1; a[i][0]=1; } for(i=2;i<=5;i++) { for(j=1;j<=i-1;j++) { a[i][j]=a[i-1][j]+a[i-1][j-1]; } } for(i=0;i<=5;i++) { for(j=0;j<=i;j++) { printf(\ } printf(\ } } 5、编写程序,把下面的数据输入一个二维数组中。 25 12 75 56 然后执行以下操作: 36 78 13 26 88 93 18 22 32 44 36 58 ①输出矩阵两个对角线上的数; ②分别输出各行和各列的和; ③交换第一行和第三行的位置; ④交换第二列和第四列的位置; ⑤输出处理后的数组。 #include<> #define SIZE 4 void main() { int a[SIZE][SIZE]={{25,36,78,13},{12,26,88,93},{75,18,22,32},{56,44,36,58}}; int i,j,t,sum; //输出二维数组 printf(\二维数组:\\n\ for(i=0;i for(j=0;j printf(\ } printf(\ } printf(\ printf(\主对角线上的数:\ for(i=0;i printf(\ } printf(\ printf(\副对角线上的数:\ for(i=0;i printf(\ } printf(\ //各列的和 for(i=0;i { sum=0; for(j=0;j sum+=a[i][j]; } printf(\第%d行的和=%d\\n\ } printf(\ //各列的和 for(j=0;j sum=0; for(i=0;i sum+=a[i][j]; } printf(\第%d列的和=%d\\n\ } printf(\ //交换第一行和第三行的位置 for(j=0;j t=a[0][j];a[0][j]=a[2][j];a[2][j]=t; } //输出二维数组 printf(\交换第一行和第三行后的二维数组:\\n\ for(i=0;i for(j=0;j printf(\ } printf(\ } printf(\ //交换第二列和第四列的位置 for(i=0;i t=a[i][1];a[i][1]=a[i][3];a[i][3]=t; } //输出二维数组 printf(\交换第2列和第4列后的二维数组:\\n\ for(i=0;i for(j=0;j printf(\ } printf(\ } } 6、求一个5×5矩阵中的马鞍数,输出它的位置,所谓马鞍数是指在行上最小而在列上最大的数。如下矩阵: ?5 6 7 8 9???4 5 6 7 8???3 4 5 2 1???2 3 4 9 0???1 2 5 4 8??? 则1行1列上的数就是马鞍数。 #include <> void main() { int a[5][5]={{5,6,7,8,9},{4,5,6,7,8},{3,4,5,2,1},{2,3,4,9,0},{1,2,5,4,8}}; int i,j,col,row,Min,Max; for(i=0;i<5;i++) { Min=a[i][0];col=0; for(j=0;j<5;j++) { if(Min>a[i][j]) { Min=a[i][j]; col=j; } } Max=a[0][col];row=0; for(j=0;j<5;j++) { if(Max Max=a[j][col]; row=j; } } if(row==i) printf(\马鞍数是行%d,列%d 值:%d\\n\ } } 7、定义一个二维数组,存入5个学生的数学、语文、英语、物理、化学5门课程的成绩,计算并输出每一门课程的平均成绩和每一位学生的平均成绩。 #include <> #define N 5 //代表学生数 #define M 5 //代表课程数