C语言循环实验报告

合集下载

循环队列操作实验报告

循环队列操作实验报告

实验目的:通过本次实验,掌握循环队列的基本概念和操作方法,了解其在实际应用中的优势,并能够熟练运用循环队列解决实际问题。

实验环境:操作系统:Windows 10编程语言:C语言开发环境:Visual Studio实验内容:1. 循环队列的定义及初始化2. 循环队列的入队操作3. 循环队列的出队操作4. 循环队列的判空操作5. 循环队列的判满操作6. 循环队列的遍历操作7. 循环队列的应用实例实验步骤:一、循环队列的定义及初始化1. 定义循环队列的数据结构:```c#define MAX_SIZE 100 // 定义队列的最大容量typedef struct {int data[MAX_SIZE]; // 存储队列元素的数组int front; // 队头指针int rear; // 队尾指针} CircleQueue;```2. 初始化循环队列:```cvoid InitQueue(CircleQueue q) {q->front = q->rear = 0; // 初始化队头和队尾指针}```二、循环队列的入队操作1. 判断队列是否已满:```cint IsFull(CircleQueue q) {return (q->rear + 1) % MAX_SIZE == q->front;}```2. 入队操作:```cint EnQueue(CircleQueue q, int e) {if (IsFull(q)) {return 0; // 队列已满,无法入队}q->data[q->rear] = e; // 将元素e入队q->rear = (q->rear + 1) % MAX_SIZE; // 更新队尾指针return 1; // 入队成功}```三、循环队列的出队操作1. 判断队列是否为空:```cint IsEmpty(CircleQueue q) {return q->front == q->rear;}```2. 出队操作:```cint DeQueue(CircleQueue q, int e) {if (IsEmpty(q)) {return 0; // 队列为空,无法出队}e = q->data[q->front]; // 将队头元素出队q->front = (q->front + 1) % MAX_SIZE; // 更新队头指针 return 1; // 出队成功}```四、循环队列的判空操作1. 判断队列是否为空:```cint IsEmpty(CircleQueue q) {return q->front == q->rear;}```五、循环队列的判满操作1. 判断队列是否已满:```cint IsFull(CircleQueue q) {return (q->rear + 1) % MAX_SIZE == q->front; }```六、循环队列的遍历操作1. 遍历循环队列:```cvoid TraverseQueue(CircleQueue q) {if (IsEmpty(q)) {printf("队列为空,无法遍历。

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

C语言循环结构程序设计实验报告
学生姓名:
学生学号
实验名称:循环结构程序设计
实验编号:四
实验日期:
实验学时:3
学院:
专业
年级:
一、实验目的
1.进一步练习选择结构的程序设计。
2.练习并掌握实现循环结构的三种方法。
3.练习并掌握选择结构与循环结构的嵌套。
4.掌握多重循环的应用。
5.学会单步跟踪的操作方法。
二、实验内容
实验内容和步骤
1分别用三种循环语句(while语句、do-while语句、for语句),实现求1~100的累加和。编程上机调试,总结出三种循环语句哪种实现起来方便、灵活。
修改程序,实现s=1+1/2+1/3+…+1/10。
运行结果:5050
每次按F8后,绿条会在while语句,sum=sum+i;i++;中移动,并且i和sum的值也有变化,不断地增加一,直到不满足条件。
#include<stdio.h>
void main()
{
float i,sum=0,t;
i=1;
if(i>=k+1)
{ printf(“%8d”,m); n++;}
while m>1000; printf(“\n”);
}
if(n%10==0)while(m<=1000)
3 sn=a+aa+…+a…a,其中a是1-9中的一个数字。n为一正整数,a和n均从键盘输入。(例如输入n,a为4,sn=8+88+888+8888)
求2—1000之间的全部素数(每行显示10个数)。
#include“math.h”

循环结构程序设计(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语⾔循环结构实验报告姓名:张乐 实验地点:⼀教524 实验时间:2021.5.6⼀、实验⽬的与要求1、熟练掌握使⽤while、do...while、和for语句实现循环的⽅法。

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

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

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

⼆、实验内容实验5.3.11、问题描述:求数列前n项的和2、实验代码:#include<stdio.h>void main(){int n,i,j,sign=1;float fac,sum;printf("Please input value of n:");scanf("%d",&n);sum=0.0;for(i=1;i<=n;i++){fac=1.0;for(j=1;j<=2*i-1;j++){fac=fac*j;}fac=fac*sign;sum=sum+fac;sign=-sign;}printf("sum=%.0f\n",sum);}3、效果截图:实验5.3.21、问题描述:求所有的⽔仙花数,三位⾃然数的百⼗个位上数值的⽴⽅和等于数本⾝的数称为⽔仙花数。

2.实验代码#include<stdio.h>void main(){int x,y,z;int k=100;while(k<=999){x=k/100;y=(k/10)%10;z=k%10;if(k==x*x*x+y*y*y+z*z*z)printf("%d\n",k);k++;}}3、效果截图:实验5.3.41、问题描述:输⼊四个字符型数字,将其⼗进制数显⽰出来。

2.实验代码:#include<stdio.h>void main(){char c;int k,data;data=0;for(k=0;k<4;k++){while(1){c=getchar();if(c>='0'&&c<='9')break;}if(k==0){data+=(c-'0')*1000;}if(k==1){data+=(c-'0')*100;}if(k==2){data+=(c-'0')*10;}if(k==3){data+=(c-'0');}}printf("Data=%d",data);}3、效果截图:4、问题分析:明确变量类型后,将for与while嵌套,利⽤if语句进⾏变量类型转换实验5.3.5.21、问题描述:⼀正整数数列,前四项和为26,积为880,求该数列前六项值与和。

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语言是一种广泛应用于系统程序开发的高级编程语言。

循环结构是C语言中重要的概念,通过循环结构,可以重复执行一段代码,提高程序的效率与可读性。

本实验旨在通过编写C语言程序来掌握循环结构的使用方法,并通过实际的实验案例来加深对循环结构的理解。

背景知识在开始实验之前,我们需要了解一些基础的C语言知识。

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

1.for循环:通过指定循环变量的初始值、循环条件和循环变量的增量来控制循环的执行次数。

2.while循环:在每次循环开始前判断循环条件是否满足,如果满足则执行循环体,否则结束循环。

3.do-while循环:与while循环相似,但是循环体至少会被执行一次,然后再判断循环条件是否满足。

在实验中,我们将使用这三种循环结构来完成各种任务。

循环控制语句除了基本的三种循环结构外,C语言还提供了一些循环控制语句来控制循环的执行。

1.break语句:用于立即退出循环,跳出循环体。

2.continue语句:用于立即结束本次循环,跳过剩余循环体的执行,开始下一次循环。

这些循环控制语句在实际编程中非常实用,可以根据需要在循环内部进行灵活的控制。

实验过程实验案例一:求和在这个实验案例中,我们将使用for循环结构来求解给定范围内的整数和。

1.首先,我们需要定义一个用于存储求和结果的变量sum,并初始化为0。

2.接下来,我们通过for循环遍历给定的整数范围,将每个整数累加到sum中。

3.最后,我们输出求和结果sum。

下面是代码实现示例:#include <stdio.h>int main() {int sum = 0;int start = 1, end = 100;for (int i = start; i <= end; i++) {sum += i;}printf("Sum: %d\n", sum);return 0;}实验案例二:乘法表在这个实验案例中,我们将使用嵌套的for循环结构来输出乘法表。

c语言循环实验报告

c语言循环实验报告

c语言循环实验报告C语言循环实验报告引言:C语言是一种广泛应用于程序设计和开发的高级编程语言。

而循环结构是C语言中最为重要和基础的语法之一,它可以帮助我们重复执行某些特定的代码块,提高程序的效率和灵活性。

本实验旨在通过实际编程实践,探索C语言中循环结构的使用方法和应用场景,并进一步加深对循环的理解。

实验一:for循环在C语言中,for循环是最常用的循环结构之一。

它的基本语法如下:```for (初始化表达式; 条件表达式; 更新表达式) {循环体语句;}```在本实验中,我们使用for循环来实现一个简单的九九乘法表打印程序。

通过嵌套的for循环,我们可以方便地控制行和列的输出,实现乘法表的格式化打印。

以下是代码示例:```#include <stdio.h>int main() {int 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;}```通过运行以上代码,我们可以得到一个完整的九九乘法表。

