沈阳工程学院 C语言程序设计实验报告
班 级 实验日期 学 号 姓 名 指导教师 实验地点 实验四:数组程序设计
【实验目的】
1. 熟练掌握使用一维数组编程的方法。
2. 熟练掌握使用字符数组处理字符串的方法。 3. 掌握用数组名作为函数参数的编程方法。
【实验内容】
? 改错题
1、输入一个以回车结束的字符串(少于80个字符),把字符串中的所有数字字符(0~9)转换为整数,去掉其他字符。例如,字符串“4a56bc”转换为整数后是456。
输入输出示例 Abc85xyz64 8564
源程序(有错误的程序) #include “stdio.h” #include “string.h” void main()
/****************** found ******************/ { int i,s;
char str[80];
gets(str);
for(i=0;i /****************** found *******************/ if(str[i]<=’0’||str[i]>=’9’) s=s*10+str[i]-48; printf(“%d”,s); } 2、输入1个正整数n(0 运行结果(改正后程序的运行结果) 请输入数据的个数n:5 请输入这5个整数:1 2 3 6 8 请输入要插入的整数:4 插入后:1 2 3 4 6 8 【提示:先找到插入点,从插入点开始,所有的数据顺序后移,然后插入数据。】 源程序(有错误的程序) #include “stdio.h” void main() /********************found********************/ 1 { int i,j,n,x,a[n]; printf(“请输入数据的个数n:”); scanf(“%d”,&n); printf(“请输入这%d个整数:”,n); for(i=0;i printf(“请输入要插入的整数:”); scanf(“%d”,&x); j=n; /*假设插在最后*/ for(i=0;i if(x for(i=n-1;i>=j;i--) /*从插入点开始,所有的数据顺序后移*/ /********************found*********************/ a[i] =a[i+1]; /********************found*********************/ a[i]=x; /*插入数据*/ printf(“插入后:”); for(i=0;i putchar(‘\\n’); } ? 编程题 1、输入1个正整数n(1 输入输出示例 请输入数据个数n值:5 请输入这5个数:4 6 2 9 8 处理后的结果是:2 6 4 8 9 2 2、输入一组整数(数据个数在1~10之间),输出该组数据的和。要求定义并调用函数sum(int a[],int n)实现求数组a中n 个元素的和,并返回求得的结果。 输入输出示例(运行2次) 第一次运行: 请输入数据个数n(1≤n≤10):5 请输入这5个数:3 5 2 9 6 这些数的和是:25 第二次运行: 请输入数据个数n(1≤n≤10):3 请输入这3个数:6 7 8 这些数的和是:21 需要完善的源程序如下: #include “stdio.h” int sum(int a[],int n) { } void main() { int i,a[10],n,x,t; printf(“请输入数据个数n(1≤n≤10):”); scanf(“%d”,&n); printf(“请输入这%d个数:”,n); for(i=0;i printf(“这些数的和是:%d\\n”,t); } 3