教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> > 计算机软件及应用> C语言实验程序、总结 实验五 数组

C语言实验程序、总结 实验五 数组

上传者:罗琦
|
上传时间:2015-04-21
|
次下载

C语言实验程序、总结 实验五 数组

一 实验目的 实验五 数组

1 掌握一维数组和二维数组的定义、赋值和输入输出的方法;

2 掌握字符数组和字符串函数的使用;

3 掌握与数组有关的算法(特别是排序算法)

二 实验内容

1 程序功能:输入12个整数,按每行3个数输出,最后输出它们的平均值。 #include <stdio.h>

#define N 12

main()

{ int i,a[N],av;

for(i=0;i<N;i++) scanf("%d",a[i]);

for(i=0;i<N;i++)

{ printf("%d",a[i]);

if(i%3==0) printf("\n");

}

for(i=0;i<N;i++) av+=a[i];

printf("av=%f\N",av);

}

上面给出的程序有错误,请改正并运行,记录输出结果。

【提示】请注意输入提示、变量赋初值、循环结束条件、输出格式等问题。 修改正确的程序如下:

#include<stdio.h>

#define N 12

main()

{ int i,a[N],av=0;

for(i=0;i<N;i++) scanf("%d",&a[i]);

for(i=0;i<N;i++)

{ printf("%d",a[i]);

if((i+1)%3==0) printf("\n");

}

for(i=0;i<N;i++) av+=a[i];

printf("av=%d\n",av/N);

}

运行结果如下图:

内容需要下载文档才能查看

2 选择排序(升序):最常用的排序方法除了冒泡排序外,还有选择排序。

【算法】n个数的选择排序的算法:

⑴ 定义变量、输入n及数组a各元素

⑵ n个数排序要进行n-1遍

以下是一遍排序(第i遍)的方法:

① 设最小数的下标k=i,则最小数为a[k]

② 从下标j=i+1的元素起,到最后一个元素(j=n-1),将a[j]与最小数a[k]

比较,确定最小数的下标k

③ 交换a[i]与最小数a[k]

⑶ 输出已排序的n个数

请根据上面的算法编写选择排序程序,并编辑运行、记录输入输出数据。

3 编写程序,输出由1~N×N的整数组成的N阶方阵和它的上、下三角阵。例如,N=3时,输出:

1 2 3 1 2 3 1

4 5 6 5 6 4 5

7 8 9 9 7 8 9

N阶方阵 上三角阵 下三角阵

【提示】N阶方阵用二维数组表示,用二重循环输出:外循环控制输出多少行,内循环输出每行中的整数。输出上、下三角阵时注意内循环控制变量的取值。

程序如下:

#include<stdio.h>

main()

{

int n=3,i,j,a[10][10];

for(i=0;i<n;i++)

for(j=0;j<n;j++)

scanf("%d",&a[i][j]);

for(i=0;i<n;i++)

{

for(j=0;j<n;j++)

printf("%d ",a[i][j]);

printf("\n");

}

printf("\n");

for(i=0;i<n;i++)

{

for(j=0;j<=i;j++)

printf("%d ",a[i][j]);

printf("\n");

}

printf("\n");

for(i=0;i<n;i++)

{

for(j=0;j<n;j++)

if(j<i)printf(" ");

else printf("%d ",a[i][j]);

printf("\n");

}

}

输出结果如下图:

内容需要下载文档才能查看

4 按照下面算法编一个程序,将两个字符串连接起来,不能用strcat函数。 ⑴ 定义整型变量i、j,字符串s1、s2

⑵ 输入字符串s1、s2

⑶ 当字符串s1尚未结束,改变字符串s1的下标,使之到s1结束处 ⑷ 当字符串s2尚未结束,将字符串s2逐个字符连接到字符串s1的后面 ⑸ 为字符串s1添加结束标志

⑹ 输出连接后的字符串

程序如下:

#include<stdio.h>

int main()

{

int i=0,j=0,index=0;

char str1[50]={0};//存放拼接字符串1

char str2[50]={0};//存放拼接字符串2

char str12[100]={0};//存放拼接完的字符串 printf("请输入拼接的第一个字符串:");

scanf("%s",&str1);

printf("\n请输入拼接的第二个字符串:"); scanf("%s",&str2);

while(str1[i]!='\0')//获取长度

{

i++;

}

while(str2[j]!='\0')

{

j++;

}

for(index=0;index<i-1;index++)//不放字符串结束符 str12[index]=str1[index];//把s1放入目标数组 for(index=0;index<j;index++)

str12[index+i]=str2[index];

printf("\n拼接后的字%s",str12);

getchar();

getchar();

return 0;

}

三 思考题

编程将一个字符串中的字符按逆序重新存放,例如,

原字符串: Computer

逆序存放字符串:retupmoC

程序如下: #include <stdio.h>

#include <string.h>

int main()

{

char a[100],temp;

int i,Len;

gets(a);

Len=strlen(a);

for(i=0;i<=Len/2;i++)

{

temp=a[i];

a[i]=a[Len-1-i];

a[Len-1-i]=temp;

}

puts(a);

}

实验总结:本次实验主要掌握一维数组和二维数组的定义、赋值和输入输出的方法和字符数组和字符串函数的使用,掌握与数组有关的算法,通过本次实验,加深对数组的了解,同时也能解决在数组中遇到的问题。

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

苏科版数学 八年级下册 第八章第二节 可能性的大小
冀教版英语三年级下册第二课
冀教版小学数学二年级下册第二单元《有余数除法的整理与复习》
沪教版牛津小学英语(深圳用) 五年级下册 Unit 7
冀教版英语五年级下册第二课课程解读
第8课 对称剪纸_第一课时(二等奖)(沪书画版二年级上册)_T3784187
沪教版八年级下册数学练习册21.3(2)分式方程P15
人教版历史八年级下册第一课《中华人民共和国成立》
沪教版牛津小学英语(深圳用) 六年级下册 Unit 7
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T1406126
小学英语单词
沪教版牛津小学英语(深圳用) 四年级下册 Unit 8
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
外研版八年级英语下学期 Module3
河南省名校课堂七年级下册英语第一课(2020年2月10日)
沪教版八年级下册数学练习册20.4(2)一次函数的应用2P8
冀教版小学数学二年级下册第二单元《有余数除法的简单应用》
苏教版二年级下册数学《认识东、南、西、北》
北师大版小学数学四年级下册第15课小数乘小数一
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
冀教版小学数学二年级下册第二单元《租船问题》
外研版英语七年级下册module3 unit2第一课时
沪教版牛津小学英语(深圳用) 五年级下册 Unit 10
【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
《小学数学二年级下册》第二单元测试题讲解
外研版英语七年级下册module3 unit2第二课时
北师大版数学 四年级下册 第三单元 第二节 小数点搬家
北师大版数学四年级下册3.4包装
沪教版牛津小学英语(深圳用) 四年级下册 Unit 7