c语言实验报告4 循环结构程序设计

合集下载

实验报告二厦门理工学院C语言选修课上机实验实验4循环结构

实验报告二厦门理工学院C语言选修课上机实验实验4循环结构

《高级语言程序设计》实验报告实验序号:2 实验项目:数据类型、运算符和表达式09机制2 学号232 姓名叶志伟专业、班级实验地点1-511 指导教师胡亮实验时间 3.15一、实验目的及要求1.掌握C基本数据类型的基本概念、基本属性。

2.学会如何书写一个整型、字符型、实型常量。

3.掌握C算术运算符的基本概念、基本属性、运算规则。

二、实验设备(环境)及要求使用Visual C++ 6.0;windows系列操作系统的环境。

三、实验内容与步骤1.输入下列源程序,进行修改、编译、连接和运行。

程序:main ( ){ char c1,c2;c1=97;c2=98;printf("%c,%c\n",c1,c2);printf("%d,%d\n",c1,c2);}运行结果是:两行结果的不同是由什么引起的:程序定义了输出的类型,第一个输出字符型,另一个输出整型。

2.输入并运行下面的程序:#include<stdio.h>void main(){char c1,c2,c3;c1=getchar();c3=getchar();putchar(c1);putchar(c2);putchar(c3);}观察以下不同输入时的输出,分析不同输出的原因。

(↙表示回车)(1)123↙(2)12↙(3)1↙2↙运行结果是:分析运行结果:getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.3.把以上程序改写如下,用于上面相同的输入运行,分析不同输出的原因。

循环结构程序设计(C语言实验报告)

循环结构程序设计(C语言实验报告)

循环结构程序设计(C语言实验报告)实验目的:1. 掌握循环结构程序设计流程2. 熟悉while、do-while和for循环语句的使用3. 掌握循环语句的嵌套应用实验原理:循环结构是一种非常重要的程序设计结构,其目的是为了让程序可以重复执行一段代码块,从而达到省去大量代码重复编写的目的,也可以是让程序能够按照用户的需求反复执行一段代码块。

在C语言中,常用的循环结构有while、do-while和for三种,这三种循环语句的基本语法结构是:while(循环条件){循环体语句;}其中,while循环和do-while循环的区别在于:while循环条件成立时,不一定会执行一次循环体,但do-while循环条件成立时,会先执行一次循环体,然后判断循环条件是否成立;至于for循环,则是将循环条件、循环初值和循环增量三个要素集成在一起,使用比较方便。

另外,循环结构也可以进行嵌套应用,即在循环体内部再嵌套一个循环,这样可以实现多个变量的循环控制。

应用实例包括如下:1. 打印九九乘法表2. 对一个数组进行排序3. 多重循环实现字谜游戏实验内容:1. while循环:目的是求出1~100的整数和,并在程序运行过程中输出1~100的所有整数。

目的是输入若干个数字,计算它们的平均值。

3. for循环:目的是输入一个数n,求1~n中可以被3或5整除的所有整数和。

4. 循环嵌套:目的是打印九九乘法表。

实验总结:本次实验通过三种常用的循环结构,并结合实例进行学习掌握,同时还熟悉了循环嵌套的应用。

相信这对于日后的程序设计和代码优化应用会非常有帮助。

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

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

C语言循环结构程序设计实验报告实验目的:掌握C语言循环结构的基本原理和使用方法,能够编写具有循环结构的程序。

实验原理:在C语言中,循环结构主要包括while循环、do-while循环和for 循环三种形式。

通过循环结构,可以使程序中的其中一段代码重复执行多次,从而提高程序的灵活性和效率。

实验内容:1. 用while循环实现计算1-100的累加和。

2. 用do-while循环实现输入一个整数n,计算1到n的累加和。

3. 用for循环实现输出9*9乘法口诀表。

实验过程:1. 用while循环实现计算1-100的累加和。

```c#include <stdio.h>int mainint i = 1;int sum = 0;while (i <= 100)sum += i;i++;}printf("1-100的累加和为:%d\n", sum);return 0;```2. 用do-while循环实现输入一个整数n,计算1到n的累加和。

```c#include <stdio.h>int mainint n, i = 1, sum = 0;printf("请输入一个整数n:");scanf("%d", &n);dosum += i;i++;} while (i <= n);printf("1-%d的累加和为:%d\n", n, sum);return 0;```3. 用for循环实现输出9*9乘法口诀表。

