厦门理工学院+C语言+实验5数组.docx
- 文档编号:4739404
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:14
- 大小:57.75KB
厦门理工学院+C语言+实验5数组.docx
《厦门理工学院+C语言+实验5数组.docx》由会员分享,可在线阅读,更多相关《厦门理工学院+C语言+实验5数组.docx(14页珍藏版)》请在冰豆网上搜索。
厦门理工学院+C语言+实验5数组
《C语言程序设计》实验报告
实验序号:
5 实验项目:
数组
学 号
姓 名
Debug
专业、班级
实验地点
指导教师
实验时间
一、实验目的及要求
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。
运行结构截图:
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()
{
inta[1000],i=0,b52=1;
for(;i<1000;i++)
a[i]=i+1;
a[0]=0;
while(b52<1000)
{
if(a[b52]!
=0)
for(i=b52+1;i<1000;i++)
{
if(a[i]%a[b52]==0)
a[i]=0;
}
b52++;
}
for(i=0;i<1000;i++)
{
if(a[i]!
=0)printf("%d",a[i]);
}
return0;
}
2.#include
#include
intmain()
{
inti;
chara[20]={0};
scanf("%s",a);
for(i=0;i<=20;i++)
{
if('0'<=a[i]&&a[i]<='9')a[i]=0;
if(a[i]!
=0)printf("%c",a[i]);
}
printf("\n");
return0;
}
3.#include
#defineN3
intmain()
{
inti=0,d[N],a[N]={0},b[N]={0};
for(i=0;i scanf("%d",&d[i]); i=0; do{ if(d[i]<0) b[i]=d[i]; elseif(d[i]>0) a[i]=d[i]; elseif(d[i]=0) d[i]=0; i=i+1; }while(i! =N); for(i=0;i if(a[i]! =0)printf("a[i]=%d",a[i]); for(i=0;i if(b[i]! =0)printf("b[i]=%d",b[i]); return0; } 4.#include #include #defineN10 intmain() { inta[N]={10,2,8,22,16,4,10,6,14,20},g[N]={0},i=0,b=0,d=0; do{ for(i=0;i g[i]=a[i]/2; d=g[9]; for(i=1;i { a[i]=g[i-1]+a[i]/2; if(a[i]%2==1) a[i]++; } a[0]=a[0]/2+d; if(a[0]%2==1) a[0]++; b++; if(a[0]==a[1]&&a[1]==a[2]&&a[3]==a[2]&&a[4]==a[3]&&a[5]==a[4]&&a[6]==a[5])break; }while (1); printf("%d\n%d",b,a[0]); return0; } 5.#include #include #defineN4 intmain() { inta[2][N]={0},i=0,d=0; longintb,c; for(i=0;i<2;i++) for(d=0;d scanf("%d",&a[i][d]); b=a[0][0]; for(i=1;i b=b*10+a[0][i]; c=a[1][0]; for(i=1;i c=c*10+a[1][i]; if(b>c)printf("%d",b); if(b==c)printf("c=b"); if(b return0; } 6.#include #include #defineN5 intmain() { inta[N][N]={0},i=0,d=0,b=0,c=N-1; for(i=0;i for(d=0;d scanf("%d",&a[i][d]); for(i=0;i b=b+a[0][i]+a[i][0]+a[c][i]+a[i][c]; b=b-a[0][0]-a[c][0]-a[0][c]-a[c][c]; printf("%d",b); return0; } 7.#include #include #include #defineN3 intmain() { chara[N][N]={0},i,j,time=0,score=0; charb[3]={'#','*','\1'}; while (1) { for(i=0;i for(j=0;j { a[i][j]=b[rand()%3]; } for(i=0;i for(j=0;j { printf("%c",a[i][j]); if(j==(N-1))printf("\n"); } for(i=0;i { if(a[i][0]==a[i][1]&&a[i][0]==a[i][2])score++; if(a[0][i]==a[1][i]&&a[0][i]==a[2][i])score++; } if(a[0][0]==a[1][1]&&a[0][0]==a[2][2])score++; if(a[0][2]==a[1][1]&&a[0][2]==a[2][0])score++; printf("pressytoplayorntoquit: "); if(getchar()! ='y') break; getchar(); time++; if(time>=3)break; } printf("score=%d",score); } 8.#include #include intmain() { chara[50],b[50]; charstr1[50],str2[50]; scanf("%s%s",str1,str2); strcpy(a,strlen(str1) str1: str2); strcpy(b,strlen(str1)>strlen(str2)? str1: str2); printf("a=%s\n",a); printf("b=%s\n",b); return0; } #include #include #include #defineN50 intmain() { inta[N][N]={0}; intn,i,j,q; printf("请输入奇数"); scanf("%d",&n); for(i=0;i {if(i<=n/2) { a[i][n/2-i]=1; a[i][n/2+i]=1; } else { a[i][n-1-abs(n/2-i)]=1; a[i][abs(n/2-i)]=1; } } for(i=0;i for(q=0;q printf((q+1)%n? "%2d": "%2d\n",a[i][q]); return0; } 9#include #include #defineMAX256 intmain() { charwords[MAX][MAX]={0},i,j,n; intfreq[MAX]={0}; /*输入*/ n=0; while (1) { scanf("%s",words[n]); freq[n]=1; if(strcmp("$$$",words[n++])==0) break; } /*统计次数,$$$不计算在内*/ for(i=0;i { for(j=i+1;j { /*如果当前字符已经判断过有重复的,则跳过*/ if(! words[j][0]) continue; if(strcmp(words[i],words[j])==0) { freq[i]++; /*清除相同单词,防止重复计数*/ words[j][0]=0; freq[j]=0; } } } for(i=0;i { if(freq[i]>0) printf("%s",words[i]); } printf("\n"); for(i=0;i { if(freq[i]>0) printf("%d",freq[i]); } return0; }.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 厦门 理工学院 语言 实验 数组
![提示](https://static.bdocx.com/images/bang_tan.gif)