5.模拟菜单功能。
等待用户键入H或B或E(exit)。键入H时,输出“hello”;键入B时,输出“BYE BYE”;键入E时,退出程序。(注意程序只有当用户键入E时,才退出) 自己编写的源程序: #include\main() { char ch; do { printf(\ scanf(\ switch(ch) { case 'H':printf(\ case 'B':printf(\ } }while(ch!='E'); } 21
实验六 一维数组的应用
● 实验目的
1. 使用一维数组进行程序设计,体会数组与单个变量在使用上的异同; 2. 掌握数组元素排序的一般方法;
● 实验步骤
进入编程环境;
按照题目要求编写程序,自行调试使程序可以正确运行,按照实验指导教师的要求检查。
● 实验内容
1. 程序改错。
# include
int a[3]={1}; int i;
for(i=0;i<3;i++)
scanf (“%d”, &a[i] );
for ( i=1; i<3; i++) a[0]=a[0]+a[i];
printf (“a[0]=%d\\n”, a[0]); }
2.求一个整型一维数组中的最大值和最小值。 自己编写的源程序: #include\main() { int a[10],max,min,i; for(i=0;i<10;i++) scanf(\max=a[0];min=a[0]; for(i=0;i<10;i++) {if(a[i]>max)max=a[i]; if(a[i] 3.任意输入一组整数,存入一个一维数组中,用冒泡法排序后,存放在原数组中,输出排序后的数组。 自己编写的源程序: #include”stdio.h” main() { int a[10],i,j,m; for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i<10;i++) for(j=0;j<9;j++) { if(a[j]>a[j+1]){m=a[j];a[j]=a[j+1];a[j+1]=m;} } for(i=0;i<10;i++) printf(“%d”,a[i]); } 4.随意输入字符串数组,调整其位置,使字母、符号、数字分别存放在一起,输出调整后的数组。 23 自己编写的源程序: #include”stdio.h” main() { char ch[10],ch2[10],ch0; int i,j=0,k=9; for(i=0;i<10;i++) scanf(“%c”,&ch[i]); while(n) { if((ch[i]>='A'&&ch[i]<='Z')||(ch[i]>='a'&&ch[i]<='z')){m=ch[i];ch[j]=ch[i];j++;} if(ch[i]>='0'&&ch[i]<=[9]){n=ch[i];ch[k]=ch[i];k--} } 5.从键盘输入n个实数(n从键盘输入)将其存放到一个一维数组,按降序排列数组元素后,从键盘读入一个待插入的实数,将其插入到数组中合适的位置。 例如:输入n=4,原数组为: 5 4 3 1 插入:2.1 插入后的数组为:5 4 3 2.1 1 自己编写的源程序: #include\main() { float a[20],m,in; int i,j,N; printf(\scanf(\printf(\for(i=0;i 实验七 多维数组的应用 ● 实验目的 使用多维数组进行程序设计,学习使用数组进行较为复杂的应用 进入编程环境; 按照题目要求编写程序,自行调试使程序可以正确运行,按照实验指导教师的要求检查。 ● 实验步骤 ● 实验内容 1. 现有数组a[10]和b[10],数组a中的元素从键盘存入,计算数组a中相邻两元素的平均值,并放于数组b中,且以每行三个元素的格式输出b数组。请改正下列程序中的错误,以便得到正确的结果。 输入数组a中数据格式为: 1 6 2 7 3 8 4 9 5 10 输出数组b中元素为: 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 程序: main() { int a[10],b[10]; int i; for(i=0;i<5;i++) scanf(“%d,%d”,a[i],a[i+5]); for(i=0;i<10;i++) b[i]=(a[i]+a[i+1])/2; for(i=0;i<9;i++) if(i%3==0) printf(“\\n”); printf(“%f”,&b[i]); } 2. 从键盘输入任意10个数存放在一个数组中(不包括0),然后从键盘不断读入一个数,在数组中查找并删除该元素,查找不到则输出提示信息,找到则删除改元素。要求每删除一次,即按顺序输出数组剩下的元素。输入0的时候停止。 例如: 25