C语言实验报告数组.docx
- 文档编号:26363674
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:13
- 大小:239.40KB
C语言实验报告数组.docx
《C语言实验报告数组.docx》由会员分享,可在线阅读,更多相关《C语言实验报告数组.docx(13页珍藏版)》请在冰豆网上搜索。
C语言实验报告数组
实验4数组
姓名:
学号:
实验日期:
1.实验目的和要求
(1)掌握一维数组与二维数组的定义、使用及初始化方法。
(2)学习数组作为函数参数的用法。
(3)掌握字符数组和字符串函数的使用方法。
(4)掌握与数组有关的常用排序算法,进一步理解模块化程序设计的方法。
(5)掌握字符、字符串的输入/输出方法。
(6)掌握字符数组的使用。
(7)学会使用字符串的指针和指向字符串的指针变量。
2.实验内容:
实验指导书中的实验六、实验七
3.实验步骤
实验六数组部分:
6-1:
我使用的算法:
定义一个数组s[i],用s[1]~s[5]代表5个等级,然后采用循环将20个评价分别对数组进行累加,即可得出结果
程序的运行测试结果如下图所示(考虑各种情况下的运行结果):
#include
voidmain()
{
ints[6];
inti,n;
for(i=1;i<=5;++i)
s[i]=0;
printf("请输入数据:
\n");
for(i=1;i<=20;++i)
{
scanf("%d",&n);
if(!
n)break;
++s[n];
}
printf("\n\n评价结果是:
\n");
for(i=1;i<=5;++i)
printf("%4d%d\n",i,s[i]);
}
6-2:
该程序的功能是:
将数组xx(有n个元素)的前k(k 程序运行结果如下图所示: #include #include voidmain() { intn,k,xx[20]; inti,j,t; printf("\nPleaseenteranumber: "); scanf("%d",&n); printf("\nPleaseenter%dnumbers: ",n); for(i=0;i scanf("%d",&xx[i]); printf("\nPleaseenteranothernumber: "); scanf("%d",&k); for(i=0;i { t=xx[0]; for(j=1;j xx[j-1]=xx[j]; xx[n-1]=t; } printf("\nAftermoving: \n"); for(i=0;i printf("%3d",xx[i]); printf("\n"); } 6-3: 该程序的功能是: 对数组a中n种商品价格进行统计,并将各个价格段的商品个数存入对应数组b中 程序运行结果如下图所示: 6-4.: 我使用的算法为: 先对10个数进行排序输出,再输入一个数,再与之前排序后的数进行比较,并插入其中 程序运行结果如下图所示: #include intmain() { inta[10],b[11],i,j,t,k; printf("请输入10个整数: \n"); 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]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } for(i=0;i<10;i++) { printf("%-5d",a[i]); } printf("\n"); for(i=0;i<11;i++) { b[i]=a[i]; } printf("请输入一个整数k: \n"); scanf("%d",&k); b[10]=k; for(i=0;i<11;i++) { for(j=0;j<10;j++) if(a[j]>b[j+1]) { t=b[j]; b[j]=b[j+1]; b[j+1]=t; } } printf("\n新数列是: \n"); for(i=0;i<11;i++) { printf("%-5d",b[i]); } printf("\n"); return0; } 6-5: 我使用的算法为: 比较数组s与数组str元素是否相同,相同则n+1,最后输出 程序运行结果如下图所示: main() { charstr[20],s; inti,n=0; printf("请输入字符串: \n"); gets(str); printf("输入需要统计的字符串s: \n"); s=getchar(); for(i=0;i<=20;i++) if(str[i]==s) n++; printf("%d\n",n-1); } 6-6(选作): 我使用的算法为: 请用文字描述一下 程序运行结果如下图所示: 6-7(选作): 我使用的算法为: 请用文字描述一下 程序运行结果如下图所示: 7-1该程序的功能是: 程序运行结果如下图所示: voidmain() { chara[40],b[40]; inti,j; printf("Enterthestring: "); scanf("%s",a); i=j=0; while(a[i]! ='\0') { if(! (a[i]>='0'&&a[i]<='9')) { b[j]=a[i];j++; } ++i; } b[j]='\n'; printf("%s",b); } 7-2: 我使用的算法为: 请用文字描述一下 程序运行结果如下图所示: main() { chara[20],b[20]; inti,j; printf("请输入一个字符串: \n"); gets(a); printf("请输入另一个字符串: \n"); gets(b); for(i=0;i<20;i++) { if(a[i]==0) break; } for(j=0;j<20;j++) { if(b[j]! =0) { a[i]=b[j]; } if(b[j]==0) break; i++; } a[i]='\0'; printf("%s",a); } 7-3: 我使用的算法为: 请用文字描述一下 程序运行结果如下图所示: main() { chara[100]; intb[3],i; for(i=0;i<3;i++) b[i]=0; printf("请输入一个字符串: \n"); gets(a); for(i=0;i<100;i++) { if(a[i]>='a'&&a[i]<='z') b[0]++; elseif(a[i]>='0'&&a[i]<='9') b[1]++; elseb[2]++; if(a[i]==0) break; } printf("小写字符: %-5d数字: %-5d其他字符: %-5d",b[0],b[1],b[2]); } 7-4: 我使用的算法为: 请用文字描述一下 程序运行结果如下图所示: main() { chara[20],b; inti; printf("请输入一个字符串: \n"); gets(a); printf("请输入一个字符: \n"); scanf("%c",&b); for(i=0;i<20;i++) if(a[i]==b) printf("首次出现的位置是: %d\n",i+1); } 7-5: 我使用的算法为: 请用文字描述一下 程序运行结果如下图所示: main() { inti,j,k=0; chars[255]; while((s[k]=getchar())! ='@')k++; for(j=0;s[j]! ='@';j++) { if(s[j]<='Z'&&s[j]>='A') s[j]+=32; if(s[j]<='w'&&s[j]>='a') s[j]+=3; else if(s[j]=='x'||s[j]=='y'||s[j]=='z') s[j]-=23; } printf("译码后结果: "); for(i=0;s[i]! ='@';i++) printf("%c",s[i]); printf("\n"); getchar(); } 7-6: 我使用的算法为: 请用文字描述一下 程序运行结果如下图所示: main() { inti=0; charstr1[255],str2[255]; printf("请输入一个字符串: \n"); scanf("%s",str1); printf("请输入另一个字符串: \n"); scanf("%s",str2); while (1) { if(str1[i]==str2[i]) { i++; continue; } else break; } printf("%d\n",str1[i]-str2[i]); } 4实验小结 熟悉,基本掌握了数组的定义,使用以及字符串的输入,输出的方法;了解到在程序设计中用数组作为函数参数的用法;还学到了字符数组和字符串函数的基本使用方法。 通过多次的实验操作,我的操作能力有了很大的进步,课本知识得到了进一步巩固;但仍有许多地方不够熟练和掌握,还要继续努力学习
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 报告 数组