```c#include <stdio.h>int mainint i, j;for (i = 1; i <= 9; i++)for (j = 1; j <= i; j++)printf("%d*%d=%d\t", j, i, i*j);}printf("\n");}return 0;```实验结果:1.1-100的累加和为:50502.输入一个整数n:10,1-10的累加和为:553.```1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=427*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=487*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=547*9=63 8*9=72 9*9=81```实验结论:通过本次实验,学习了C语言中循环结构的基本原理和使用方法。

C语言实验报告

C语言实验报告

C语言实验报告C语言实验报告1一周的C语言实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能!一、心得与感想首先,在实训中的第一步是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。

在做题的过程中让我们把这些知识复习了一遍,强化了知识!其次,这次作中所碰到的题目,在实训中已经接触过,所我们都比较深知这些题目的要求和算法,因次在编写小程序时比较快,而且算法也是比较简化,运算准确。

鉴次我明白很多编程题要经过多次编写修改与调试,才会得到最简略的算法。

再次,平时我们学C语言视乎都是为了考试或者做一些比较常规的题目,而这次实训却给我们的将所学知识运用于解决实际问题的机会,让人更有激情,这就是编写软件的在雏形,也让我们感受到了编写软件程序的乐趣。

但是不仅仅是如此,更为重要的是在运用所学知识的过程中,记住这些知识,并能够广泛的运用!虽然我这次是编写一个菜单的程序,但是如果我么留心的话,我们身边有许多电子设备都是内置有程序的,我们也可以在此次专题实训过后,自行确定其他的专题进行编写程序,这样可以让我们的知识更加深化丰富!这次实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才上交的作业。

每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业!这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。

因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。

四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。

2、掌握选择结构的程序设计。

3、掌握分支结构的嵌套。

二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。

自变量x与函数值均采用双精度类型。

(2)自变量x值从键盘输入,且输入前要有提示信息。

