大一上期C语言实验报告5 循环控制语句

合集下载

C程序实验报告五 循环控制

C程序实验报告五 循环控制

实验5 循环控制1.实验目的、要求熟练掌握用while语句、do-while语句和for语句实现循环的方法。

掌握在程序设计中应用循环的方法实现一些常用算法,进一步学习调试程序。

2.实验内容(1)编写程序分别应用while语句、do-while语句和for语句,求出100以内所有奇数的和。

while语句:#include "stdio.h"void main(){int i,sum=0;i=0;while(i<=49){sum=sum+2*i+1;i++;}printf("%d\n",sum);}运行此程序:按F2保存源程序,按F9完成一次编译连接,无提示错误,按任意键返回源程序行,按ctrl+F9运行,按alt+F5看结果,结果显示:2500分析:与自己预想结果相同。

在定义变量时可以不赋初值,而在下一个语句中再赋值。

如:定义变量赋初值int i=1,sum=0;先定义变量后赋值int i,sum=0;i=1;使变量自动增减的方法也有多种,一种是赋值法如i=i+1;另一种是使用自加运算如i++。

do-while语句:#include "stdio.h"void main(){int i,sum=0;i=1;do{sum=sum+2*i-1;i++;}while(i<=50);printf("%d\n",sum);}运行此程序:按F2保存源程序,按F9完成一次编译连接,无提示错误,按任意键返回源程序行,按ctrl+F9运行,按alt+F5看结果,结果显示:2500分析:与自己预想结果相同for 语句:#include "stdio.h"void main(){int i,sum=0;for(i=1;i<=50;){sum=sum+2*i-1;i++;}printf("%d\n",sum);}运行此程序:按F2保存源程序,按F9完成一次编译连接,无提示错误,按任意键返回源程序行,按ctrl+F9运行,按alt+F5看结果,结果显示:2500分析:与自己预想结果相同(2)编写程序输出所有的“水仙花数”,“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身,例如:153是一个“水仙花数”,因为153=333351++。

c语言实验

c语言实验

c语言实验常熟理工学院《C语言程序设计》实验指导与报告书______学年第____ 学期专业:___________________________________________ 学号:___________________________________________ 姓名:___________________________________________ 实验地点:___________________________________________ 指导教师:___________________________________________计算机科学与工程学院2014实验5 循环结构程序设计(1)5.1 实验目的1.掌握while 、do …while 循环语句的使用方法。

2.掌握break 语句在循环语句中的作用。

3.熟悉递推、迭代等常规算法。

5.2 示例程序【实验5.1】使用下面公式求π的近似值,要求直到某一项的绝对值小于10-6为止。

+-+-=71513114π程序代码:#include #include int main() {int f; float pi,t,n;pi=0; f=1; t=1; n=1.0; /* 变量赋初值 */ while(fabs(t)>1e-6) /* 满足条件进入循环 */ {pi=pi+t; /* 累加一项 */ n=n+2; /* 分母增加2 */ f=-f; /* 改变累加项的负号 */ t=f/n;/* 求出下一累加项 */} pi=pi*4;printf("pi=%10.6f\n",pi); return 0; }说明:1.fabs(t)用于求浮点数t 的绝对值,由于fabs()是数学库函数,程序中需要使用#include包含文件。

2.这种题目要分析累加前后项之间的关系,本题中后一项的分母比前一项大2。

C语言 实验五 循环控制

C语言 实验五  循环控制

实验五循环控制------实验报告(1)源程序:#include<stdio.h>void main(){int p,r,n,m,temp;printf("请输入两个正整数:");scanf("%d,%d,",&n,&m);if(n<m){temp=n;n=m;m=temp;}p=n*m;while(m!=0){r=n%m;n=m;m=r;}printf("最大公约数是:%d\n",n);printf("最小公倍数是:%d\n",p/n);}调试结果:--------------------Configuration: 18.51 - Win32 Debug-------------------- Compiling...18.51.c18.51.obj - 0 error(s), 0 warning(s)运行结果:(2) 源程序:#include<stdio.h>void main(){char c;int letters=0,space=0,digit=0,other=0;printf("请输入一行字符:\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;else if(c==' ')space++;else if(c>='0'&&c<='9')digit++;elseother++;}printf("字母数:%d\n 空格数:%d\n 数字数:%d\n 其他字符数:%d\n",letters,space,digit,other);}调试结果:--------------------Configuration: 18.52 - Win32 Debug-------------------- Compiling...18.52.c18.52.obj - 0 error(s), 0 warning(s)运行结果:(3) 源程序:#include<stdio.h>#include<math.h>void main(){float x1,x0,f,f1;x1=1.5;do{x0=x1;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x1=x0-f/f1;}while(fabs(x1-x0)>=1e-5);printf("The root of equation is %5.2f\n",x1);}调试结果:--------------------Configuration: 18.53 - Win32 Debug-------------------- Compiling...18.53.c18.53.obj - 0 error(s), 0 warning(s)运行结果:分析:x1赋值的改变不影响最后所求的根的值,只是加大了运算次数.(4) 源程序:#include<stdio.h>void main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}printf("total=%d\n",x1);}调试结果:--------------------Configuration: 18.54 - Win32 Debug-------------------- Compiling...18.54.c18.54.obj - 0 error(s), 0 warning(s)运行结果:修改后:#include<stdio.h>void main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+2)*2;x2=x1;day--;}printf("total=%d\n",x1);}--------------------Configuration: 18.54 - Win32 Debug-------------------- Linking...18.54.exe - 0 error(s), 0 warning(s)。

