《重庆理工大学C语言程序实验报告》由会员分享,可在线阅读,更多相关《重庆理工大学C语言程序实验报告(49页珍藏版)》请在金锄头文库上搜索。
1、程序设计基础C实验报告教学班级: 学号: 姓名: 课程教师: 实验辅导教师: 重庆理工大学计算机学院 2013年2月实验5 循环程序设计教学班级: 学号: 姓名:实验日期:2013年5月28日 实验地点:4-210(机房) 实验成绩:_ 一、实验目的(1) 了解C语言循环结构的使用范围。(2) 学会正确使用逻辑运算符和逻辑表达式。(3) 熟练掌握C语言的三种循环结构:whilc语句、dowhilc语句、for语句的特点和使用方法。(4) 能够编写一些有实际应用意义的循环结构程序。二、实验内容1基本内容题目1:计算135799+101的值。(提示:注意符号的变化)#includevoid mai
2、n()int i,t=1,s=0; /* t标识正负符号 */for (i=1;i101; i+=2) /*error*/s+=i*t;t= -t; printf(s=%dn,s); 请改错,并运行程序。#includevoid main()int i,t=1,s=0; for (i=1;i=101; i+=2) s+=i*t;t= -t; printf(s=%dn,s); 分别用dowhile语句和while语句改写以上程序。#includevoid main()int i=1,t=1,s=0; /* t标识正负符号 */do s+=i*t;i+;t=-t;while(i=101);prin
3、tf(s=%dn,s);#includevoid main()int i=1,t=1,s=0; /* t标识正负符号 */while(i=101)s+=i*t;i+;t=-t;printf(s=%dn,s);题目2:分析程序,运行时输入:24579(注:表示回车换行)。#includevoid main()int c; while(c=getchar()!=n)switch(c-2)case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);case 4: putchar(c+2);break; def
4、ault:putchar(c);printf(n);题目3:下面程序的功能是打印100以内个位数为3且能被3整除的所有数,选择合适的语句填入该空格中。#includevoid main()int i,j;for(i=0;i=9;i+) j=i*10+3;if(j%3!=0)continue;printf(%4d,j);题目4:编程输出:用04任意组成无重复数字的三位数?都是多少?每行输出10个数。#includevoid main()int i,j,k,count=0;printf(n);for(i=1;i5;i+)/*以下为三重循环*/for(j=0;j5;j+)for (k=0;k5;k+
5、)if (i!=j&j!=k&i!=k) /*确保i、j、k三位互不相同*/printf(%6d,i*100+j*10+k); count+;if(i=j&j=k&i=k)printf(n);printf(n);题目5:根据公式 求e的近似值,精度要求为10-6。#includevoid main()double i=1,s=1,sum=1;for(i=1;1/s0.000001;i+)s*=i;sum+=1/s; printf(%f,sum);题目6:输入一行字符,将小写字母转换为大写字母显示,其它字符原样输出。#includevoid main()char c;while(c=getcha
6、r()!=n)if(c=a&c=z)c=c-32;putchar(c);2选择内容题目7:打印出如下图案*#include void main()int i,j; for(i=1;i=4;i+) for(j=1;j=8-i;j+) /理解数字8的作用 printf( ); for(j=1;j=1;i-) for(j=1;j=8-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(* ); printf(n); 运行以上程序,验证实验结果。 模仿上面程序,打印出如下图案 1 2 2 2 3 3 3 3 3#include void main()int i,j;
7、 for(i=1;i=3;i+) for(j=1;j=6-i;j+) /理解数字8的作用 printf( ); for(j=1;j=2*i-1;j+) printf(%d ,i); printf(n); 9#includevoid main()int i,n,s;for(n=2;n=1000;n+)s=0; for(i=1;in;i+) if(n%i=0) s=s+i; if(n=s) printf(%5d,n);三、实验结果(用截图说明)1234567910 四、调试心得(选作)实验6 数组实验教学班级: 学号: 姓名:实验日期:2013年5月28日 实验地点:4-210(机房) 实验成绩:
8、_ 一、 实验目的(1) 理解数组的特点及其与普通变量的区别及特点;(2) 掌握一维数组的定义、赋值和输入输出的方法;(3) 掌握二维数组的定义、赋值和输入输出的方法;(4) 掌握字符数组和字符串函数的使用;(5) 掌握与一维数组和字符数组有关的程序与算法;(6) 理解与二维数组有关的程序与算法。二、 实验任务1基本内容【题目1】读程序,写结果。#includevoid main()int i,s=0,a10=1,2,3,4,5,6,7,8,9,10;for(i=4;i7;i+)s=s+ai;printf(s=%dn,s);【题目2】下面程序给数组a输入数据,以每行4个数据形式输出,请填空。#
9、include#define N 8void main()int i, a N; for(i=0; iN; i+)scanf(%d,&ai);for(i=0; iN; i+)if(i%4=0)printf(n);printf(%11d,ai);printf(n);【题目3】用简单选择法对10个整数排序,将程序补充完整。#define N 10#includevoid main()int i,j,min,temp,aN=1,5,4,3,7,0,9,8,2,6;for (i=0;iN-1;i+)min=i;for (j=i+1;jaj)min=j;if(min!=i)temp=ai;ai=amin
10、;amin=temp;printf(n 排序结果为:n);for (i=0;iN;i+)printf(%5d,ai);printf(n);【题目4】下面的程序用冒泡法对10个数排序(从小到大),将程序补充完整。#define N 10#includevoid main()int i,j,min,temp,aN=1,5,4,3,7,0,9,8,2,6;for(i=0;iN;i+)for(j=0;jaj+1) temp=aj;aj=aj+1;aj+1=temp; printf(n 排序结果为:n);for(i=0;i10;i+)printf(%4d,ai);printf(n);【题目5】任意输入20个数到一维数组a中,求这20个数的平均值。#define N 20#includevoid main()int i,s=0,aN;for(i=0;iN;i+)scanf(%d,&ai);for(i=0;iN;i+)s+=ai; printf(%f,s/20.0);【题目6】编程:任意输入10个数,判断该哪些是素数,并输出这些素数。#include#define N 10void main()