(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。

记录结果。

(5)源程序以sy4_1.c存盘。

2、编程,将一个百分制成绩转换成等级制成绩。

具体要求如下:(1)百分制与等级制的对应关系如下:(3)用键盘输入百分制成绩,输入前要有提示信息。

(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。

(5)输出结果中应包含百分制成绩和成绩等级。

(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。

记录结果。

(7)源程序以sy4_2.c存盘。

三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。

2、掌握三种常用的循环语句的格式和功能。

3、初步掌握循环结构的编程方法。

二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。

要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。

2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。

程序设计基础(C语言)实验报告

程序设计基础(C语言)实验报告

程序设计基础(C语言)实验报告课程名称:程序设计基础(C语言)姓名:学号:年级:专业:指导教师:实验地点:目录实验一顺序结构程序设计实验二选择结构程序设计实验三循环结构程序设计实验四数组及其应用实验五函数及其应用实验六指针及其应用实验(一)顺序结构程序设计一、实验目的1.掌握顺序结构程序的设计思想,领会顺序结构的程序执行时顺次执行的特点。

2.掌握赋值语句的特点、功能。

3.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

4.掌握编写程序和调试程序的方法。

二、实验内容及要求1.用下面的scanf函数输入数据使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。

#include <stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%db=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%.1f,y=%.2f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}运行时分别按以下方式输入数据,观察输出结果,分析原因(□表示空格,↙表示回车)。

(1)a=3,b=7,x=8.5,y=71.82,A,a↙(2)a=3□b=7□x=8.5□y=71.82□A□a↙(3)a=3□b=7□8.5□71.82□A□a↙(4)a=3□b=7□8.5□71.82Aa↙(5)3□7□8.5□71.82Aa↙(6)a=3□b=7↙8.5□71.82↙A↙a↙(7)a=3□b=7↙8.5□71.82↙Aa↙(8)a=3□b=7↙8.5□71.82Aa↙通过此题,总结输入数据的规律和容易出错的地方。

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

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

安徽工程大学高级语言程序设计实验报告班级姓名同组者/ 成绩日期2019.10.17 指导教师张义实验名称循环结构程序设计一、实验目的1.熟悉使用while语句、do-while语句和for语句实现循环的方法。

2.熟悉在程序设计中用循环的方法实现各种算法。

3.理解程序中循环结构语句的执行过程。

二、实验内容1.程序填空。

分别用for、while和do-while语句编写一个C程序,计算并输出数列1,3,5.…,2n-1,…的前n项之和,其中,n由键盘输入。

2.编程并上机调试运行。

(1)求1!+2!+3!+…+n!(n从键盘输入)。

(2)打印以下图案(用循环实现):** * ** * * * ** * * * * * ** * * * ** * **(3)猴子吃桃,猴子第一天摘若干桃子,当即吃了一半,又多一个,又多一个,第二天吃了剩下桃子一半又多一个。

以后每天早上都吃前一天剩下的一半多一个,这样到了第十天,只剩下一个桃子。

问第一天共摘了多少个桃子?(4)打印九九乘法表。

(5)有算式s=1+12+123+1234+12345+…,从键盘输入n,根据已知算式求前n项之和。

如n=3,则s=1+12+123;n=5,则s=1+12+123+1234+12345。

(6)从键盘输入一串数字字符,将其转换成对应的整数。

如输入字符串“368”,则输出整数368。

*思考题3.在实验内容1的程序(1)输入时,若在“for(i=1;i<=k;____)”语句后多输入一个分号,即“for(i=1;i<=k;____);”,分析程序,写出预期结果。

4.在实验内容1的程序(2)输入时,若while语句后的{}省略,即while(____)s+=i;______;分析程序,写出预期结果。

5.简述while语句和do-while语句的区别。

三、算法流程图或实验步骤(可根据需要增删、修改)1.(1)for语句实现:算法流程图:#include<stdio.h>void main ( ){long s, n, k , i;scanf ("%ld",&n);k=2*n-1;s=0;for(i=1;i<=k;i=i+2)s+=i;printf("1+3+…+%ld=%ld\n",k,s);}实验步骤:Files→New→Files→C++source File→文件名:program4011.c→位置:E:\123\→确定→完善源程序→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果(2)while语句实现:算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);while(i<=2*n-1){s+=i;i=i+2;}printf("1+3+…+%ld=%ld\n",2*n-1,s);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4012.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(3)do-while语句实现:算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);do{s+=i;i=i+2;}while(i<=2*n-1);printf("1+3+…+%ld=%ld\n",2*n-1,s);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4013.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果2.(1)算法流程图:#include<stdio.h>void main(){int n,s=0,i,j,t;scanf("%d",&n);for(i=1;i<=n;i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}printf("%d\n",s);return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4021.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(2)算法流程图:#include<stdio.h>void main(){int i,j,k;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf(" ");for(k=1;k<=2*i-1;k++)printf("*");printf("\n");}for(i=1;i<=3;i++){for(j=1;j<=i;j++)printf(" ");for(k=1;k<=7-2*i;k++)printf("*");printf("\n");}}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4022.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(3)算法流程图:#include <stdio.h>int main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/x2=x1;day--;}printf("total=%d\n",x1);return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4023.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(4)算法流程图:#include <stdio.h>int main() {int i,j;for(i=1;i<=9;i++) {for(j=1;j<=9;j++)printf("%d*%d=%2d\t", i, j, i*j);printf("\n");}return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4024.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(5)算法流程图:#include<stdio.h>void main(){int n=0,i=1,m=0,sun=0;printf("请输入一个数");scanf("%d",&n);while(i<=n){m=m*10+i;sun+=m;i++;}printf("%d",sun);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4025.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(6)算法流程图:#include <stdio.h>void main(){char str[20];scanf("%s",str);printf("%d\n",atoi(str));}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4026.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果3.(1)算法流程图:#include<stdio.h>void main ( ){long s, n, k , i;scanf ("%ld",&n);k=2*n-1;s=0;for(i=1;i<=k;i=i+2);s+=i;printf("1+3+…+%ld=%ld\n",k,s);}(2)实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4031.c→位置:E:\123\→确定→输入修改后的代码→Buid→是→查看编译结果4.(1)算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);while(i<=2*n-1)s+=i;i=i+2;printf("1+3+…+%ld=%ld\n",2*n-1,s);}(2)实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4031.c→位置:E:\123\→确定→输入修改后的代码→Buid→是→查看编译结果→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果四、实验结果及分析1.详情见第三项算法流程图2.详情见第三项算法流程图3.预期结果:编译时产生错误4.预期结果:程序虽然编译没有错误,但程序无效,并不能起到原题所需要的功能。

C语言实验报告 实验四 参考答案

C语言实验报告 实验四  参考答案

实验四循环结构程序设计2(参考答案)(1)编写程序sy4-1.c,输入n,计算并输出如下多项式的值:S n=1+1/2!+1/3!+1/4!+…+1/n!。

例如输入n为15时,输出1.718282。

算法分析:第一项可以看成1/1!,用循环控制累加n个分式,分式的分母是i!,分子固定为1。

参考答案:# include <stdio.h>void main(){double s=0,p=1;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){p = p * i ; //计算分母i!s = s + 1 / p ; //累加}printf("s=%lf\n",s);}运行结果:(2)编写程序sy4-2.c,输入n,根据以下公式计算s:,例如当n=11时,结果为1.833333。

算法分析:该多项式的分母是累加。

参考答案:# include <stdio.h>void main(){double sn=0,s=0;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){s = s + i ; //计算分母1~i的累加和sn = sn + 1 / s ;}printf("sn=%lf\n",sn);}运行结果:(3)编写程序sy4-3.c,计算3~n之间所有素数的平方根之和,要求:输入n,输出结果。

例如,输入n 的值是100,则输出结果是148.874270。

注意n应在2~100之间。

算法分析:穷举3~n之间的数找素数,若是素数则累加她的平方根。

参考答案:# include <stdio.h># include <math.h>void main(){int i,j,n,flag;double s=0;scanf("%d",&n);for(i=3;i<n;i++) //穷举3~n之间找素数{flag=1; //假设当前的i是素数,标志变量设为1for(j=2;j<i;j++) //穷举要判断是否是素数的i的除数,范围2~i-1if(i%j==0) //若i能被j整除,则不是素数{ flag=0; break; } //标志变量改为0,并终止循环if( flag == 1 )s = s + sqrt( i ); //若i是素数,则累加sqrt(i)}printf("s=%f\n",s);}运行结果:(4)编写程序sy4-4.c,根据以下公式求p的值,(m与n为两个正整数且m>n)。

C语言程序设计实验报告

C语言程序设计实验报告

C语言程序设计实验报告一、引言C语言程序设计是计算机科学与技术专业中的一门基础课程。

通过实验学习,我深入了解了C语言的基本语法和程序设计的思想,掌握了一定的编程能力。

本文将详细介绍我在C语言程序设计实验中所进行的实验项目、实验结果和实验心得。

二、实验项目1. 实验一:C语言程序设计基础在这个实验中,我编写了一个简单的C语言程序,实现了对用户输入的两个整数进行相加并输出结果的功能。

在程序设计中,我正确使用了C语言的基本语法,包括变量定义、输入输出函数的调用等。

2. 实验二:条件语句和循环结构这个实验要求我编写一个C语言程序,实现对用户输入的分数进行等级评定的功能。

根据用户输入的分数,程序将输出相应的等级,如优秀、良好、及格等。

为了实现这个功能,我灵活运用了条件语句和循环结构,使程序具有良好的交互性。

3. 实验三:数组和字符串在这个实验中,我学习了C语言中数组和字符串的使用方法,并编写了一个程序,实现了对一个整数数组的排序功能。

通过实验,我进一步掌握了数组的声明、初始化和遍历等操作,提高了我对C语言程序设计的理解。

4. 实验四:函数和指针实验四要求我编写一个C语言程序,实现对一个数组中的元素求和的功能。

在这个实验中,我了解了函数的定义和调用、指针的基本概念以及函数指针的使用。

通过编写程序,我加深了对函数和指针的理解,并提高了程序的运行效率。

三、实验结果通过以上实验项目的设计与实现,我得到了如下实验结果:1. 实验一的结果是可以正确进行数值相加并输出结果。

2. 实验二的结果是根据输入的分数得到相应的等级评定。

3. 实验三的结果是对输入的整数数组进行排序,并输出排序后的结果。

4. 实验四的结果是对数组中的元素进行求和,并输出求和结果。

四、实验心得通过整个实验过程,我深刻认识到了C语言程序设计的重要性和应用广泛性。

C语言不仅是其他高级编程语言的基础,也是培养程序设计思维和逻辑思维的重要工具。

通过实验,我不仅掌握了C语言的基础知识和编程技巧,还培养了自己解决问题和分析问题的能力。

《C语言程序设计》实验报告(实验1-11) 2013.3

《C语言程序设计》实验报告(实验1-11) 2013.3

《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。

二、预习内容:教材《C语言程序设计教程》第1章。

三、实验内容:1. 在Visual C++ 6.0环境下输入并运行下面的程序:#include <stdio.h>int main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。

#include <stdio.h>int main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运行结果(或截图):2. (1) 改正后的源程序:(2) 运行结果(或截图):五、思考题:1. 一个C程序上机的步骤有哪些?答:2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。

二、预习内容:教材《C语言程序设计教程》第2章。

三、实验内容:1. 在Visual C++ 6.0环境下输入下面的程序,编译、连接、调试该程序。

c语言循环结构实验报告总结

c语言循环结构实验报告总结

c语言循环结构实验报告总结C语言循环结构实验报告总结引言:循环结构是计算机编程中非常重要的一个概念,它可以让程序重复执行某些操作,从而提高程序的效率。

在C语言中,循环结构有三种:for、while和do-while。

本次实验我们将学习并掌握这三种循环结构的使用方法。

一、 for循环结构for循环结构是C语言中最常用的一种循环结构,它的基本语法如下:for (初始化表达式; 条件表达式; 更新表达式){循环体语句;}其中,初始化表达式只会在第一次进入循环时执行一次;条件表达式会在每次进入循环时都进行判断,如果为真,则继续执行循环体语句;更新表达式会在每次执行完循环体语句后执行。

我们可以通过一个简单的例子来理解for循环的用法:#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){printf("%d ", i);}return 0;}上述代码中,我们使用for循环输出了1到10这10个数字。

首先定义了一个变量i,并将其初始化为1;然后设置条件表达式为i <= 10;最后设置更新表达式为i++。

在每次循环中,都会先判断条件表达式是否成立,如果成立,则执行循环体语句,即输出当前的i值,并将i加1。

二、 while循环结构while循环结构也是C语言中常用的一种循环结构,它的基本语法如下:while (条件表达式){循环体语句;}其中,条件表达式会在每次进入循环时进行判断,如果为真,则继续执行循环体语句;否则跳出循环。

我们可以通过一个简单的例子来理解while循环的用法:#include <stdio.h>int main(){int i = 1;while (i <= 10){printf("%d ", i);i++;}return 0;}上述代码中,我们使用while循环输出了1到10这10个数字。

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

C语言循环结构程序设计实验报告
运行结果:1!+2!+3!+.+25!=1.61587e+25
while语句:
main()
{ float n=1,s=0,t=1;
while(n<=25)
{ t=t*n;
s=s+t;
n++;
}
printf(“1!+2!+3!+…+25!=%e\n”,s);
}
do-while语句:
main()
{ float n=1,s=0,t=1;
(3)计算并输出Σ(2n+1)超过1000的第一个n值。
n=1
main()
{ int n=1,sum=0;
for(; ; n++) sum=sum+(2*n+1);
if(sum>2000) break;
printf(“n=%d,sum=%d\n”,n,sum);
}
if(sum>1000)break;for中的表达式2不能省去
while语句do-while语句
#include<stdio.h>#include<stdio.h>
void main() void main()
{{
int i=1,sum=0; int i=1,sum=0;
while(i<=100) do
{ {
sum=sum+i; sum=sum+i;
i++;i++;
5.某班有学生n人,从终端读入n及n个人学生的成绩,试编程实现以下功能:
①印出前3个最好成绩及取得每个最好成绩的人数;

程序循环结构实验报告(3篇)

程序循环结构实验报告(3篇)

第1篇实验名称:程序循环结构实验实验日期:2023年4月10日实验地点:计算机实验室实验目的:1. 理解循环结构在程序设计中的作用。

2. 掌握不同循环结构(如for循环、while循环、do-while循环)的语法和应用。

3. 能够根据实际问题选择合适的循环结构进行编程实现。

4. 提高编程实践能力。

实验环境:1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm实验内容:一、实验一:for循环结构1. 实验目的了解for循环的语法和使用方法,掌握其基本操作。

2. 实验步骤(1)编写一个程序,使用for循环打印1到10的整数。

(2)编写一个程序,使用for循环计算1到100的整数之和。

3. 实验代码```python打印1到10的整数for i in range(1, 11):print(i)计算1到100的整数之和sum = 0for i in range(1, 101):sum += iprint("1到100的整数之和为:", sum)```4. 实验结果程序成功运行,打印出1到10的整数和1到100的整数之和。

二、实验二:while循环结构1. 实验目的了解while循环的语法和使用方法,掌握其基本操作。

2. 实验步骤(1)编写一个程序,使用while循环计算1到10的整数之和。

(2)编写一个程序,使用while循环判断一个数是否为素数。

3. 实验代码```python计算1到10的整数之和sum = 0i = 1while i <= 10:sum += ii += 1print("1到10的整数之和为:", sum)判断一个数是否为素数num = 29is_prime = Truei = 2while i i <= num:if num % i == 0:is_prime = Falsebreaki += 1if is_prime:print(num, "是素数")else:print(num, "不是素数")```4. 实验结果程序成功运行,打印出1到10的整数之和以及29是否为素数。

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

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

《C程序设计》实验教学大纲一、适用范围大纲适用信息管理专业本科教学使用。

二、课程名称C程序设计三、学时数与学分总学时:90 总学分:4实验学时:28 实验学分:1四、教学目的和基本要求目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。

基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。

上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。

注:带*的实验项目为选做实验项目六、教材、讲义及参考书《C程序设计题解与上机指导》谭浩强主编清华大学出版社七、实验成绩评定办法实验成绩=平时实验表现+实验报告。

实验成绩占总成绩的20%。

实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。

1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。

在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。

八、实验教学大纲说明本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。

实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。

九、实验项目实验一C程序的运行环境和运行一个C程序的方法一、实验目的1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。

2.了解在该系统上如何编辑、编译、连接和运行一个C程序。

c语言循环结构实验报告

c语言循环结构实验报告

c语⾔循环结构实验报告c语⾔循环结构实验报告姓名:许欣明 实验地点:⼀教524 实验时间:2021-5.6⼀、实验⽬的与要求1. 熟练掌握使⽤while、do...while、和for语句实现循环的⽅法。

2. 了解三种循环语句的区别和转换、各⾃的适应性、嵌套循环的使⽤。

3. 掌握在循环语句中使⽤break和continue语句改变程序流程的⽅法。

4. 能在程序设计中使⽤循环的⽅法实现各种算法。

⼆、实验内容实验5.3.1 1.问题描述:求出1,1+2,1+2+3,...数列中第i项的值,i的值由键盘输⼊ 2.实验代码:#include <stdio.h>int main(){int n,k,s=0;printf("Enter a number:\n");scanf("%d",&n);for(k=1;k<=n;k++){s=s+k;printf(" %d",s);}return0;} 3.效果截图:实验5.3.2 1.问题描述:从键盘输⼊若⼲学⽣成绩,统计最⾼和最低成绩,当输⼊负数时结束输⼊。

2.实验代码:#include<stdio.h>int main(){float x,max,min;printf("please input scores\n");scanf("%f",&x);max=min=x;while(x>=0){if(x>max)max=x;if(x<min)min=x;scanf("%f",&x);}printf("\nmax=%f\nmin=%f\n",max,min);return0;} 3.效果截图:实验5.3.3 1.问题描述:计算满⾜不等式的n的最⼩值。

2.实验代码:#include<stdio.h>int main(){float sum,value;int n;printf("Input value:");while(1){scanf("%f",&value);if(value>1){sum=0.0;n=0;do{++n;sum+=1.0/(float)n;}while(sum<value);printf("n=%d",n);break;}else{printf("输⼊错误,请重新输⼊。

C语言实验报告

C语言实验报告

××××实验报告(×-×学年第二学期)课程名称:《C语言程序设计》班级:学号:姓名:实验室(中心)名称:教学单位:年月日实验名称:循环结构程序设计指导教师:实验日期:地点:同组学生姓名:(每人独立完成)实验过程:(可附页)1.写出以下程序的执行结果,并分析其实现的功能。

#include<stdio.h>main(){int i=1,sum=0;while(i<10){sum+=i;i=i+2;}printf("%d\n",sum);}执行结果:实现的功能:求小于10的奇数之和。

3. 比较以下两个程序,得出运行结构并分析原因。

程序一:#include <stdio.h>main(){int a=0;while(a<0){a++;}printf("%d\n",a);}执行结果:程序二:#include <stdio.h>main(){int a=0;do{a++;}while(a<0);printf("%d\n",a);}执行结果:分析2个程序结果不同的原因:程序一先判断是否满足条件再运行,而程序二先运行后再判断,故而输出结果不同。

6. 分析以下程序的运行结果为什么不是6?#include <stdio.h>main(){int i,s;for(i=1;i<=3;i++)s+=i;printf("%d\n",s);}执行结果:运行结果为什么不是6?由于s初始值未给出而导致结果不同。

7.分析以下程序运行后变量i的值。

#include <stdio.h>main(){int i,s=0;for(i=1;i<=100;i++){s+=i;if(s==55)break;}printf("%d\n",i);}分析以下程序运行后变量i的值:10.写出以下程序的输出结果。

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

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

安徽工程大学高级语言程序设计实验报告班级姓名同组者/ 成绩日期2019.10.17 指导教师张义实验名称循环结构程序设计一、实验目的1.熟悉使用while语句、do-while语句和for语句实现循环的方法。

2.熟悉在程序设计中用循环的方法实现各种算法。

3.理解程序中循环结构语句的执行过程。

二、实验内容1.程序填空。

分别用for、while和do-while语句编写一个C程序,计算并输出数列1,3,5.…,2n-1,…的前n项之和,其中,n由键盘输入。

2.编程并上机调试运行。

(1)求1!+2!+3!+…+n!(n从键盘输入)。

(2)打印以下图案(用循环实现):** * ** * * * ** * * * * * ** * * * ** * **(3)猴子吃桃,猴子第一天摘若干桃子,当即吃了一半,又多一个,又多一个,第二天吃了剩下桃子一半又多一个。

以后每天早上都吃前一天剩下的一半多一个,这样到了第十天,只剩下一个桃子。

问第一天共摘了多少个桃子?(4)打印九九乘法表。

(5)有算式s=1+12+123+1234+12345+…,从键盘输入n,根据已知算式求前n项之和。

如n=3,则s=1+12+123;n=5,则s=1+12+123+1234+12345。

(6)从键盘输入一串数字字符,将其转换成对应的整数。

如输入字符串“368”,则输出整数368。

*思考题3.在实验内容1的程序(1)输入时,若在“for(i=1;i<=k;____)”语句后多输入一个分号,即“for(i=1;i<=k;____);”,分析程序,写出预期结果。

4.在实验内容1的程序(2)输入时,若while语句后的{}省略,即while(____)s+=i;______;分析程序,写出预期结果。

5.简述while语句和do-while语句的区别。

三、算法流程图或实验步骤(可根据需要增删、修改)1.(1)for语句实现:算法流程图:#include<stdio.h>void main ( ){long s, n, k , i;scanf ("%ld",&n);k=2*n-1;s=0;for(i=1;i<=k;i=i+2)s+=i;printf("1+3+…+%ld=%ld\n",k,s);}实验步骤:Files→New→Files→C++source File→文件名:program4011.c→位置:E:\123\→确定→完善源程序→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果(2)while语句实现:算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);while(i<=2*n-1){s+=i;i=i+2;}printf("1+3+…+%ld=%ld\n",2*n-1,s);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4012.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(3)do-while语句实现:算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);do{s+=i;i=i+2;}while(i<=2*n-1);printf("1+3+…+%ld=%ld\n",2*n-1,s);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4013.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果2.(1)算法流程图:#include<stdio.h>void main(){int n,s=0,i,j,t;scanf("%d",&n);for(i=1;i<=n;i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}printf("%d\n",s);return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4021.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(2)算法流程图:#include<stdio.h>void main(){int i,j,k;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf(" ");for(k=1;k<=2*i-1;k++)printf("*");printf("\n");}for(i=1;i<=3;i++){for(j=1;j<=i;j++)printf(" ");for(k=1;k<=7-2*i;k++)printf("*");printf("\n");}}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4022.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(3)算法流程图:#include <stdio.h>int main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/x2=x1;day--;}printf("total=%d\n",x1);return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4023.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(4)算法流程图:#include <stdio.h>int main() {int i,j;for(i=1;i<=9;i++) {for(j=1;j<=9;j++)printf("%d*%d=%2d\t", i, j, i*j);printf("\n");}return 0;}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4024.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(5)算法流程图:#include<stdio.h>void main(){int n=0,i=1,m=0,sun=0;printf("请输入一个数");scanf("%d",&n);while(i<=n){m=m*10+i;sun+=m;i++;}printf("%d",sun);}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4025.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果(6)算法流程图:#include <stdio.h>void main(){char str[20];scanf("%s",str);printf("%d\n",atoi(str));}实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4026.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果3.(1)算法流程图:#include<stdio.h>void main ( ){long s, n, k , i;scanf ("%ld",&n);k=2*n-1;s=0;for(i=1;i<=k;i=i+2);s+=i;printf("1+3+…+%ld=%ld\n",k,s);}(2)实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4031.c→位置:E:\123\→确定→输入修改后的代码→Buid→是→查看编译结果4.(1)算法流程图:#include<stdio.h>void main ( ){long s=0,n,i=1;scanf("%ld",&n);while(i<=2*n-1)s+=i;i=i+2;printf("1+3+…+%ld=%ld\n",2*n-1,s);}(2)实验步骤:Files→Close Workspace→Files→New→Files→C++source File→文件名:program4031.c→位置:E:\123\→确定→输入修改后的代码→Buid→是→查看编译结果→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果四、实验结果及分析1.详情见第三项算法流程图2.详情见第三项算法流程图3.预期结果:编译时产生错误4.预期结果:程序虽然编译没有错误,但程序无效,并不能起到原题所需要的功能。

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

《C程序设计》课程实验报告学院:班级:姓名:学号:实验设备:计算机1台实验日期:2011年3月1日实验项目名称循环结构程序设计实验目的掌握使用三种循环语句实现循环结构的方法。

实验要求:能用while~ do~while for 三种循环语句实现循环结构,编写简单的程序,掌握这三种循环语句。

实验内容(包括步骤):1.猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半另一个,以后每天早晨都吃剩下的一半另一个,到第十天早晨再想吃时,就剩一个桃子。

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

要求:分别用三种语句编写程序。

2.编写程序验证下列结论:任何一个自然数n的立方都等于n个连续奇数之和。

例如:13=1;23=3+5;33=7+9+11;43=13+15+17+19。

要求:程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的自然数为0时止。

3.编写程序,求1-3+5-7+…-99+101的值。

4.编写程序,求e的值。

e ≈ 1+1/1!+1/2!+1/3!+1/4!+…+1/n!(1)用for循环,计算前50项。

(2)用while循环,要求直至最后一项的值小于10-6。

5.编写程序,输出从公元1600年至2000年所有闰年的年号。

每输出5个年号换一行。

判断公元年是否为闰年的条件是:(1)公元年数如能被4整除,而不能被100整除,则是闰年。

(2)公元年数如能被400整除也是闰年。

6.编写程序,打印以下图形:*************************7.输入一行字符,统计输入的字符中字母‘a’出现的次数(包括大小写)。

8.我国1991年有11.6亿人口,要求根据人口平均年增长率,计算从1991年算起经过多少年后我国的人口增加到15亿。

9.有一个四位数F=BBAA,前二位数相同,后二位数相同,此数又是某个自然数T的平方,求此数。

10.分解一个正整数的所有质因数调试与结果测试:部分程序出现错误经过调整后调试正常,达到题目要求的结果,运行正常。

代码注释: 4-1-1#include<stdio.h>int main(){int x,n;for(x=1,n=2;n<=10;n++){x=2*x+2;}printf("第一天共摘了%d个\n",x);return 0;}4-1-2#include<stdio.h>int main(){int x,n;x=1;n=2;do{x=2*x+2;n++;}while(n<=10);printf("第一天摘了%d个\n",x);return 0;}4-1-3#include<stdio.h>int main(){int x,n;x=1;n=2;while(n<=10){x=2*x+2;n++;}printf("第一天摘了%d个\n",x);return 0;}4-2#include<stdio.h>int main(){int n,m,t,s;s=0;scanf("%d",&n);m=n*n*n;printf("%d的三次方等于%d",n,m);t=n*(n-1)+1;while(s<m){s=s+t;printf("%4d",t);t=t+2;}printf("\n");return 0;}4-3#include<stdio.h>int main(){int i,n,sum,sign;i=1;sign=1;sum=0;for(n=0;n<=51;n++){i=(2*n-1)*sign;sign=-sign;sum=sum+i;}printf("值为%d\n",sum);return 0;}4-4-1#include<stdio.h>int main(){double e=1,t=1;int n;e=1;for(n=1;n<=49;n++){t=t*n;e=e+1/t;}printf("e=%4.2f\n",e);return 0;}4-4-2#include<stdio.h>#include<math.h>int main(){float e=1,t=1;int n=1;while(fabs(1/t)>=1e-6){t=t*n;n++;e=e+1/t;}printf("e=%10.8f\n",e);return 0;}4-5#include<stdio.h>int main(){int year,leap,m;for(year=1600,m=0;year<=2000;year++) {if(year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if(leap){printf("%6d",year);m++;}if(m%5==0)printf("\n");} printf("\n");return 0;}4-6#include<stdio.h>int main(){int i,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(" ");for(k=0;k<=2*i;k++)printf("*");printf("\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf(" ");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}return 0;}4-7#include <stdio.h>int main(){int i=0;char c;c=getchar();while(c!='\n'){if(c=='a'||c=='A')i++;c=getchar();}printf("字母a出现的次数是%d\n",i); return 0;}4-8#include<stdio.h>int main(){int y,n;float t;scanf("%f",&t);n=11.6;y=1;while(n<15){n=n*(1+t);y++;}printf("经过%d年以后人口达到十五亿\n",y);return 0;}4-9#include<stdio.h>#include<math.h>int main(){int a,b,c,d;for(b=1;b<=9;b++)for(a=0;a<=9;a++){ c=1000*b+100*b+10*a+a;d=sqrt(c);if(c==d*d)printf("这个数是%d\n",c);}return 0;}4-10#include<stdio.h>int main(){int a,i,j=0;scanf("%d",&a);for(i=2;i<=a;i++){while(a%i==0){j++;if(j==1) printf("%d=%d",a,i);else printf("*%d",i);a=a/i;}}return 0;}――――――――――――以下内容为教师填写―――――――――――――――教师评阅:成绩:良2011年月日。

相关文档
最新文档