C语言的循环控制编程实验报告

C语言的循环控制编程实验报告

实验5 循环控制1.实验目的、要求熟悉掌握用while语句、do_while语句和for语句实现循环的方法。

掌握在程序设计中应用循环的方法实现一些常用算法,进一步学习调试程序。

2.实验内容(1)编写程序分别用while语句、do_while语句和for语句,求出100以内所有奇数的和。

#include "stdio.h"int main(){int i=1,s=0;while(i<=100){s=i+s;i=i+2;}printf("s=%d\n",s);return(0);}运行结果:屏幕显示:s=2500结果分析:此程序是用while循环求100以内所有奇数的和。

把第一个奇数1作为初值赋给i,执行while语句时,先判断表达式i<=100是否为真,1〈=100为真,所以执行循环体的语句。

循环体由一个复合语句构成,i〉100是循环结束的条件,循环体中i=i+2是最终导致i〉100的语句。

s=i+s语句实现了奇数和的计算。

每执行完一次i=i+2,都要重新判断i<=100是否为真,直到为假(i〉100)循环结束,执行循环下面的语句。

#include "stdio.h"int main(){int i=1,s=0;do{s=s+i;i=i+2;}while(i<=100);printf("s=%d\n",s);return(0);}运行结果:屏幕显示:s=2500结果分析:这个程序是用do_while语句实现上述内容。

与上一程序的区别是:do_while语句是这样执行的,先执行一次指定的循环体语句,然后判别表达式i<=100的值,当为真则返回执行循环体语句。

如此反复,直至表达式值为0。

#include "stdio.h"int main(){int i,s;for(i=1,s=0;i<=100;i=i+2)s=i+s;printf("s=%d\n",s);return(0);}运行结果:屏幕显示:s=2500结果分析:此程序是用for语句实现上面的求和计算。

实验五 循环控制语句及嵌套 实验报告

实验五   循环控制语句及嵌套 实验报告

XXX大学软件类实验报告课程名称:C语言程序设计学号:姓名:班级:指导教师:开课学期:学院:XXX大学教务处4. 循环嵌套的使用。

四、实验过程及内容:(运行结果请抓图到对应题目的下方)1. 程序填空题。

以下程序的功能是计算100以内所有奇数之和,通过阅读下面程序后将其补充完整。

上机运行程序,写出程序的运行结果。

实验结果:2. 先分析以下程序,写出运行结果,再上机检验。

实验结果:3. 程序填空题。

若用0~9之间不同的三个数构成一个三位数,以下程序将统计出有多少种这样的三位数。

填空使程序完成相应功能。

实验结果:4. 程序改错题。

爱因斯坦曾出过这样一道数学题:有一条长阶梯,若每步跨2阶,则最后剩下1阶;若每步跨3阶,则最后剩下2阶;若每步跨5阶,则最后剩下4阶;若每步跨6阶,则最后剩下5阶;只有在每步跨7阶,最后才正好1阶不剩。

实现相应功能的程序如下,找出其中存在的语法和逻辑错误并改正,然后上机验证。

实验结果:5. 编程题。

百马百担问题。

有100匹马驮100担货,大马驮3担,中马驮2担,2匹小马分驮1担,编程计算大、中、小马各有多少匹(大、中、小马的匹数均不得为0)。

输出格式:big=1,mid=2,small=3;实验代码:实验结果:6.编程题。

打印出所有的“水仙花数”。

所谓“水仙花数”是一个3位数,其各位数字的立方之和等于该数本身。

例如153=13+53+33。

实验代码实验结果:7.根据下式求s的值(要求使用循环实现):说明:结果保留4位小数。

输出结果的形式为:s=12.3456。

大一C语言上机实验实验报告

大一C语言上机实验实验报告

⼤⼀C语⾔上机实验实验报告《C语⾔程序设计》实验报告指导教师纪良浩学院通信与信息⼯程专业通信类班级0101022 学号2010210722 姓名曾⼩兵实验室S319实验题⽬:实验⼀:⽤选择法对10个整数进⾏由⼤到⼩的排序实验⼆:判断闰年实验三:求1到100的和实验四:求π的近似值实验要求:1.掌握⽤C语⾔解决实际问题的步骤;2.掌握C语⾔的语法规则及算法的表⽰;3.通过上机实验,加深对《计算机程序设计基础》课程中基本概念的理解;4.提⾼对计算机程序的编写和应⽤能⼒;实验内容及步骤:1.问题的提出与分析;2.建⽴计算模型;3.算法的确定与表⽰;4.编写程序代码;5.调试程序;6.整理结果(实验结果及分析)。

