C语言程序设计实验报告(实验大纲+过程)(4)

2019-08-30 22:11

统计与信息学院

《C程序设计》实验报告( 五 )

学号: 实验名称:循环控制 实验地点: 实 验 要求 姓名: 班级: 指导教师: 成绩: 实验日期: 实验软件(主要仪器设备):Visual C++6.0 1.熟悉用while语句,do-while语句和for语句实现循环的方法。 2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。 实验①:输入两个正整数,求其中最大公约数和最小公倍数。 (1)求最大公约数 1、输入 #include main() {int m,n,i,t; scanf(\if(n main() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) printf(\ printf(\ } system(\} 2、 编译,无错误、无警告后运行,结果如下: 实 验 过程 与 步 骤 (2)求最小公倍数 1、输入 #include main() {int m,n,i,t; scanf(\if(n

实验②:输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。 1、输入 #include main() {char c; int letter,space,number,other; letter=space=number=other=0; do { c=getchar(); if(c>='a'&&c<='z'||c>='A'&&c<='Z') letter++; else if(c>='0'&&c<='9') number++; else if(c==' ') space++; else other++; } while(c!='\\n'); printf(\other=%d\\n\ return 0; } 2、编译,无错误、无警告后执行,结果如下: for(j=1;j<=2*i+1;j++) printf(\ printf(\ } for(i=n-1;i>=0;i--) {for(j=1;j<=n-i;j++) printf(\ for(j=1;j<=2*i+1;j++) printf(\ printf(\ } } 2、编译,无错误、无警告后运行,结果如下: 实验③:打印出以下图案:7行7列菱形 1、输入 #include #define n 3 int main() {int i,j; for(i=0;i<=n;i++) {for(j=1;j<=n-i;j++) printf(\实验 总结 实验④:编程求1!+2!+3!+……+20!。 1、输入 #include int main() { int n,m=1,sum=0; for(n=1;n<=20;n++) { m=n*m; sum=sum+m; } printf(\} 2、编译,无错误、无警告后运行,结果如下: 17

统计与信息学院

《C程序设计》实验报告( 六 )

学号: 实验名称:数组 实验地点: 姓名: 班级: 指导教师: 成绩: 实验日期: 实验软件(主要仪器设备):Visual C++6.0 实 1.掌握一维数组和二维数组的定义、赋值和输入输出的方法; 验 2.掌握字符数组和字符串函数的使用。 要3.掌握与数组有关的算法(特别是排序算法)。 求 实验①:编写程序,用scanf函数输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。 1、输入 #include main () {void Rank(int N,int n[]); int i,j,k; int n[11]; for(i=0;i<10;i++) scanf(\ Rank(10,n); scanf(\ if(k>n[9]) n[10]=k; else {for(i=0;n[i]<=k;i++); for(j=9;j>=i;j--) n[j+1]=n[j]; n[i]=k; } for(i=0;i<=10;i++) printf(\ printf(\} void Rank(int N,int n[]) { int i,k,t; for(k=1;k<=N-1;k++) for(i=N-1;i>=k;i--) if(n[i-1]>n[i]) {t=n[i]; n[i]=n[i-1]; n[i-1]=t; } for(i=0;i<=N-1;i++) printf(\ printf(\ } 2、编译,无错误、无警告后运行,运行结果如下: 实验④:将两个字符串连接起来,不要用strcat函数。 1、输入 #define M 50 #define N 20 main () {char a[M],b[N];int i,j; gets(a); gets(b); for(i=0;a[i]!='\\0';i++); for(j=0;b[j]!='\\0';j++) {a[i]=b[j];i++;} a[i]='\\0'; puts(a); } 2、编译,无错误、无警告后运行,运行结果如下: 实 验 过程 与 步 骤 18

实验②:有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则输出“无此数” ,并且可以实现连续查找。15个数用赋初值的方法在程序中给出,要找的数用scanf函数输入。 1、输入 #include main() { static int i,j,m,a[15]={2,10,13,24,35,59,68,78, 98,102,234,526,649,758,893}; scanf(\for(j=0;j<15;j++) printf(\printf(\i=7; while(fabs(i-7)<8) { if(ma[7]) { if(a[i]-m==0) {printf(\i++; } else printf(\} if(fabs(i-7)-8==0) printf(\无此数\\n\} 2、编译,无错误、2警告后运行,运行结果如下: 实验⑤:从键盘输入5个字符串,找出最长的字符串和最大的字符串。 1、输入 #include \#define N 20 main() { char a[5][N],max[N],m,n,max1; int b[5]; int i,j; for(i=0;i<=4;i++) gets(a[i]); for(i=0;i<=4;i++) b[i]=strlen(a[i]); max1=b[0]; m=0; for(i=1;i<=4;i++) if(b[i]>=max1) { max1=b[i]; m=i; } strcpy(max,a[0]); n=0; for(i=1;i<=4;i++) if(strcmp(a[i],max)>=0) { strcpy(max,a[i]); n=i; } printf(\puts(a[m]); puts(a[n]); } 2、编译,无错误、无警告后运行,运行结果如下: 19

m=0; 实验③:将以下二维数组中数按列的顺序存放到for(j=0;j<=3;j++) 一个一维数组中。二维数组的内容是 for(i=0;i<=2;i++) 11 22 33 44 { 11 22 33 44 b[m]=a[i][j]; 11 22 33 44 m++; 则一维数组中的内容是11 11 11 22 22 22 } 33 33 33 44 44 44 for(m=0;m<12;m++) 1、输入 #include printf(\main() printf(\{ } int a[3][4]={{11,22,33,44}, 2、编译,无错误、无警告后运行,运行结果如下: {11,22,33,44},{11,22,33,44}}; int b[12],i,j,m; 实 验 总结

20


C语言程序设计实验报告(实验大纲+过程)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:物联网认识实习报告 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: