湖北理工学院C语言实验四Word格式文档下载.docx
- 文档编号:19515026
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:17
- 大小:19.03KB
湖北理工学院C语言实验四Word格式文档下载.docx
《湖北理工学院C语言实验四Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《湖北理工学院C语言实验四Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
av+=a[i];
av=%f\n"
av);
解答:
(1)源代码:
{
inti,n,a[10];
floatavg;
n=10;
for(i=0;
n;
scanf("
&
a[i]);
{
printf("
%d"
a[i]);
if((i+1)%3==0)
);
}
avg=0;
avg+=a[i];
avg/=10;
avg=%f\n"
avg);
(2)运行结果:
(3)运行结果分析:
2.下面程序是输入5个数据,然后求它们的和并输出结果。
{inti,a[5],sum=0;
%d,%d,%d,%d,%d"
a);
for(i=0;
i<
=4;
i++)
sum+=a[i];
sum=%d\n"
sum);
该程序中有哪些错误?
如何修改?
写出正确运行后的结果。
voidmain()
{inti,a[5],sum=0;
%d%d%d%d%d"
a[0],&
a[1],&
a[2],&
a[3],&
a[4]);
=4;
sum+=a[i];
sum=%d\n"
sum);
(2)运行结果:
3.有一个3行4列的距阵,现要求编程求出其中最大的那个元素的值,以及它所在的行号与列号。
下面程序的初始说明和输出语句如下所示,请补充完成该程序。
{inti,j,row,colum,max;
staticinta[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
……
Max=%d,Row=%d,Colum=%d\n"
max,row,colum);
inti,j,row=0,colum=0,max;
inta[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
max=a[0][0];
=2;
for(j=0;
j<
=3;
j++)
if(a[i][j]>
max)
{
max=a[i][j];
row=i;
colum=j;
}
printf("
max=%d,row=%d,colum=%d\n"
max,row,colum);
4.数组中已存互不相同的10个整数,从键盘输入一个整数,输出与该值相同的数组元素下标。
{
inti,x,a[10]={1,2,3,4,5,6,7,8,9,10};
x);
for(i=0;
i<
10;
i++)
if(x==a[i])
{
i);
break;
}
if(i==10)
notfound\n"
5.编写程序,任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。
#defineSIZE20
请输入10个整数:
inta[SIZE];
intn=10,i,j,k,b;
scanf("
for(j=i+1;
if(a[i]<
a[j])
b=a[i];
a[i]=a[j];
a[j]=b;
排序后的数为:
printf("
%d"
请输入要插入的一个数:
intc;
c);
n=n+1;
n-1;
if(c>
=a[i])
for(j=n-1;
j>
i;
j--)
a[j]=a[j-1];
a[i]=c;
插入后的数组为:
for(k=0;
k<
k++)
{
a[k]);
return;
6.输入十个互不相同的整数并存在数组中,找出最大元素,并删除。
intmain()
inta[10];
inti,k;
k=0;
for(i=1;
if(a[k]<
a[i])
k=i;
for(i=k;
9;
a[i]=a[i+1];
%4d"
(1)运行结果:
(2)运行结果分析:
7.以下程序的功能是:
从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。
请填空:
{floatx[1000],sum=0.0,ave,a;
intn=0,i;
printf("
Entermark:
\n"
);
%f"
&
a);
while(a>
=0.0&
&
n<
1000)
{sum+=;
x[n]=;
n++;
ave=;
Output:
ave=%f\n"
ave);
for(i=0;
i++)
if()printf("
%f\n"
x[i]);
voidmain()
floatx[1000],sum=0.0,ave,a;
1000)
{
sum+=a;
x[n]=a;
n++;
}
ave=sum/n;
i++)
if(x[i]<
ave)
8.综合编程题:
打印如下杨辉三角形
1
11
121
1331
14641
15101051
voidmain()
inti,j,a[6][6];
6;
i++)
a[i][0]=1;
a[i][i]=1;
for(i=2;
for(j=1;
=i-1;
j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
=i;
%3d"
a[i][j]);
9.调试下列程序,使之具有如下功能:
任意输入两个字符串(如:
“abc123”和“china”),并存放在a,b两个数组中。
然后把较短的字符串放在a数组,较长的字符串放在b数组。
并输出。
string.h>
{chara[10],b[10];
intc,d,k,ch;
%s"
b);
a=%s,b=%s\n"
a,b);
c=strlen(a);
d=strlen(b);
d)
for(k=0;
d;
{ch=a[k];
a[k]=b[k];
b[k]=ch;
a=%s\n"
a);
b=%s\n"
b);
#include<
chara[100],b[100];
charstr1[100],str2[100];
%s%s"
str1,str2);
strcpy(a,strlen(str1)<
strlen(str2)?
str1:
str2);
strcpy(b,strlen(str1)>
a=%s\n"
b=%s\n"
10.阅读下面的程序,然后回答后面的问题:
{chars1[80],s2[40];
inti=0,j=0;
\nPleaseinputstring1:
"
s1);
\nPleaseinputstring2:
s2);
while(s1[i]!
='
\0'
)
i++;
while(s2[j]!
s1[i++]=s2[j++];
s1[i]='
;
\nNewstring:
%s"
编辑、运行该程序,然后分别输入 Country和side。
请问:
① 程序执行的结果是什么?
② 该程序的功能是什么?
(1)源代码:
11.填空完成下面程序,使其功能是对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。
例如:
输入的两个字符串分别为abcdefg和abceef,则输出为-1。
程序如下:
#include<
voidmain()
{charstr1[100],str2[100];
inti,s;
\nInputstring1:
gets(str1);
printf(“\nInputstring2:
\n”);
gets(str2);
i=
(1);
while((str1[i]==str2[i])&
(str1[i]!
=
(2)))
i++;
s=(3);
%d\n"
s);
\nInputstring2:
i++){
if(str1[i]==str2[i])
continue;
else
s=str1[i]-str2[i];
12.填空完成下面程序,使其的功能是统计从终端输入字符中每个大写字母的个数。
用#号作为输入结束标志。
ctype.h>
voidmain()
{intnum[26],i;
charc;
26;
i++)num[i]=0;
while(
(1)!
#'
)/*统计从终端输入的大写字母个数*/
if(isupper(c))num[c-65]
(2);
i++)/*输出大写字母和该字母的个数*/
if(num[i])printf("
%c:
i(3),num[i]);
intnum[26],i;
num[i]=0;
while((c=getchar())!
)
if(isupper(c))
num[c-65]+=1;
for(i=0;
if(num[i])
printf("
i+65,num[i]);
13.编写程序,输入若干个字符串,求出每个字符串的长度,并打印最长一个字符串的内容。
以“stop”作为输入的最后一个字符串。
{chara[50][100];
inti=0,max=0,k;
while(gets(a[i])&
strcmp(a[i],"
stop"
))
{i++;
if(strlen(a[i])>
{max=strlen(a[i]);
k=i;
}}
Thelongeststringis:
\n%s\n"
14.编写程序,输入字符串s1和s2以及插入位置f,在字符串s1中的指定位置f处插入字符串s2。
如:
输入"
BEIJING"
、"
123"
和位置3,则输出:
BEI123JING123"
。
conio.h>
char*insert(char*s1,char*s2,intf)
char*s3,*p1=s1,*p2=s2;
inti,j,k;
j=strlen(s2);
k=strlen(s1);
s3=newchar[j+k+f+1];
f;
i++,p1++)
s3[i]=*p1;
for(i=f;
f+j;
i++,p2++)
s3[i]=*p2;
for(i=f+j,p1=s1;
k+j+f;
s3[i]=*(p1+f);
s3[j+k+f]='
returns3;
}
chars1[20],s2[20],*p;
intf;
Input:
"
gets(s1);
Add:
gets(s2);
At:
f);
p=insert(s1,s2,f);
Theresultis:
p);
delete[]p;
getch();
三、结论(写本次实验的收获)
通过本次试验,我掌握一维数组和二维数组的定义、赋值和输入输出的方法,字符数组和字符串函数的使用和掌握与数组有关的算法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖北 理工学院 语言 实验