具体实验步骤实验⼀:实验步骤1.问题的提出与分析⽤选择法对10个整数进⾏由⼤到⼩的排序。

2.确定数学模型a>b>c>d>e>f>j>h>i>k4.程序编码#includevoid main(){void sort(int x[ ],int n);int*p,i,a[10];p=a;for(i=0;i<10;i++)scanf("%d",p++);p=a;sort(p,10);for(p=a,i=0;i<10;i++){printf("%d",* p);p++;} }void sort(int x[],int n){int i,j,k,t;for(i=0;i{k=i;for(j=i+1;jif(x[j]>x[k]) k=j;if(k!=i){t=x[i];x[i]=x[k];x[k]=t;}}}5.调试程序Enter dataa[1]=10↙a[2]=25↙a[3]=45↙a[4]=66↙a[5]=88↙a[6]=110↙a[7]=119↙a[8]=114↙a[9]=86↙a[10]=88610 25 45 66 88 110 119 114 86 886The sorted numbers:886 119 114 110 88 86 66 45 25 10 6.整理结果通过验算结果正确。

C语言程序设计实验报告模版——实验5 循环控制

C语言程序设计实验报告模版——实验5 循环控制
(2)印如下图案

***
*****
*******
三、实验步骤:
编程序并上机调试运行。
(1)输入一组整数,统计其中奇数偶数个数,直到遇到回车为止。
1)算法分析:可设一整型变量x,循环的输入整数的值,若x%2==0即为偶数,否则是奇数。
提示:循环条件可在while语句后的括号中出现,也可以用break语句控制。
一、实验目的:
(1)熟练掌握for语句、while语句、do-while语句实现循环的方法;
(2)理解循环嵌套及其使用方法;
(3)掌握break语句与continue语句的使用;
(4)掌握用循环实现一些常用算法(如穷举、迭代、递推等)。
二、实验内容:
(1)输入一组整数,统计其中奇数偶数个数,直到遇到回车为止。
在使用do-while时,要注意do-while的执行是先执行一次特定的循环体语句,然后判别表达式,,当表达式的值为真时,再返回重新循环体语句。这是与while语句最大的区别。
在使用for语句时,要特别注意前两个表达式后一定要用分号作分隔符且当省略表达式时,一定不能省略分号。
在使用循环的方法实现一些常用算法,如穷举、迭代、递推等应注意这些方法所使用时要理解其运算步骤,从而更加高效的使用这些方法。
在实验中还要注意的就是输入程序的正确,调试时及时发现并改正错误。行数 Nhomakorabea格数星号数
1 3 1
2 2 3
3 1 5
4 0 7
I 4-i 2*i-1
可用双重循环控制整个图案的输出。若用循环变量i,j分别控制外层,内层循环,则i的取值从1到4,表示行数,在每行中要确定前面空格个数和星号个数,空格个数是4-i,星号个数是2*i-1。

C语言循环语句实验报告