实验二:while循环除了for循环,C语言中的while循环也是常用的循环结构之一。

它的基本语法如下:```while (条件表达式) {循环体语句;更新表达式;}```在本实验中,我们使用while循环来实现一个简单的猜数字游戏。

游戏规则是计算机随机生成一个1到100的整数,玩家通过输入猜测的数字,计算机根据猜测结果给出相应的提示,直到猜中为止。

以下是代码示例:```#include <stdio.h>#include <stdlib.h>#include <time.h>int main() {int target, guess;srand(time(0));target = rand() % 100 + 1;printf("猜数字游戏开始!\n");printf("请输入一个1到100的整数:"); scanf("%d", &guess);while (guess != target) {if (guess > target) {printf("猜大了!请重新输入:"); } else {printf("猜小了!请重新输入:"); }scanf("%d", &guess);}printf("恭喜你,猜对了!\n");return 0;}```通过运行以上代码,我们可以体验到一个简单而有趣的猜数字游戏。

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语句实现上面的求和计算。

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语言循环语句实验报告
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++) {

循环语句的实验报告

循环语句的实验报告

一、实验目的1. 理解循环语句的概念和作用。

2. 掌握for循环、while循环和do-while循环的使用方法。

3. 熟悉循环语句的嵌套和跳出循环的方法。

二、实验环境1. 操作系统:Windows 102. 编程语言:C语言3. 编译器:Dev-C++三、实验内容1. 循环语句的基本概念2. for循环3. while循环4. do-while循环5. 循环的嵌套6. 跳出循环的方法四、实验步骤1. 循环语句的基本概念循环语句是用于重复执行某段代码的语句。

常见的循环语句有for循环、while循环和do-while循环。

2. for循环for循环是C语言中最常用的循环语句之一。

其基本语法如下:```for (初始化表达式; 循环条件; 循环变量){// 循环体}```其中,初始化表达式用于初始化循环变量;循环条件用于判断是否继续执行循环体;循环变量用于在每次循环结束后更新。

3. while循环while循环是另一种常用的循环语句。

其基本语法如下:```while (循环条件){// 循环体}```当循环条件为真时,执行循环体;当循环条件为假时,退出循环。

4. do-while循环do-while循环与while循环类似,但do-while循环至少执行一次循环体。

其基本语法如下:```do{// 循环体} while (循环条件);```5. 循环的嵌套循环的嵌套是指在一个循环体内部再使用另一个循环语句。

例如:```for (i = 0; i < 5; i++){for (j = 0; j < 5; j++){// 循环体}}```6. 跳出循环的方法在循环过程中,有时需要提前退出循环。

这可以通过使用break语句和continue 语句实现。

- break语句:用于立即退出循环,不管循环条件是否为真。

- continue语句:用于跳过当前循环的剩余部分,直接进入下一次循环。

五、实验结果与分析1. 循环语句的基本概念通过实验,我们了解了循环语句的概念和作用。

C语言循环结构实习报告-副本

C语言循环结构实习报告-副本

C语言循环结构实习报告-副本第一篇:C语言循环结构实习报告 - 副本认识(实习)报告实验(实习)名称循环结构程序设计日期得分指导教师系专业年级班次姓名学号一、实验目的(1)掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。

⑵了解条件型循环结构的基本测试方法。

⑶掌握如何正确地控制技术型循环结构的次数。

⑷了解对技术型循环结构进行测试的基本方法。

⑸了解在嵌套循环结构中,提高程序效率的方法。

二、实验内容1.输入一个正整数,并将其颠倒过来,如12345对应54321.程序:#include#includeint main(){int n,m,t=0;scanf(“%d”,&n);if(n<0){printf(“数据输入错误!n”);exit(0);}while(n!=0){m=n%10;t=t*10+m;n=n/10;}printf(“反序数为: %dn”,t);return 0;}运行:12345反序数为: 54321Press any key to continue2.将一个长整型数s的每一位数位上的偶数依次取出来,构成一个新的数t,其高位仍在高位,低位仍在低位,如s=87653142时,t中的数为8642.程序:#includeint main(){long s,t=0,p=1;scanf(“%ld”,&s);while(s!=0){if((s%10)%2==0){t=t+(s%10)*p;p=p*10;}s=s/10;}printf(“%ld“,t);return 0;}运行:876531428642Press any key to continue_3.判断101~200之间有多少个素数。

程序:#include#includeint isprime(int m);int main(){int n,s=0;for(n=101;n<=200;n++){if(isprime(n))s++;}printf(”%dn",s);return 0;}int isprime(int m){int i;for(i=2;i<=sqrt(m);i++)if(m%i==0)return 0;return 1;}运行:Press any key to continue_三、分析与讨论(1)总结条件循环结构的一般方法。

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。

循环顺序结构实验报告

循环顺序结构实验报告

一、实验目的1. 理解循环顺序结构的概念和作用。

2. 掌握C语言中循环结构的实现方法。

3. 通过实际编程,加深对循环顺序结构的理解和应用。

二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C语言三、实验内容本次实验主要涉及C语言中的循环顺序结构,包括for循环、while循环和do-while循环。

1. for循环(1)实验目的:理解for循环的语法结构,掌握for循环的使用方法。

(2)实验步骤:① 创建一个名为“for循环实验.c”的C语言源文件。

② 编写以下代码:```c#include <stdio.h>int main() {int i;for(i = 1; i <= 10; i++) {printf("i的值为:%d\n", i);}return 0;}```③ 编译并运行程序,观察输出结果。

(3)实验结果:程序输出1到10的整数。

2. while循环(1)实验目的:理解while循环的语法结构,掌握while循环的使用方法。

(2)实验步骤:① 创建一个名为“while循环实验.c”的C语言源文件。

② 编写以下代码:```c#include <stdio.h>int main() {int i = 1;while(i <= 10) {printf("i的值为:%d\n", i);i++;}return 0;}```③ 编译并运行程序,观察输出结果。

(3)实验结果:程序输出1到10的整数。

3. do-while循环(1)实验目的:理解do-while循环的语法结构,掌握do-while循环的使用方法。

(2)实验步骤:① 创建一个名为“do-while循环实验.c”的C语言源文件。

② 编写以下代码:```c#include <stdio.h>int main() {int i = 1;do {printf("i的值为:%d\n", i);i++;} while(i <= 10);return 0;}```③ 编译并运行程序,观察输出结果。

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

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

甘肃政法学院本科生实验报告( 五)姓名:赵明翔学院:公安技术学院专业:安全防范工程班级: 2015级安全防范工程班实验课程名称:程序设计实验日期:2016年月日开课时间:2015学年第二学期实验题目实验5 循环结构程序设计小组合作姓名赵明翔班级安全防范工程学号201583130145一、实验目的1.熟悉掌握用while语句,do...while 语句和for语句实现循环的方法。

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

3.进一步学习调试程序。

二.实验环境Miscroft Visual C++6.0环境。

三、实验内容与步骤编程序并上机调试程序。

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

程序如下:#include<stdio.h>int 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);return 0;}运行结果:(2)输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字李方和等于该数本身。

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的形式, 实验过程中开始的程序无法运行, 原因是某些函数变量名在使用前没有定义, 循环在嵌套使用过程中出现交叉错误, 部分函数名的参数定义错误。

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

实验名:循环结构实验目的1、掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。

2、了解条件型循环结构的基本测试方法。

3、掌握如何正确地控制计数型循环结构的次数4、了解对计数型循环结构进行测试的基本方法5、了解在嵌套循环结构中,提高程序效率的方法二、实验内容(一))题目11、题目内容描述1、下面是一个计算e的近似值(使误差小于给定的δ)的程序。

