2023年华北水利水电大学C语言实验_第1页
2023年华北水利水电大学C语言实验_第2页
2023年华北水利水电大学C语言实验_第3页
2023年华北水利水电大学C语言实验_第4页
2023年华北水利水电大学C语言实验_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计实验报告实验6综合程序设计班级2023156学号姓名吴浩一、实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出方法。(2)掌握字符数组的使用。(3)掌握与数组有关的算法。二、实验内容及环节1、猴子吃桃问题。猴子第1天摘了若干个桃子,当即吃了一半,还但是瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后天天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘了多少个桃子?程序代码:#include<stdio.h>main(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/x2=x1;day--;}printf("第一天摘的桃子数:%d\n",x1);}2、百马百担问题:100匹马,驮100担货,大马3担,中马2担,两匹小马驮一担,问共有大、中、小马各多少?程序代码:#include<stdio.h>voidmain(){inti,j;for(i=0;i<34;i++)//大马for(j=0;j<(100-i*3)/2+1;j++)//中马if((100-i-j)%2==0&&3*i+2*j+(100-i-j)/2==100)printf("大马%d\t中马%d\t小马%d\n",i,j,100-i-j);}3、已有一个已排好序的数组,规定输入一个数,将它插入数组中,保持数组仍然有序。程序代码:#include<stdio.h>voidmain(){ inti,k; inta[6]={1,5,21,67,98}; for(i=0;i<5;i++) printf("%d",a[i]);printf("\ninputaintnumber:\n");scanf("%d",&a[5]);for(i=5;i>0;i--)if(a[i]<a[i-1]) { k=a[i-1]; a[i-1]=a[i]; a[i]=k; }for(i=0;i<6;i++)printf("%d",a[i]);printf("\n");}4.有一篇文章,共有3行文字,每行有80个字符。规定分别记录出其中英文大写字母、小写字母、数字、空格及其它字符的个数。程序代码:#include<stdio.h>main(){intupper,lower,digit,space,other,i,j;upper=lower=digit=space=other=0;chara[3][80]={'\0'};printf("请输入三段文字:\n");for(i=0;i<3;i++)for(j=0;(a[i][j]=getchar())!='\n';j++){if(a[i][j]>='a'&&a[i][j]<='z')lower++;elseif(a[i][j]>='A'&&a[i][j]<='Z')upper++;elseif(a[i][j]>='0'&&a[i][j]<='9')digit++;elseif(a[i][j]=='')space++;elseother++;}printf("这三行文字中共有:\n小写字母:\t%d\n大写字母:\t%d\n数字:\t\t%d\n空格:\t\t%d\n其他字符:\t%d\n",lower,upper,digit,space,other);}5.找出一个二维数组的“鞍点”,输出该点的值和所在的行和列。“鞍点”即该位置上的元素在该行上最大,在该列上最小。也有也许没有鞍点。(规定:至少准备两组测试数据,(1)有鞍点:9802054090-60961210-310189(2)没有鞍点:9802054090-601961210-31018945541567程序代码:(1)#include<stdio.h>#defineN10#defineM10voidmain(){inti,j,k,m,n,flag1,flag2,a[N][M],max,maxj;printf("输入行数n:");scanf("%d",&n);printf("\n输入列数m:");scanf("%d",&m);for(i=0;i<n;i++)for(j=0;j<m;j++)scanf("%d",&a[i][j]);flag2=0;for(i=0;i<n;i++){max=a[i][0];for(j=0;j<m;j++)if(a[i][j]>max){max=a[i][j];maxj=j;}for(k=0,flag1=1;k<n&&flag1;k++)if(max>a[k][maxj])flag1=0;if(flag1){printf("\n第%d行第%d列的%d是鞍点\n",maxj,k,max);flag2=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论