C语言循环语句实验报告
return 0;} return 1; } main() { int k,s=0,a[1000],b[1000],x=0,y=0,sum=0,add=0,z=0;
{ for(k=3;k<=1000;k+=2) { if(sushu(k)) { a[s]=k; add+=a[s]; s++; } }
printf("%d+",a[z]);
} printf("%d=%d",a[z],add); } } 作业三: #include"math.h" #include<stdio.h> main() { int n,m; float s,pi; printf("Please input a number:"); s=0,m=1; scanf("%d",&n); while(m<=n) { s=s+1.0/(m*m); m=m+1; } n=m-1; pi=sqrt(6*s); printf("n=%d,pi=%f",n,pi); }
声明变量 m=1,n,s=0,pi
m<=n 是
否 s=s+1.0/m*m; m=m+1;
n=m-1
pi=sqrt(6*s)
输出 n,pi
ห้องสมุดไป่ตู้结束
4 源程序
作业一: main() {
int m,n,i,j,s; printf("Please input two number="); scanf("%d,%d",&m,&n); for(i=1;i<=m&&i<=n;i++) {

C语言实验报告5——循环结构程序设计

C语言实验报告5——循环结构程序设计

学生实验报告学号 : 日期 : 2014-06-22系别计算机科学与技术专业计算机科学与技术(师)班级姓名课程名称C语言程序设计课程类型专业课学时数2实验名称循环结构程序设计实验目的掌握C语言三种循环结构语句格式;理解C语言三种循环结构控制语言的执行过程;学习应用C语言三种循环结构控制语句结构构造程序;积累环境下进行程序调试经验;实验要求:实验后写实验报告。

实验内容1、输入n个数,从中找出最大数。

(n值从键盘输入);2、补充教材138页6.2题1_3三个程序,并上机运行,结合程序功能分析运行结果;3、采用C语言的三种循环控制语句设计实现教材6.5题;4、完成教材42页实验题的“国王承诺问题”。

1、设计的源程序:/*计算n个正整数中最大值*/#include "stdio.h"main(){int a,i,n,max;i=2;max=0;printf("Input two numbers:");scanf("%d%d",&n,&a); /*从键盘输入n个正整数*/while(i<=n){scanf("%d",&a);max=a>max? a:max;i++;}printf("max=%d\n",max);}运行结果:当输入五个正整数时,程序最后输出了这五个数中的最大值教材138页6.2题:(1)计算奇数求和,补充后第一个源程序为:#include "stdio.h"main(){int i,sum = 0;for (i = 1;i<=101;i += 2){sum += i;}printf("sum = %d\n",sum);}运行结果:分析:当输入50时,就得到了前50个奇数的和,与理论符合,即为2601。

(2)计算1*2*3+3*4*5+...+99*100*101的值补充后的第二个源程序为:#include "stdio.h"main(){long i;long term,sum = 0;for (i = 1;i <= 99;i = i + 2){term = i * (i + 1) * (i + 2);sum = sum + term;}printf("sum = % ld",sum);}运行结果:(3)计算a+aa+aaa+...+aa...a(n个a)的值,n和a的值由键盘输入。

c语言程序设计 循环控制 实验报告

c语言程序设计 循环控制 实验报告

广州大学学生实验报告五一、实验目的(1)熟练掌握for、while和do …while语句实现循环程序设计。

(2)理解循环条件和循环体,以及for、while和do …while语句的相同及不同之处。

二、实验设备实验设备要求每个学生一台电脑,并需装有VC++ 6.0程序。

三、实验内容(一)编写程序:求出 1,1+2,1+2+3,……数列中前n项的值。

(文件名:ch05_1.cpp)要求输入输出示例:Enter a number: 61 3 6 10 15 21(二)编写程序:从键盘上输入若干学生的成绩,统计并输出最高分和最低分成绩,当输入负数时结束输入。

(文件名:ch05_2.cpp)要求输入输出示例:Please input scores:65.5 86.4 74 92 67 91 54.5 -1Max=92.00Min=54.50(三)编写程序:有100匹马,要驮100担货物,其中,1匹大马可以驮3担,1匹中马可以驮两担,两匹小马可以驼1担,请问,大马、中马和小马可以有多少种组合。

(文件名:ch05_3.cpp)要求输入输出示例:大马2匹;中马30匹;小马68匹,大马5匹;中马25匹;小马70匹,大马8匹;中马20匹;小马72匹,大马11匹;中马15匹;小马74匹,大马14匹;中马10匹;小马76匹,大马17匹;中马5匹;小马78匹,共有6种驮法(四)编写程序:已知某正整数等差数列的前4项之和为10,前4项之积为24,经计算可得此等差数列的前六项为:1 2 3 4 5 6,前六项之和为:26。

请问:若某数列的前4项之和是26,前4项之积是880。

请输出此正整数等差数列的前六项与前六项之和(文件名:ch05_4.cpp)要求输出示例:1,2,3,4,5,6数列的前6项的和:21提示:(1)等差数列由首项和差值两项构成,用整型变量工a,d分别记录该两项。

(2)利用for循环进行求解,并且需要满足数列前4项之和为26。

C语言循环语句实验报告

C语言循环语句实验报告

C语言程序设计实验报告1实验目的(1)熟练掌握while语句、do-while语句和for语句格式及使用方法, 掌握三种循环控制语句的循环过程以及循环结构的嵌套, 利用三种循环语句实现循环结构;(2)掌握简单、常用的算法, 并在编制过程中体验各种算法的编程技巧;2进一步学习调制程序, 掌握语法错误和逻辑错误的检查方法。

3实验内容作业一: 输入两个正整数m和n, 求他们的最大公约数和最小公倍数。

3作业二: 输出1000以内最大的10个素数以及他们的和。

4作业三:根据公式π^2/6=1/1^2+1/2^2+1/3^2+……+1/n^2, 求出π的值。

5算法描述流程图作业一流程图:作业二流程图:作业三流程图:4源程序作业一:main(){int m,n,i,j,s;printf("Please input two number=");scanf("%d,%d",&m,&n);for(i=1;i<=m&&i<=n;i++){if(m%i==0&&n%i==0)s=i;}if(m>=n)j=m;else j=n;for(;!(j%m==0&&j%n==0);j++);printf("s=%d,j=%d\n",s,j);}作业二:#include<stdio.h>int sushu(int j){int m;for(m=2;m<=j/2;m++){if(j%m==0)return 0;}return 1;}main(){int k,s=0,a[1000],b[1000],x=0,y=0,sum=0,add=0,z=0;{for(k=3;k<=1000;k+=2){if(sushu(k)){a[s]=k;add+=a[s];s++;}}}if(s>10){for(x=0;x<10;x++){b[x]=a[--s];sum+=b[x];}for(y=0;y<(x-1);y++){printf("%d+",b[y]);}printf("%d=%d\n",b[y],sum);}else{printf("the number of sushu is less than 10!\n");for(z=0;z<(s-1);z++){printf("%d+",a[z]);}printf("%d=%d",a[z],add);}}作业三:#include"math.h"#include<stdio.h>main(){int n,m;float s,pi;printf("Please input a number:");s=0,m=1;scanf("%d",&n);while(m<=n){s=s+1.0/(m*m);m=m+1;}n=m-1;pi=sqrt(6*s);printf("n=%d,pi=%f",n,pi);}5测试数据作业一: “5,65”“92,92”“75,35”6作业三: “20”“50”“100”“200”7运行结果作业一运行结果:作业二运行结果:作业三运行结果:7出现问题及解决方法8在输入一个数(例如m)的平方是C语言中不存在m^2的形式, 而是m*m的形式, 实验过程中开始的程序无法运行, 原因是某些函数变量名在使用前没有定义, 循环在嵌套使用过程中出现交叉错误, 部分函数名的参数定义错误。

控制语句实验报告

控制语句实验报告

一、实验目的1. 理解并掌握控制语句的概念和作用。

2. 熟悉if语句、switch语句、循环语句(for、while、do-while)的使用方法。

3. 通过实际编程,加深对控制语句的理解和应用。

二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C++三、实验内容1. if语句实验2. switch语句实验3. 循环语句实验(for、while、do-while)四、实验步骤及结果1. if语句实验(1)实验步骤① 创建一个C++项目,命名为“ControlStatementExperiment”。

② 在主函数中定义一个变量,用于存储用户输入的年龄。

③ 使用if语句判断用户年龄,根据年龄输出不同的提示信息。

(2)代码实现```cpp#include <iostream>using namespace std;int main() {cout << "请输入您的年龄:" << endl;cin >> age;if (age >= 18) {cout << "您已成年!" << endl;} else {cout << "您还未成年。

" << endl;}return 0;}```(3)实验结果当用户输入年龄为18时,程序输出“您已成年!”;当用户输入年龄为15时,程序输出“您还未成年。

”2. switch语句实验(1)实验步骤① 创建一个C++项目,命名为“ControlStatementExperiment”。

② 在主函数中定义一个变量,用于存储用户输入的月份。

③ 使用switch语句判断用户输入的月份,输出对应的季节。

(2)代码实现```cpp#include <iostream>using namespace std;int main() {cout << "请输入月份(1-12):" << endl; cin >> month;switch (month) {case 1:case 2:case 12:cout << "冬季" << endl;break;case 3:case 4:case 5:cout << "春季" << endl;break;case 6:case 7:case 8:cout << "夏季" << endl;break;case 9:case 10:case 11:cout << "秋季" << endl;break;default:cout << "输入有误!" << endl;break;}return 0;}```(3)实验结果当用户输入月份为3时,程序输出“春季”;当用户输入月份为12时,程序输出“冬季”。

大一上期C语言实验报告5 循环控制语句

大一上期C语言实验报告5 循环控制语句

大一上期C语言实验报告5 循环控制语句程序设计基础实验报告实验5成都工业学院・计算机工程学院《程序设计基础》实验报告实验名称学院姓名任课老师实验5 循环控制语句计算机工程学院专业班级学号实验时间计算机科学与技术1班 90分钟 1. 实验目的(1)熟练掌握while语句、do?while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用三种循环语句实现循环结构;(2)掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧;(3)进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。

2. 实验内容(1)输出两个整数m和n,求它们的最大公约数和最小公倍数。

要求:①画出算法流程图,从键盘输入m和n;②对负数和零可不做考虑;③运行程序,对m>n、m(2)输出1000以内最大的10个素数以及它们的和。

要求:① 由于偶数不是素数,可以不对偶数处理;② 画出算法流程图;③ 输出形式为:素数1+素数2+素数3+...+素数10=总和值。

??21111(3)根据公式=2+2+2+?+2,求出π的值 6123??要求:① 画出算法流程图② 以变量pi表示?,并将其定义为单精度类型,变量n定义为整形③ 计算当n的取值分别为20、50、100、200时的?的值④ 输出?值以及总的项数n,输出格式为“n=值,pi=值” (4)输入一串字符(以回车键结束),统计其中数字、大写字母、小写字母以及其他字符的个数。

要求:① 画出算法流程图,通过键盘输入字符串;② 在输出字符串之前给出相应提示; 1 程序设计基础实验报告实验5 ③ 按照数字、大写字母、小写字母及其他字符数的顺序输出结果 3. 流程图4. 源程序(1)求最大公约数和最小公倍数 #include void main() {intm,n,a,b,d,i=2; printf(\two number:\ scanf(\ a=(m>n)?m:n; b=(m>n)?n:m; d=a; while((a%b)!=0) {a=d*i; i++;} printf(\ (2)求1000内最大的10个素数之和#include void main() {int n,r,i,k=0,a[10],sum=0; for(n=997;n>0;n-=2){for(i=2;i<=n-1;i++) {r=n%i; if(r==0) break;} if(i>=n){a[k]=i;sum=sum+a[k];k++; if (k==10)break; continue;} else continue;} printf(\素数%d+素数%d+素数%d+素数%d+素数%d+素数%d+素数%d+素数%d+素数%d+素数%d+=%d\\n\8],a[9],sum);} 2 程序设计基础实验报告实验5 π值(3)计算#include #include void main() {int n,i;float pi=0; scanf(\i=n;do{pi+=1/pow(n,2);n--;} while(n!=0); pi=sqrt(6*pi); printf(\(4)统计字符串中各种类型数据的个数 #include void main() {char ch[200];int i,a=0,b=0,c=0,d=0; gets(ch); for(i=0;ch[i]!='\\0';i++) {if(ch[i]>='0'&&ch[i]<='9')a++; elseif(ch[i]>='A'&&ch[i]<='Z')b++; else if(ch[i]>='a'&&ch[i]<='z')c++; else d++;} printf(\5. 运行结果(1)求最大公约数和最小公倍数(2)求1000内最大的10个素数之和(3)计算π值 3 程序设计基础实验报告实验5 (4)统计字符串中各种类型数据的个数 6. 出现问题及解决办法(1)求最大公约数和最小公倍数时,为定义变量d,直接写成while((a%b)!=0){a=a*i; i++;}运算结果出错,原因是a的值一直在变化,后来就增加变量d,写成while((a%b)!=0){a=d*i;i++;},运算就正确了。

c语言实验报告大一

c语言实验报告大一

c语言实验报告大一C语言实验报告大一引言在大学的计算机科学与技术专业中,C语言是一门基础而重要的编程语言。

作为大一学生,我们在学习C语言的过程中,不仅仅是理论知识的学习,还需要通过实验来巩固和应用所学的知识。

本篇文章将介绍我在大一期间完成的一些C语言实验,并分享一些实验过程中的心得体会。

实验一:Hello, World!在学习任何一门编程语言时,第一个程序往往是打印"Hello, World!"。

这个简单的程序不仅仅是一个入门的开始,更是我们对编程世界的第一次探索。

通过这个实验,我学会了如何编写一个简单的C程序,并且理解了程序的运行原理。

实验二:数据类型与运算符在这个实验中,我学习了C语言中的不同数据类型,如整数类型、浮点数类型和字符类型。

通过实验,我深入理解了数据类型的区别和选择的依据。

同时,我也学会了使用不同的运算符进行算术运算、逻辑运算和位运算。

这些基础的知识为我后续的学习打下了坚实的基础。

实验三:条件语句和循环结构在这个实验中,我学习了C语言中的条件语句和循环结构。

通过编写一些简单的程序,我掌握了if语句、switch语句和for循环、while循环等控制结构的使用方法。

这些结构的灵活运用,使得我能够编写更加复杂和实用的程序。

实验四:函数与数组函数是C语言中一个非常重要的概念,通过函数的封装和调用,我们可以将程序分解为模块,提高代码的可读性和可维护性。

在这个实验中,我学习了如何定义和调用函数,并且掌握了函数参数的传递和返回值的使用。

同时,我也学会了如何使用数组来处理一系列的数据,通过数组的操作,我可以更加高效地处理大量的数据。

实验五:指针与动态内存分配指针是C语言中一个非常重要且难以理解的概念。

在这个实验中,我通过编写一些程序,掌握了指针的基本概念和使用方法。

同时,我也学会了如何使用动态内存分配来管理内存空间,避免程序出现内存泄漏等问题。

指针的灵活运用,使得我能够更加高效地处理复杂的数据结构和算法。

C语言程序设计—循环语句—实验报告

C语言程序设计—循环语句—实验报告

实验报告专业软件工程班级X 班学号_ _ 姓名X X X实验日期:2014年10月16日报告退发(订正、重做)课程C程序设计实验实验名称循环语句一、实验目的①了解和掌握C语言中的循环语句;②掌握各类循环语句的区别和联系;③掌握break以及continue的用法;二、实验环境(描述实验的软件、硬件环境)①软件环境:windows xp/win7等操作系统,Microsoft Visual C++ 6.0编译器;②硬件环境:PC机一台三、实验内容、步骤和结果分析题目一:编程找出用户输入的一串数值中的最大数。

要求:(1)需要提示用户一个一个地输入数据;(2)当用户输入一个不大于0的数值时,表示输入结束。

此时应输出一串数值中的最大值;#include<stdio.h>float main(){float number,largest;printf("Please enter a positive number:");loop:scanf("%f",&largest);if(largest<=0){printf("Sorry,you enter a wrongful number!\nThe first number must be a positive number!\nPlease try again:");goto loop;}/*引导用户第一个数字输入为正数,以便正确执行本程序*/for(number=1;number>0;){printf("Please continue to enter a number:");scanf("%f",&number);if (number>=largest){largest=number;}printf("The largest number entered is:%.2f\n",largest);return 0;}题目二:编程程序计算两个正整数的最大公约数(GCD)要求:①提示用户输入两个数;②输出最大公约数。

程序设计c语言 循环控制的实验报告

程序设计c语言 循环控制的实验报告
main()
{
int n=1,m;
float x,y=0;
scanf("%f,%d",&x,&m);
do
{
y=y+(x/n);
n++;
x=x*x;
}
while(n<=m);
printf("%f",y);
return 0;
}
2)保存源程序,文件名为do….while语句求值1
3)运行程序,输出结果如下:
printf("%f",y);
return 0;
}
2)保存源程序,文件名为for语句求值1:
3)输入、输出结果如下:
3.编写程序,输入x和n,用while求y=x+x*x/2+x*x*x/3+…。
1)打开MinGW32集成开发环境,编写程序代码如下:
#include<stdio.h>
include<stdio.h>
5.综上所述:收益匪浅。
1. 通过程序一,主要是让我们区分while,for,do…while三者的用法,及其特点。
2. 通过第二个程序,了解和掌握了当语句需要精确到几位小数点之后的while,for,do…while三者的用法,及其特点。
3. 通过编写第三个程序,掌握了更为复杂的语句用法,而且还学会了分行输出数据。
4.通过第四个程序,我主要是了解了关于数学方法中对于阶乘的求法。
2.编写程序,输入m和n,计算m!+n!.
3.编写程序,输出100~200之间所有的素数,每行输出8个。
三、实环境
MinGW32系统。
四、实验步骤和结果

