C语言实验2同名11372.docx
《C语言实验2同名11372.docx》由会员分享,可在线阅读,更多相关《C语言实验2同名11372.docx(11页珍藏版)》请在冰点文库上搜索。
C语言实验2同名11372
C语言实验2(同名11372)
实验2的内容和要求
1.同学们在上机的时候,请选择开机菜单中的“Internet”项进入系统。
2.在实验过程中,你编写的程序不要存放在桌面或者C盘,要存在D盘上。
实验要求
✧实验2上传格式要求:
✧实验做完之后,会有7个文件:
test2-1.c,test2-2.c,test2-3.c,test2-4.c,test2-5.c,test2-6.c和实验内容及其调试成功的程序贴进去生成的:
实验2.doc,将这7个文件压缩为:
学号-姓名.rar;
✧实验2上传时间要求:
✧实验2提交截至时间:
✧机械和梁希班2015.12.6,22:
00之前。
✧车辆和自动化2015.12.13,22:
00之前
✧实验2上传地址要求:
✧
✧ftp:
//211.71.149.21蔡娟/课程作业文件夹下的/C语言/homework中各班文件夹中的实验2文件夹中。
实验2的内容
第1题
1.编写一段程序,程序名称命名为test2-1.c,完成如下任务:
歌手大奖赛上有10个评委(放在一个数组中)打分,请你设计一个通用程序,该程序可以实现显示每位歌手的成绩、最高分、最低分;还能显示高于平均值的评委号码及其打分的分值;能显示出给最高分的评委的号码,及给最低分的评委的号码。
例如,图1(假设有6位评委打分)的一次运行结果实例(显示的内容仅供参考):
#include
intmain()
{
charz;
inti,p=0;
floata[10],max,min,average,sum=0,m,b[10],c[10],t,x;
do{
for(i=0;i<10;i++)
printf("Pleaseinputascore:
");
scanf("%f",&a[i]);
printf("\n");
}
sum+=a[i];
average=sum/10;
printf("Theaverage:
%f\n",average);
m=a[0];
for(i=0;i<=9;i++)
if(mm=a[i];}printf("Themax:%f\n",m);m=a[0];for(i=0;i<=9;i++){if(m>a[i])m=a[i];}printf("Themin:%f\n",m);for(i=0;i<=9;i++){if(a[i]>average)printf("%d,%f\n",i+1,a[i]);}for(i=0;i<=9;i++)b[i]=a[i];p=0;for(i=1;i<10;i++)if(b[p]p=i;if(p!=0){t=b[0];b[0]=a[p];b[p]=t;}printf("max:%d,%f\n",p+1,b[0]);for(i=0;i<=9;i++)c[i]=a[i];p=0;for(i=1;i<10;i++)if(c[p]>c[i])p=i;if(p!=0){t=c[0];c[0]=c[p];c[p]=t;}printf("min:%d,%f\n\n",p+1,c[0]);printf("Nextsinger?:");getchar();scanf("%c",&z);}while(z=='y'||z=='Y');return0;}第2题2.编写一段程序,程序名称命名为test2-2.c,完成如下任务:编程实现从键盘输入8个整数存放在一个数组中,由程序自动完成将数组的数据排序后,先从大到小显示,再从小到大显示。(并且要求排序方法分别使用选择法和冒泡法)一次运行结果实例(显示的内容仅供参考):#includeintmain(){inti,a[8],j,k,m,t;for(i=0;i<8;i++)scanf("%d",&a[i]);for(i=0;i<8;i++)printf("%6d",a[i]);printf("\n");printf("Thesortednumber:\n");for(j=0;j<8;j++)for(k=0;k<=6-j;k++)if(a[k]{m=a[k];a[k]=a[k+1];a[k+1]=m;}for(j=0;j<8;j++)printf("%6d",a[j]);printf("\n");for(i=0;i<7;i++){m=i;for(j=i+1;j<=7;j++)if(a[m]>a[j])m=j;if(m!=i){t=a[i];a[i]=a[m];a[m]=t;}}for(i=0;i<=7;i++)printf("%6d",a[i]);printf("\n");return0;}第3题3.编写一段程序,程序名称命名为test2-3.c,完成如下任务:应用数组并利用筛选法求出100之内的素数。#includeintmain(){inta[100],i,m;for(i=0;i<100;i++)a[i]=i+1;for(i=1;i<100;i++){for(m=2;m<=a[i]-1;m++)if(a[i]%m==0)break;if(a[i]==m)printf("%4d",a[i]);}return0;}第4题(难)4.编写一段程序,程序名称命名为test2-4.c,完成如下任务:有一个已经按从小到大排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。#includeintmain(){inti,c;floatt,m,a[20],b;for(i=1;i<20;i++)a[i]=i+1;printf("请输入要插入数组中的一个数\n");scanf("%f",&b);a[0]=b;c=0;for(i=1;i<20;i++)if(a[c]>a[i]){m=i;i=c;c=m;t=a[c];a[c]=a[i];a[i]=t;}for(i=0;i<20;i++)printf("%20f",a[i]);return0;}第5题5.编写一段程序,程序名称命名为test2-5.c,完成如下任务:定义一个3行3列的二维数组,类型为整型,其中的内容为987123456(1)请在定义数组的时候给数组初始化,并且输出二维数组,其中数组元素的格式为“%2d”。(2)输出二维数组对角线元素之和;(3)输出二维数组中最小的那个元素的值,输出的格式为:数组中值最小的元素为:数组名[行号][列号]=元素值(4)要求在程序中适当的位置给出提示性的输出语句。#includeintmain(){inta[3][3]={{9,8,7},{1,2,3},{4,5,6}},b,c,sum=0,sum2=0,d,e,t;printf("输出的二维数组如下\n");for(b=0;b<=2;b++)for(c=0;c<=2;c++){printf("%2d",a[b][c]);if(c==2)printf("\n");}printf("\n");for(b=0;b<=2;b++)sum+=a[b][b];for(b=0;b<=2;b++)sum2+=a[b][2-b];printf("对角线元素之和分别为%d、%d",sum,sum2);printf("\n");printf("\n");printf("二维数组中最小的那个元素的值如下\n");t=a[0][0];for(b=0;b<=2;b++)for(c=0;c<=2;c++){if(a[b][c]{t=a[b][c];d=b;e=c;}}printf("a[%d][%d]=%d",d,e,t);return0;} 第6题6.编写一段程序,程序名称命名为test2-6.c,实现如下任务:编写一个程序,输入一个字符串,求出该字符串的长度,要求不能利用库函数strlen函数。#includeintmain(){charc;inti;printf("请输入字符,以回车结束:\n");i=0;while(c=getchar()!='\n')i++;printf("\n");printf("你已经输入了%d个字符\n",i);return0;}
m=a[i];
printf("Themax:
%f\n",m);
if(m>a[i])
printf("Themin:
if(a[i]>average)
printf("%d,%f\n",i+1,a[i]);
b[i]=a[i];
p=0;
for(i=1;i<10;i++)
if(b[p]
p=i;
if(p!
=0)
t=b[0];
b[0]=a[p];
b[p]=t;
printf("max:
%d,%f\n",p+1,b[0]);
c[i]=a[i];
if(c[p]>c[i])
t=c[0];
c[0]=c[p];
c[p]=t;
printf("min:
%d,%f\n\n",p+1,c[0]);
printf("Nextsinger?
:
getchar();
scanf("%c",&z);
while(z=='y'||z=='Y');
return0;
第2题
2.编写一段程序,程序名称命名为test2-2.c,完成如下任务:
编程实现从键盘输入8个整数存放在一个数组中,由程序自动完成将数组的数据排序后,先从大到小显示,再从小到大显示。
(并且要求排序方法分别使用选择法和冒泡法)
一次运行结果实例(显示的内容仅供参考):
inti,a[8],j,k,m,t;
for(i=0;i<8;i++)
scanf("%d",&a[i]);
printf("%6d",a[i]);
printf("Thesortednumber:
\n");
for(j=0;j<8;j++)
for(k=0;k<=6-j;k++)
if(a[k]{m=a[k];a[k]=a[k+1];a[k+1]=m;}for(j=0;j<8;j++)printf("%6d",a[j]);printf("\n");for(i=0;i<7;i++){m=i;for(j=i+1;j<=7;j++)if(a[m]>a[j])m=j;if(m!=i){t=a[i];a[i]=a[m];a[m]=t;}}for(i=0;i<=7;i++)printf("%6d",a[i]);printf("\n");return0;}第3题3.编写一段程序,程序名称命名为test2-3.c,完成如下任务:应用数组并利用筛选法求出100之内的素数。#includeintmain(){inta[100],i,m;for(i=0;i<100;i++)a[i]=i+1;for(i=1;i<100;i++){for(m=2;m<=a[i]-1;m++)if(a[i]%m==0)break;if(a[i]==m)printf("%4d",a[i]);}return0;}第4题(难)4.编写一段程序,程序名称命名为test2-4.c,完成如下任务:有一个已经按从小到大排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。#includeintmain(){inti,c;floatt,m,a[20],b;for(i=1;i<20;i++)a[i]=i+1;printf("请输入要插入数组中的一个数\n");scanf("%f",&b);a[0]=b;c=0;for(i=1;i<20;i++)if(a[c]>a[i]){m=i;i=c;c=m;t=a[c];a[c]=a[i];a[i]=t;}for(i=0;i<20;i++)printf("%20f",a[i]);return0;}第5题5.编写一段程序,程序名称命名为test2-5.c,完成如下任务:定义一个3行3列的二维数组,类型为整型,其中的内容为987123456(1)请在定义数组的时候给数组初始化,并且输出二维数组,其中数组元素的格式为“%2d”。(2)输出二维数组对角线元素之和;(3)输出二维数组中最小的那个元素的值,输出的格式为:数组中值最小的元素为:数组名[行号][列号]=元素值(4)要求在程序中适当的位置给出提示性的输出语句。#includeintmain(){inta[3][3]={{9,8,7},{1,2,3},{4,5,6}},b,c,sum=0,sum2=0,d,e,t;printf("输出的二维数组如下\n");for(b=0;b<=2;b++)for(c=0;c<=2;c++){printf("%2d",a[b][c]);if(c==2)printf("\n");}printf("\n");for(b=0;b<=2;b++)sum+=a[b][b];for(b=0;b<=2;b++)sum2+=a[b][2-b];printf("对角线元素之和分别为%d、%d",sum,sum2);printf("\n");printf("\n");printf("二维数组中最小的那个元素的值如下\n");t=a[0][0];for(b=0;b<=2;b++)for(c=0;c<=2;c++){if(a[b][c]{t=a[b][c];d=b;e=c;}}printf("a[%d][%d]=%d",d,e,t);return0;} 第6题6.编写一段程序,程序名称命名为test2-6.c,实现如下任务:编写一个程序,输入一个字符串,求出该字符串的长度,要求不能利用库函数strlen函数。#includeintmain(){charc;inti;printf("请输入字符,以回车结束:\n");i=0;while(c=getchar()!='\n')i++;printf("\n");printf("你已经输入了%d个字符\n",i);return0;}
m=a[k];
a[k]=a[k+1];
a[k+1]=m;
printf("%6d",a[j]);
for(i=0;i<7;i++)
m=i;
for(j=i+1;j<=7;j++)
if(a[m]>a[j])
m=j;
if(m!
=i)
t=a[i];
a[i]=a[m];
a[m]=t;}
for(i=0;i<=7;i++)
第3题
3.编写一段程序,程序名称命名为test2-3.c,完成如下任务:
应用数组并利用筛选法求出100之内的素数。
inta[100],i,m;
for(i=0;i<100;i++)
a[i]=i+1;
for(i=1;i<100;i++)
for(m=2;m<=a[i]-1;m++)
if(a[i]%m==0)
break;
if(a[i]==m)
printf("%4d",a[i]);
第4题(难)
4.编写一段程序,程序名称命名为test2-4.c,完成如下任务:
有一个已经按从小到大排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
inti,c;
floatt,m,a[20],b;
for(i=1;i<20;i++)
printf("请输入要插入数组中的一个数\n");
scanf("%f",&b);
a[0]=b;
c=0;
if(a[c]>a[i])
i=c;
c=m;
t=a[c];
a[c]=a[i];
a[i]=t;
for(i=0;i<20;i++)
printf("%20f",a[i]);
第5题
5.编写一段程序,程序名称命名为test2-5.c,完成如下任务:
定义一个3行3列的二维数组,类型为整型,其中的内容为
987
123
456
(1)请在定义数组的时候给数组初始化,并且输出二维数组,其中数组元素的格式为“%2d”。
(2)输出二维数组对角线元素之和;
(3)输出二维数组中最小的那个元素的值,输出的格式为:
数组中值最小的元素为:
数组名[行号][列号]=元素值
(4)要求在程序中适当的位置给出提示性的输出语句。
inta[3][3]={{9,8,7},{1,2,3},{4,5,6}},b,c,sum=0,sum2=0,d,e,t;
printf("输出的二维数组如下\n");
for(b=0;b<=2;b++)
for(c=0;c<=2;c++)
printf("%2d",a[b][c]);
if(c==2)
sum+=a[b][b];
sum2+=a[b][2-b];
printf("对角线元素之和分别为%d、%d",sum,sum2);
printf("二维数组中最小的那个元素的值如下\n");
t=a[0][0];
if(a[b][c]{t=a[b][c];d=b;e=c;}}printf("a[%d][%d]=%d",d,e,t);return0;} 第6题6.编写一段程序,程序名称命名为test2-6.c,实现如下任务:编写一个程序,输入一个字符串,求出该字符串的长度,要求不能利用库函数strlen函数。#includeintmain(){charc;inti;printf("请输入字符,以回车结束:\n");i=0;while(c=getchar()!='\n')i++;printf("\n");printf("你已经输入了%d个字符\n",i);return0;}
t=a[b][c];
d=b;
e=c;
printf("a[%d][%d]=%d",d,e,t);
第6题
6.编写一段程序,程序名称命名为test2-6.c,实现如下任务:
编写一个程序,输入一个字符串,求出该字符串的长度,要求不能利用库函数strlen函数。
charc;
inti;
printf("请输入字符,以回车结束:
i=0;
while(c=getchar()!
='\n')
i++;
printf("你已经输入了%d个字符\n",i);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2