实验七 数组程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七数组程序设计(4学时)
一、实验方式:一人一机
二、实验目的:
1、掌握数组的定义、赋值和输入输出的方法。
2、学习用数组实现相关的算法(特别是排序算法)。
3、掌握C语言中字符数组和字符串处理函数的使用。
三、实验内容:
说明:前四题为必做题目,后两题为选做题目。
1、下列程序的功能是:输入10个整数,按每行3个数输出这些整数,最后
输出10个整数的平均值。程序中有几处错误,试找出它们后加以修改,并上机验证修改结果。
#include
void main( )
{ int i,n,a[10],avg;
for(i=0;i scanf(“%d”,a[i]); for(i=0;i { if(i%3==0) printf(“\n”); printf(“%d ”,a[i]); } for(i=0;i<10;i++) avg+=a[i]; printf(“\navg=%f\n”,avg); } 实验步骤与过程:#include void main( ) { int i,a[10]; float avg=0; printf("欢迎请输入10个整数:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) { if(i%3==0) printf("\n"); printf("%d ",a[i]); } for(i=0;i<10;i++) avg+=a[i];avg=avg/10; printf("\navg=%f\n",avg); } 实验调试记录:--------------------Configuration: 71ext - Win32 Debug-------------------- Compiling... 71ext.c Linking... 71ext.exe - 0 error(s), 0 warning(s) 参考答案: 2、写一个函数,对输入的10个整数按从小到大的顺序排序(升序,用冒泡 排序实现)。(实验指导书P147) 实验步骤与过程: /*ex7_1.cpp*/ #include void sort1(int s[],int n) { int i,j; int t; for(i=0;i<10;i++) for(j=0;j<10;j++) if(s[j] { t=s[j-1]; s[j-1]=s[j]; s[j]=t; } } void main() { int i,a[10]; printf("请输入10个整数:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); sort1(a,10); printf("排序后的输出为:\n"); for(i=0;i<10;i++) printf("%d",a[i]); } 实验调试记录:--------------------Configuration: 72ext - Win32 Debug-------------------- Compiling... 72ext.c Linking... 72ext.exe - 0 error(s), 0 warning(s) 参考答案: 3、编写程序,判断某一字符串是不是“回文数”,回文数是从左至右或从右 至左读起来都是一样的字符串。(实验指导书P153) 实验步骤与过程: #include #include int huiwen(char str[]) { int i,j,len,flag=1; len=strlen(str); for(i=0,j=len-1;i<=j;i++,j--); if(str[i]!=str[j]) { if(str[i]>128&&str[j]>128) { if(str[i]==str[i-1]&&str[i+1]==str[j]) { i++;j--; } else flag=0; } else flag=0; } return flag; } void main() { char str[50]; printf("请输入一字符串 "); gets(str); if(huiwen(str)) printf("该字符串是回文\n"); else printf("该字符串不是回文\n"); } 实验调试记录: --------------------Configuration: 2 - Win32 Debug-------------------- Compiling... 2.cpp Linking... 2.exe - 0 error(s), 0 warning(s) 参考答案: 4、输入一个3行3列矩阵的所有元素,然后求出主对角线元素之和。 实验步骤与过程:#include