《高级语言程序设计》实验报告实验项目5数组.docx
- 文档编号:3185481
- 上传时间:2022-11-19
- 格式:DOCX
- 页数:10
- 大小:64.23KB
《高级语言程序设计》实验报告实验项目5数组.docx
《《高级语言程序设计》实验报告实验项目5数组.docx》由会员分享,可在线阅读,更多相关《《高级语言程序设计》实验报告实验项目5数组.docx(10页珍藏版)》请在冰豆网上搜索。
《高级语言程序设计》实验报告实验项目5数组
《高级语言程序设计》实验报告
实验序号:
5 实验项目:
数组
学 号
25
姓 名
林燕萍
专业、班级
实验地点
指导教师
实验时间
一、实验目的及要求
1、掌握一维数组和二维数组的定义、赋值、使用和输入输出方法;
2、掌握字符数组和字符串的使用;
二、实验设备(环境)及要求
使用VisualC++6.0;windows系列操作系统的环境。
三、实验内容与步骤
1.用筛法求1~1000之间的素数。
eratosthenes筛法:
1)利用数组存放这1000个数;
2)挖掉第一个数1(令该数=0);
3)2没被挖掉,挖掉后面所有2的倍数;
4)3没被挖掉,挖掉后面所有3的倍数;
5)4被挖掉,不执行任何操作;
6)5没被挖掉,挖掉后面所有5的倍数;
7)····直到最后一个数;
8)剩下的非0数就是素数。
运行结构截图:
2.编写程序输入一个字符串,删除字符串中的所有数字字符后输出此字符串。
【算法提示】
(1)定义一个一维字符数组;
(2)输入一串测试字符;
(3)依次判断数组中字符是否为数字(即>‘0’且<‘9’);
(4)若是则将后面所有字符依次往前移一位;
(5)输出整个字符串。
运行结构截图:
3.输入若干个整数存放在一维数组中,根据此数组构造两个数组a和b,要求a中存放数组x中所有的正数,b中存放数组中所有的负数,0舍弃,最后分别输出数组a和b。
运行结构截图:
2
4.10个小孩围成一圈分糖,老师分给第1个孩子10块,第2个孩子2块,第3个孩子8块,第4个孩子22块,第5个孩子16块,第6个孩子4块,第7个孩子10块,第8个孩子6块,第9个孩子14块,第10个孩子20块,然后所有的小孩同时将自己手中的糖分一半给右边的小孩,糖块数为奇数的人可向老师再要一块。
问经过这样几次调整后大家手中的糖的块数都一样?
每人各有多少块糖。
(注:
第i个小朋友的右边是第i-1个小朋友,第1个小朋友的右边是第10个小朋友)
运行结构截图:
5.假设在2*10的二维数组中存放了数据,其中各行的元素构成一个整数,如第一行元素构成整数1234507000。
编写程序比较两行元素构成的整数大小。
(规则:
从高位起逐个比对应位数,若每位均相等,则两数相等;若遇到第一个不相等的数字,则数字大者为大)
例如:
1
2
3
4
5
0
7
0
0
0
1
2
3
7
4
2
6
0
0
0
运行结构截图:
6.输入一个5行5列的矩阵,计算该矩阵最外圈元素之和。
运行结构截图:
7.【附加题】老虎机:
假设有3*3个方格,编写程序,在程序运行后,在3*3个方格内随机显示符号三种符号“、#、*”得分规则是在一条直线或斜线上有三个相同的图案则得一分,按y继续玩,每人玩三次,统计总得分。
(其中可以用’\1’输出)
运行结构截图:
8.【附加题】任意输入两个字符串,分别存放在a、b两个字符数组中。
然后将较短的字符串放在a数组中,较长的字符串放在b数组中,并输出。
附加2:
输入奇数n,输出nXn方阵。
如n=5,输出:
00100
01010
10001
01010
00100
运行结构截图:
9.【附加题】从键盘上输入一些字符串(以”$$$”为结束标志)。
然后统计每个字符串的出现次数。
最后按输入顺序输出各个单词及其对应的出现次数。
如输入:
GirlboyGirlStudentLinStudent$$$
则输出:
GirlboyStudentLin
2121
运行结构截图:
四、分析与讨论
对上机实践结果进行分析,上机的心得体会。
五、教师评语
签名:
日期:
成绩
附源程序清单:
1.#include
intmain()
{
intNum[100];
inti,j;
Num[0]=0;
for(i=2;i<100;i++)
{
Num[i]=1;
}
for(i=2;i<100;i++)
{
if(Num[i]==1)
{
/*
2的倍数全部赋为0
3的倍数全部赋为0
4为0,跳过
5的倍数全部赋为0
6为0跳过
7的倍数全部赋为0
以此类推
*/
for(j=i;j*i<100;j++)
{
Num[i*j]=0;
}
}
}
for(i=2;i<100;i++)
{
if(Num[i]==1)
{
printf("%d\n",i);
}
}
return0;
}
2.#include
intmain()
{
inti,j=0;
charch[1000];
scanf("%s",&ch);
for(i=0;ch[i];i++)
{
if(!
(ch[i]>='0'&&ch[i]<='9'))
{
ch[j++]=ch[i];
}
}
ch[j]=0;//在j处添加字符串结尾
printf("%s\n",ch);
Return0;
3.#include
intmain()
{
inti,m=0,n=0,num;
intIntBegin[1000],Inta[1000],Intb[1000];
printf("请输入你要输入的数个数:
");
scanf("%d",&num);
for(i=0;i { scanf("%d",&IntBegin[i]); } for(i=0;i { if(IntBegin[i]>0) { Inta[m++]=IntBegin[i]; } elseif(IntBegin[i]<0) { Intb[n++]=IntBegin[i]; } } printf("a数组的成员有%d个,分别为: ",m); for(i=0;i { printf("%d,",Inta[i]); } printf("\nb数组的成员有%d个,分别为: ",n); for(i=0;i { printf("%d,",Intb[i]); } printf("\n"); return0; } 4.#include voidmain() { inta[11]={0,10,2,8,22,16,4,10,6,14,20}; intterm,i,n=0,m; while(a[1]! =a[10]||a[1]! =a[2]||a[1]! =a[3]||a[1]! =a[3]||a[1]! =a[5]||a[1]! =a[6]||a[1]! =a[7]||a[1]! =a[8]||a[1]! =a[9]) { n=n+1; term=(a[1]+a[10])/2; for(i=2;i<=10;i++) { a[i]=(a[i-1]+a[i])/2; if(a[i+1]%2==1) { a[i+1]=a[i+1]+1; } } a[1]=term; } printf("n=%d\n",n); printf("a[1]=%d\n",a[1]); } 5.#include intmain() { inta[2][10]={1,2,3,4,5,0,7,0,0,1,2,3,7,4,2,6,0,0}; inti; for(i=0;i<10;i++) { if(a[0][i]>a[1][i]) { printf("第一个数大\n"); return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级语言程序设计 高级 语言程序设计 实验 报告 项目 数组
![提示](https://static.bdocx.com/images/bang_tan.gif)