main(){doublee=1.0,x=1.0,y,detax;inti=1;printf(“\npleaseinputenteraerror:”);scanf(“%lf”,&detax);y=1/x;while(y>=detax){x=x*I;y=1/x;e=e+y;++i;}printf(“%12.10lf”,e);}2、实验步骤(1)阅读上面的程序,写出程序所依据的计算公式。

(2)当输入的detax各是什么值时,能分别使程序按下面的要求运行:.不进入循环;.只循环一次;.只循环两次;.进入死循环(程序将永远循环下去)。

为了能知道程序循环了多少次,应该在程序中增加一条什么样的语句?(3)原程序中while语句中的y>=detax,分别换成y>detax,y=detax,y<detax,y<=detax,观察程序运行将会有什么变化。

假如不知道机器内的程序中的各语句实际上是什么,分别输入什么样的detax来测试出while语句的循环条件写错了。

(4)把原程序中while语句之前的y=1/x语句去掉,观察程序的运行将会发生什么样的变化。

假如不知道机器内的程序实际上是怎么写的,输入什么样的detax就能测试出少了上述这条语句。

(5)若把原程序中的++i换成i++,观察程序的运行发生了什么变化?假如不知道这条语句到底是怎么写的,输入什么样的detax就能测试出这条语句写错了.(6)把原程序中的while结构改写成do—while结构,再分别按上述的(2)、(3)两步进行实验。