循环控制语句实验报告

循环控制语句实验报告

一、实验目的1. 熟悉循环控制语句的语法和应用。

2. 学会使用for循环、while循环和do-while循环解决实际问题。

3. 提高编程能力,培养逻辑思维能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.73. 开发环境:PyCharm三、实验内容1. for循环2. while循环3. do-while循环(Python中无do-while循环,使用while循环实现)四、实验步骤及结果1. for循环(1)实验目的:计算1到10的累加和。

(2)实验步骤:a. 定义变量sum为0,用于存储累加和。

b. 使用for循环遍历1到10的整数。

c. 在循环体内,将当前数字加到sum变量上。

d. 循环结束后,打印sum变量的值。

(3)实验结果:```pythonsum = 0for i in range(1, 11):sum += iprint(sum)```输出结果:552. while循环(1)实验目的:计算1到10的累加和。

(2)实验步骤:a. 定义变量sum为0,用于存储累加和。

b. 定义变量i为1,作为循环的初始值。

c. 使用while循环判断i是否小于等于10。

d. 在循环体内,将当前数字加到sum变量上,并将i加1。

e. 循环结束后,打印sum变量的值。

(3)实验结果:```pythonsum = 0i = 1while i <= 10:sum += ii += 1print(sum)```输出结果:553. do-while循环(Python中无do-while循环,使用while循环实现)(1)实验目的:计算1到10的累加和。

