仅供借鉴、仅供借鉴、仅供借鉴(整理了一下大一C语言每个章节的练习题、没得题目、只有程序了)
文章目录- 1 、实训名称
- 2 、实训目的及要求
- 3 、源代码及运行截图
- 4、小结
实训7:数组
2 、实训目的及要求实验目的:
1、熟练掌握一维数组,二维数组,字符数组的定义、赋值、输入、输出方法
2 、熟练掌握一维数组,二维数组,字符数组的使用
3 、通过上机实践掌握与数组有关的算法
【6-6】
(1)
#includeint main (){ int i=0, j,a[10],temp; printf("请输入十个整数:n"); for(int i=0;i<10;i++){ scanf("%d ",&a[i]);//从键盘获取整数 } //冒泡排序 for(int i=0;i<9;i++){ for(int j=0;j<10-i;j++){ if(a[j]>a[j+1]) { temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } } } for(int i=0;i<10;i++){ printf("%dn",a[i]); } return 0; }
(2)、
#includeint main (){ int a1,b2,c3,d4,e5,f6,g7,h8,i9,g10,k11,l12,sum=0; a1=4;//一月 printf("1月的产量:%dn",a1); b2=(a1-1)*2; printf("2月的产量:%dn",b2); c3= (b2-1)*2; printf("3月的产量:%dn",c3); d4=(c3-1)*2; printf("4月的产量:%dn",d4); e5= (d4-1)*2; printf("5月的产量:%dn",e5); f6=(e5-1)*2; printf("6月的产量:%dn",f6); g7= (f6-1)*2; printf("7月的产量:%dn",g7); h8=(g7-1)*2; printf("8月的产量:%dn",h8); i9=(h8-1)*2; printf("9月的产量:%dn",i9); g10=(i9-1)*2; printf("10月的产量:%dn",g10); k11=(g10-1)*2; printf("11月的产量:%dn",k11); l12=(k11-1)*2; printf("12月的产量:%dn",l12); sum=a1+b2+c3+d4+e5+f6+g7+h8+i9+g10+k11+l12; printf("总的产量:%dn",sum); return 0; }
(4)、
#define N 50 #includeint main (){ int i,n ,a,count; for(n=1;n (5)、
#includeint main (){ int i,j, b; int sum=0,f[3][4]; //键盘输入二维数组 for(i=0;i<3;i++){ printf("请输入四个数据:n"); for(j=0;j<4;j++){ scanf("%d",&f[i][j]); printf("n"); } } for(i=0;i<3;i++){ sum+=f[i][1]; } printf("第二列的和是%d",sum); return 0; } (6)、
#includeint main (){ int i,j, b; int sum=0,sum1=0,sum2=0,sum3=0,sum4=0,f[4][5]; //键盘输入二维数组 for(i=0;i<4;i++){ printf("第%d行五个元素:n",i+1); for(j=0;j<5;j++){ scanf("%d",&f[i][j]); } } for(j=0;j<5;j++){ sum1=sum1+f[0][j]; } printf("第一行和:%dn",sum1); for(j=0;j<5;j++){ sum2+=f[3][j]; } printf("第四行和:%dn",sum2); for(i=1;i<3;i++){ sum3+=f[i][0]; } printf("第一列和:%dn",sum3); for(i=1;i<3;i++){ sum4+=f[i][4]; } printf("第五列和:%dn",sum4); sum=sum1+sum2+sum3+sum4; printf("边和是%d",sum); return 0; } (7)、
#includeint main (){ int t,i,j; int f[3][4]; int a,b,max; //键盘输入二维数组 for(i=0;i<3;i++){ printf("第%d行四个元素:n",i+1); for(j=0;j<4;j++){ scanf("%d",&f[i][j]); } } printf("n"); max=f[0][0]; for(i=0;i<3;i++){ for(j=0;j<4;j++){ printf("%3d",f[i][j]); if(f[i][j]>max){ max=f[i][j]; a=i; b=j; } }printf("n"); } printf("%d,%dn",a,b); printf("输出数组的最大值:%dn",max); return 0; } (8)、
#include4、小结int main (){ int t,i,j; int a[3][3]; int b[3][3]; //键盘输入二维数组 for(i=0;i<3;i++){ printf("第%d行三个元素:n",i+1); for(j=0;j<3;j++){ scanf("%d",&a[i][j]); } } printf("数组a:n"); for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%-4d",a[i][j]); } printf("n"); } printf("n"); printf("n"); for(i=0;i<3;i++){ printf("第%d行三个元素:n",i+1); for(j=0;j<3;j++){ scanf("%d",&b[i][j]); } } printf("数组b:n"); for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%-4d",b[i][j]); } printf("n"); } printf("数组a和数组b相加后的结果在数组c中的显示n"); for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%-4d",a[i][j]+b[i][j]); } printf("n"); } return 0; } 通过本次练习我能够较为熟练的掌握数组的构造和一些简单的运用,一维数组的实现较为简单、二维数组相对较为复杂。在动态的输出二维数组的时候需要使用两层循环对数组赋值。二维数组的输出和输入主要涉及两层for循环以此将数组中的每一行每一列的数值输出输入。利用数组可以实现简单的排序方法,冒泡排序的原理就是通过两层循环将相邻的两个数互换位置,不断对比最终实现一个有顺序的数表。