2、输入和输出信息描述及数据类型确定;(1)、输入数据序号输入数据描述数据类型1 e,x,y,detax double2 i int (2)输出数据序号输出数据描述数据类型1 E double 3、程序源代码(填写程序调试正确后的代码)#include<stdio.h>intmain(){doublee,x,y,detax;inti;e=1.0;x=1.0;i=1.0;printf("pleaseinputenteraerror:\n");scanf("%lf",&detax);y=1/x;while(y>=detax){x=x*i;y=1/x;e=e+y;++i;}printf("%12.10lf",e);return0;}7、程序调试错误序号错误信息(列出出错语句以及出错提示)是否解决解决方法1 格式不对是手动调整2 warning:returntypedefaultsto'int'[-Wreturn-type]| 是在main()前加上int3 error:stray'\243'inprogram|error:stray'\273'inprogram| 是将doublee=1.0,x=1.0,y,detax;inti=1;改为doublee,x,y,detax;inti;e=1.0;x=1.0;i=1.0;4 D:\程序\e近似值\main.c||Infunction'main'error:stray'\241'inprogram| 是将printf(“\npleaseinputenteraerror:”);改为printf("pleaseinputenteraerror:\n");5 error:stray'\241'inprogram| 是将scanf(“%lf”,&detax);改为6 error:'I'undeclared(firstuseinthisfunction)| 是将I改为i7 c|19|error:stray'\241'inprogram| 是将printf(“%12.10lf”,e);改为printf("%12.10lf",e);8 c|20|warning:controlreachesendofnon-voidfunction[-Wreturn-type]|是在后一个大括号前加上return0;8、测试与结果分析(1)、测试数据与结果测试序号测试用例选取原因测试输入数据测试输出结果是否正确结果分析1 不循环2 1.0000000000 是2 循环一次 1 是3 循环两次0.7 是死循环0 无是(2)、相关问题回答(1)阅读上面的程序,写出程序所依据的计算公式。