(2)实验步骤:a. 定义变量sum为0,用于存储累加和。

b. 定义变量i为1,作为循环的初始值。

c. 使用while循环判断i是否小于等于10。

d. 在循环体内,将当前数字加到sum变量上,并将i加1。

e. 循环结束后,打印sum变量的值。

实验5 循环控制

实验5 循环控制

实验5 循环控制1.实验目的熟悉掌握用while语句,do-while语句和for语句实现循环的方法。

掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。

进一步学习调试程序。

2.实验内容编程序并上机调试运行。

(1).输入两个正整数m和n,求它们的最大公约数和最小公倍数。

(习题6.1)在运行时,输入的值m>n,观察结果是否正确。

再输入时,使m<n,观察结果是否正确。

修改程序,不论m和n为何值(包括负整数),都能得到正确结果。

(2).输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。

(习题6.2)在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其它字符的个数。

(3).用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。

(习题6.12)在得到正确结果后,请修改程序使所设的x初值由1.5改变为100、1000、10000,再运行,观察结果,分析不同的x初值对结果有没有影响,为什么?修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的x 初始值对迭代的次数有无影响。

(4).猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩一个桃子了。

求第一天共摘了多少桃子。

(习题6.10)在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。

请修改程序,并运行,检查结果是否正确。

