C语言------数组
仅供借鉴、仅供借鉴、仅供借鉴(整理了一下大一C语言每个章节的练习题、没得题目、只有程序了)
文章目录
1 、实训名称2 、实训目的及要求3 、源代码及运行截图4、小结
1 、实训名称
实训7:数组
2 、实训目的及要求
实验目的: 1、熟练掌握一维数组,二维数组,字符数组的定义、赋值、输入、输出方法 2 、熟练掌握一维数组,二维数组,字符数组的使用 3 、通过上机实践掌握与数组有关的算法
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("%d\n",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月的产量:%d\n",a1); b2=(a1-1)*2; printf("2月的产量:%d\n",b2); c3= (b2-1)*2; printf("3月的产量:%d\n",c3); d4=(c3-1)*2; printf("4月的产量:%d\n",d4); e5= (d4-1)*2; printf("5月的产量:%d\n",e5); f6=(e5-1)*2; printf("6月的产量:%d\n",f6); g7= (f6-1)*2; printf("7月的产量:%d\n",g7); h8=(g7-1)*2; printf("8月的产量:%d\n",h8); i9=(h8-1)*2; printf("9月的产量:%d\n",i9); g10=(i9-1)*2; printf("10月的产量:%d\n",g10); k11=(g10-1)*2; printf("11月的产量:%d\n",k11); l12=(k11-1)*2; printf("12月的产量:%d\n",l12); sum=a1+b2+c3+d4+e5+f6+g7+h8+i9+g10+k11+l12; printf("总的产量:%d\n",sum); return 0; }
(4)、
#define N 50#includeint main (){ int i,n ,a,count; for(n=1;n数据:%d\n",n); } } return 0; }
(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("第一行和:%d\n",sum1);for(j=0;j<5;j++){ sum2+=f[3][j];}printf("第四行和:%d\n",sum2);for(i=1;i<3;i++){ sum3+=f[i][0];}printf("第一列和:%d\n",sum3);for(i=1;i<3;i++){ sum4+=f[i][4];}printf("第五列和:%d\n",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,%d\n",a,b);printf("输出数组的最大值:%d\n",max); return 0; }
(8)、
#includeint 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; }
4、小结
通过本次练习我能够较为熟练的掌握数组的构造和一些简单的运用,一维数组的实现较为简单、二维数组相对较为复杂。在动态的输出二维数组的时候需要使用两层循环对数组赋值。二维数组的输出和输入主要涉及两层for循环以此将数组中的每一行每一列的数值输出输入。利用数组可以实现简单的排序方法,冒泡排序的原理就是通过两层循环将相邻的两个数互换位置,不断对比最终实现一个有顺序的数表。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~