答:e=1+1/2+1/6…+1/i!(2)当输入的detax各是什么值时,能分别使程序按下面的要求运行:.不进入循环;.只循环一次;.只循环两次;.进入死循环(程序将永远循环下去)。

为了能知道程序循环了多少次,应该在程序中增加一条什么样的语句?答:大于1不进入循环,等于1只循环一次,大于0.5小于1只循环两次,等于0进入死循环(程序将永远循环下去)。

应增加printf(“i=%d”,i-1);(3)原程序中while语句中的y>=detax,分别换成y>detax,y=detax,y<detax,y<=detax,观察程序运行将会有什么变化。

假如不知道机器内的程序中的各语句实际上是什么,分别输入什么样的detax来测试出while语句的循环条件写错了。

答:y>detax,输入不小于1时不进行循环,输出1;输入小于1时则会进行循环。

y=detax,当输入为0时,y被赋值为0,直接结束循环;当输入不为0,则进入死循环。

y<detax,输入不大于1时不进行循环,输出为1;输入大于1时则进入死循环。

y<=detax,输入不小于1时进入死循环;输入小于1则不进行循环,输出1。

分别输入3,0.5,1即可。

(4)把原程序中while语句之前的y=1/x语句去掉,观察程序的运行将会发生什么样的变化。

假如不知道机器内的程序实际上是怎么写的,输入什么样的detax就能测试出少了上述这条语句。

答:输入1.(5)若把原程序中的++i换成i++,观察程序的运行发生了什么变化?假如不知道这条语句到底是怎么写的,输入什么样的detax就能测试出这条语句写错了.(6)把原程序中的while结构改写成do—while结构,再分别按上述的(2)、(3)两步进行实验。