C语言程序设计实验报告——控制语句的使用和熟悉

C语言程序设计实验报告——控制语句的使用和熟悉

一、实验项目名称控制语句的使用和熟悉。

二、实验目的1.熟练掌握if 、if …else 、if …elseif 语句和switch 语句格式及使用方法,掌握if 语句中的嵌套关系和匹配原则,利用if 语句和switch 语句实现分支选择结构。

2.熟练掌握while 语句、do ...while 语句和for 语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。

3.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。

进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。

三、实验内容1.选择结构程序设计;2.if 语句的使用;3.使用switch 语句实现多分支选择结构;4.三种循环语句的应用;5.循环结构的嵌套;6.break 和continue 语句的使用。

具体内容:一、编程实现:输入一个整数,将其数值按照①小于10,②10~99,③100~999,④1000以上四个类别分类并显示。

要求:(1)将变量定义为整型。

(2)输入整数前,利用puts ()/printf ()给出提示信息。

(3)输出结果时要有必要的说明,例如:输入358时,显示358 is 100 to 999。

(4)该程序利用if 语句实现。

二、编写程序:根据公式 2222213121116n ++++= π ,输出 π的值。

要求:(1)变量π为单精度类型,n 为整型;(2)计算当n 的取值分别为20,50 ,100,200时的π值,说明什么问题?(3)修改程序,不给出n 值,而改为求π值,直到最后一项的数值小于10-4 为止。

