欢迎来到天天文库
浏览记录
ID:10700346
大小:20.50 KB
页数:3页
时间:2018-07-07
《c语言实验习题实验六一维数组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验六一维数组【目的与要求】1.掌握一维数组的定义、赋值和输入输出的方法;2.掌握字符数组的使用;3.掌握与数组有关的算法(例如排序算法)。【上机内容】【一般示例】【例1】在键盘上输入N个整数,试编制程序使该数组中的数按照从大到小的次序排列。分析:C中数组长度必须是确定大小,即指定N的值。排序的方法有多种,我们取出其中两种作为参考。方法一:起泡排序从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比较后,最大的数已放在最后,第二遍只需考虑(N-1)个数,以此类推直到第(N-1)遍比
2、较后就可以完成排序。源程序如下:#defineN10#include"stdio.h"main(){inta[N],i,j,temp;printf("pleaseinput%dnumbers",N);for(i=0;ia[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}printf("thearrayaftersort:");for(i=0;i3、rintf("%5d",a[i]);}方法二:选择排序首先找出值最小的数,然后把这个数与第一个数交换,这样值最小的数就放到了第一个位置;然后,在从剩下的数中找值最小的,把它和第二个数互换,使得第二小的数放在第二个位置上。以此类推,直到所有的值从小到大的顺序排列为止。#include"stdio.h"#defineN10main(){inta[N],i,j,r,temp;printf("pleaseinput%dnumbers",N);for(i=0;i4、=i;for(j=i+1;j5、的数的平均分,其中排序部分这里用选择法实现。main(){inti,j,min;floattemp,ave=0;floata[11];printf("输入评委所打的分数:");for(i=1;i<=10;i++)scanf("%f",&a[i]);for(i=1;i<=9;i++){min=i;for(j=i+1;j<=10;j++)if(a[min]>a[j])min=j;temp=a[i];a[i]=a[min];a[min]=temp;}for(i=2;i<=9;i++)/*注意i值的变化范围*/ave=ave+a[i];prin6、tf("选手所得最后分数:%6.1f",ave/8);printf("");}【例3】输入一串字符,计算其中空格的个数。#includemain(){charc[30];inti,sum=0;gets(c);for(i=0;i7、6,8。3.有15个数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“无此数”。4.编一程序,将两个字符串连接起来,不要用strcat函数。
3、rintf("%5d",a[i]);}方法二:选择排序首先找出值最小的数,然后把这个数与第一个数交换,这样值最小的数就放到了第一个位置;然后,在从剩下的数中找值最小的,把它和第二个数互换,使得第二小的数放在第二个位置上。以此类推,直到所有的值从小到大的顺序排列为止。#include"stdio.h"#defineN10main(){inta[N],i,j,r,temp;printf("pleaseinput%dnumbers",N);for(i=0;i4、=i;for(j=i+1;j5、的数的平均分,其中排序部分这里用选择法实现。main(){inti,j,min;floattemp,ave=0;floata[11];printf("输入评委所打的分数:");for(i=1;i<=10;i++)scanf("%f",&a[i]);for(i=1;i<=9;i++){min=i;for(j=i+1;j<=10;j++)if(a[min]>a[j])min=j;temp=a[i];a[i]=a[min];a[min]=temp;}for(i=2;i<=9;i++)/*注意i值的变化范围*/ave=ave+a[i];prin6、tf("选手所得最后分数:%6.1f",ave/8);printf("");}【例3】输入一串字符,计算其中空格的个数。#includemain(){charc[30];inti,sum=0;gets(c);for(i=0;i7、6,8。3.有15个数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“无此数”。4.编一程序,将两个字符串连接起来,不要用strcat函数。
4、=i;for(j=i+1;j5、的数的平均分,其中排序部分这里用选择法实现。main(){inti,j,min;floattemp,ave=0;floata[11];printf("输入评委所打的分数:");for(i=1;i<=10;i++)scanf("%f",&a[i]);for(i=1;i<=9;i++){min=i;for(j=i+1;j<=10;j++)if(a[min]>a[j])min=j;temp=a[i];a[i]=a[min];a[min]=temp;}for(i=2;i<=9;i++)/*注意i值的变化范围*/ave=ave+a[i];prin6、tf("选手所得最后分数:%6.1f",ave/8);printf("");}【例3】输入一串字符,计算其中空格的个数。#includemain(){charc[30];inti,sum=0;gets(c);for(i=0;i7、6,8。3.有15个数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“无此数”。4.编一程序,将两个字符串连接起来,不要用strcat函数。
5、的数的平均分,其中排序部分这里用选择法实现。main(){inti,j,min;floattemp,ave=0;floata[11];printf("输入评委所打的分数:");for(i=1;i<=10;i++)scanf("%f",&a[i]);for(i=1;i<=9;i++){min=i;for(j=i+1;j<=10;j++)if(a[min]>a[j])min=j;temp=a[i];a[i]=a[min];a[min]=temp;}for(i=2;i<=9;i++)/*注意i值的变化范围*/ave=ave+a[i];prin
6、tf("选手所得最后分数:%6.1f",ave/8);printf("");}【例3】输入一串字符,计算其中空格的个数。#includemain(){charc[30];inti,sum=0;gets(c);for(i=0;i7、6,8。3.有15个数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“无此数”。4.编一程序,将两个字符串连接起来,不要用strcat函数。
7、6,8。3.有15个数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“无此数”。4.编一程序,将两个字符串连接起来,不要用strcat函数。
此文档下载收益归作者所有