答:(2)步与原来while相同。

(3)步当有的输入条件不符合判断条件时,仍会先进行一次循环后结束,而while 则直接结束。

#include<stdio.h>intmain(){doublee,x,y,detax;//定义变量inti;e=1.0;//赋值x=1.0;i=1.0;printf("\npleaseinputenteraerror:");scanf("%lf",&detax);//输入detaxy=1/x;do{x=x*i;y=1/x;e=e+y;++i;}while(y>=detax);//执行do…while循环printf("%12.10lf\n",e);//输出printf("i=%d\n",i-2);})题目2(二)1、题目内容描述下面是一个用以计算的C程序。

main(){inti,j;longsum=0;for(i=1,i<=20,i++)for(j=1;j<=3;j++)sum=sum+(i+1)*(i+1)*(j+2)printf(“sumis:%d\n”,sum);}2、实验步骤(1)将上述程序中的和分别做什么样修改,能使程序按如下要求运行:.不循环;.外循环1次,不进入内循环;.外循环,内循环各1次;.外循环1次,内循环2次;外循环2次,内循环1次;.外循环19次,内循环3次;.外循环20次,内循环2次;.外循环21次,内循环3次。

(2)试修改程序,以便能知道控制表达式i=1;j<=20;i++和j=1;j<3;j+=各执行了多少次?(3)内循环与外循环的控制表达式进行对换,观察程序的执行结果有无变化,并且观察对换后的外循环与内循环控制表达式执行的总次数有无变化?(4)将(3)中程序写为main(){inti,j,k;longsum=0;for(j=1.j<=3.j++){k=j+2;for(i=1;i<=20;i++)sum=sum+(i+1)*(i+1)**k;}printf(“sumis:%d\n”,sum);}观察程序的执行结果有无变化?(5)将(3)中程序改写为main(){intI,j,m,n;longsum=0;for(j=1;j<=3;j++){m=j+2;for(I=1;j<=20;I++){n=I+1;sum=sum+m*m*k;}}printf(“sumis:%d\n”,sum);}观察程序的执行结果有无变化?(6)在(5)的程序中,若将外循环控制表达式分别做如下修改:.j=1;j<3;j++.j=1;j=3;j++.j=1;j>=3;j++.j=1;j>3;j++.j=1;j<=3;j--.j=1;j>3;j--.j=1;j<3;j++.j=0;j<=3 ;j+=.j=0;j<3;j++j=1;j<=3;j++j=1;j<3;++j观察程序的执行结果有无变化2、输入和输出信息描述及数据类型确定;(1)、输入数据序号输入数据描述数据类型1 I,j int2 sum longint(2)输出数据序号输出数据描述数据类型1 sum Longint3、程序源代码(填写程序调试正确后的代码)#include<stdio.h>main(){inti,j;longsum=0;for(i=1;i<=20;i++)for(j=1;j<=3;j++)sum=sum+(i+1)*(i+1)*(j+2);printf("sumis:%d\n",sum);}4、程序调试错误序号错误信息(列出出错语句以及出错提示)是否解决解决方法1 |6|warning:valuecomputedisnotused[-Wunused-value]| 是将for(i=1;i<=20;i++)改为for(i=1;i<=20;i++)2 |2|warning:returntypedefaultsto'int'[-Wreturn-type]| 是在main()前加上int3 |9|error:expected';'before'printf'| 是sum=sum+(i+1)*(i+1)*(j+2)后面加上分号4 |9|error:stray'\241'inprogram| 是将printf(“sumis:%d\n”,sum);改为printf("sumis:%d\n",sum);5 |10|warning:controlreachesendofnon-voidfunction[-Wreturn-type]| 是加上return0;否6 |9|warning:format'%d'expectsargumentoftype'int',butargument2hastype'longint'[-Wformat=]|、相关问题回答(2)(1)将上述程序中的和分别做什么样修改,能使程序按如下要求运行:.不循环;.外循环1次,不进入内循环;.外循环,内循环各1次;.外循环1次,内循环2次;外循环2次,内循环1次;.外循环19次,内循环3次;.外循环20次,内循环2次;.外循环21次,内循环3次。

相关文档
最新文档