(4)对修改后的程序,输出π值以及总的项数n 。

输出格式为:π=值;n=值。

三、从键盘输入一个0~1000之间的任意整数,输出该整数的所有因子(例如:输入12,其因子为1,2,3,4,6,12)。

要求:(1)采用while 循环语句实现。

(2)输出格式为:Input :12Output :1,2,3,4,6,12 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成都工业学院·计算机工程学院
《程序设计基础》实验报告
1.实验目的
(1)熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利
用三种循环语句实现循环结构;
(2)掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧;
(3)进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。

2.实验内容
(1)输出两个整数m和n,求它们的最大公约数和最小公倍数。

要求:
①画出算法流程图,从键盘输入m和n;
②对负数和零可不做考虑;
③运行程序,对m>n、m<n和m=n的情况进行测试,验证程序的
正确性。

(2)输出1000以内最大的10个素数以及它们的和。

要求:
①由于偶数不是素数,可以不对偶数处理;
②画出算法流程图;
③输出形式为:素数1+素数2+素数3+...+素数10=总和值。

(3)根据公式π2
6
=1
12
+1
22
+1
32
+⋯+1
n2
,求出π的值
要求:
①画出算法流程图
②以变量pi表示π,并将其定义为单精度类型,变量n定义为整形
③计算当n的取值分别为20、50、100、200时的π的值
④输出π值以及总的项数n,输出格式为“n=值,pi=值”
(4)输入一串字符(以回车键结束),统计其中数字、大写字母、小写字母以及其他字符的个数。

要求:
①画出算法流程图,通过键盘输入字符串;
②在输出字符串之前给出相应提示;
③ 按照数字、大写字母、小写字母及其他字符数的顺序输出结果
3. 流程图
4. 源程序
(2)求1000内最大的10个素数之和 #include<stdio.h> void main()
{int n,r,i,k=0,a[10],sum=0; for(n=997;n>0;n-=2) {for(i=2;i<=n-1;i++) {r=n%i;
if(r==0) break;} if(i>=n)
{a[k]=i;sum=sum+a[k]; k++; if (k==10)break; continue;} else continue;}
printf("素数%d+素数%d+素数%d+素数%d+素数%d+素数%d+素数%d+素数%d+素数%d+素数%d+=%d\n",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],sum);}
(1)求最大公约数和最小
公倍数
#include<stdio.h>
void main()
{int m,n,a,b,d,i=2;
printf("Enter two number:");
scanf("%d%d",&m,&n);
a=(m>n)?m:n;
b=(m>n)?n:m;
d=a;
while((a%b)!=0)
{a=d*i;
i++;}
printf("%d,%d",m*n/a,a);}
5. 运行结果
(1)求最大公约数和最小公倍数
(2)求1000内最大的10个素数之和
(3)计算π值
(3)计算π值 #include<stdio.h> #include<math.h> void main() {int n,i;float pi=0; scanf("%d",&n); i=n; do{pi+=1/pow(n,2);n--;} while(n!=0); pi=sqrt(6*pi); printf("n=%d,pi=%f",i,pi);}
(4)统计字符串中各种类型数据的个数
#include<stdio.h> void main()
{char ch[200];int i,a=0,b=0,c=0,d=0; gets(ch);
for(i=0;ch[i]!='\0';i++)
{if(ch[i]>='0'&&ch[i]<='9') a++; else if(ch[i]>='A'&&ch[i]<='Z') b++; else if(ch[i]>='a'&&ch[i]<='z') c++; else d++;}
printf("%d,%d,%d,%d",a,b,c,d);}
(4)统计字符串中各种类型数据的个数
6.出现问题及解决办法
(1)求最大公约数和最小公倍数时,为定义变量d,直接写成
while((a%b)!=0){a=a*i; i++;}运算结果出错,原因是a的值一
直在变化,后来就增加变量d,写成while((a%b)!=0){a=d*i;i++;},运
算就正确了。

(2)求1000内最大的10个素数之和时,sum未赋初值,照成
sum=sum+a[k]语句错误,后来将0赋值给sum;判断语句的最后写成else break,造成循环语句提前结束,后经过查阅,了解break和continue语句的用法,将else break修改成else continue
(3)编写统计字符串中各种类型数据的个数的程序时将for(i=0;ch[i] !='\0';i++)中的’\0’写成’\n’,导致运算错误。

解决方法:先查阅得知字符串是以’\0’,表示字符串的结束,’\n’是换行符,转义序列的一种
7.实验心得
通过编写不同的程序,以及自己的调试,掌握了for,while,do…
while三种循环控制语句的基本使用方法,以及循环结构的嵌套使用,学会了语法错误和逻辑错误的检查方法。

还了解了break,continue语句的用法,如何使用gets函数输入字符串。

相关文档
最新文档