实验2-循环结构题目 ( 2 )

合集下载

循环结构练习实验报告

循环结构练习实验报告

### 一、实验目的1. 理解并掌握循环结构的原理和应用。

2. 学会使用C语言中的while、do...while和for循环语句。

3. 熟悉循环控制语句(break、continue)的使用。

4. 能够运用循环结构解决实际问题。

### 二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C语言### 三、实验内容#### 1. 实验一:计算1到100的累加和实验步骤:1. 使用for循环语句,初始化变量sum为0,循环变量i从1到100。

2. 在循环体中,将i的值累加到sum变量上。

3. 循环结束后,输出sum的值。

代码实现:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("1到100的累加和为:%d\n", sum);return 0;}```#### 2. 实验二:打印水仙花数实验步骤:1. 使用for循环语句,初始化变量num为100,循环变量i从num到999。

2. 在循环体中,使用if语句判断num是否为水仙花数(即各位数字的立方和等于自身)。

3. 如果是水仙花数,则使用printf语句输出该数。

代码实现:```c#include <stdio.h>int main() {int num, digit, sum = 0;for (int i = 100; i <= 999; i++) {num = i;sum = 0;while (num > 0) {digit = num % 10;sum += digit digit digit;num /= 10;}if (sum == i) {printf("%d是水仙花数\n", i);}}return 0;}```#### 3. 实验三:打印九九乘法表实验步骤:1. 使用两层嵌套的for循环语句,外层循环变量i从1到9,内层循环变量j从1到i。

实验二循环结构程序设计

实验二循环结构程序设计

C语言程序设计实验报告实验二循环结构程序设计一、实验目的(1)掌握用while语句,do-while语句和for语句实现循环的方法;(2)掌握循环结构的嵌套;(3)掌握break语句和continue语句的使用方法。

二、实验内容及步骤1.相传国际象棋是古印度舍罕王的宰相达依尔发明的。

舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。

这位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。

舍罕王让人扛来一袋麦子,他要兑现他的许诺。

国王能兑现他的许诺吗?程序1:试编程计算舍罕王共要多少粒麦子赏赐他的宰相,这些麦子合多少立方米?(已知1立方米麦子约1.42e8粒)总粒数为:sum=1+2+22+23+…+263程序代码:#include<stdio.h>int main(){double i=0,sum=1,sum1=1;double v;while(i<=62){sum1=2*sum1;sum=sum+sum1;i++;}v=sum/1.42e8;printf("赏给他的麦子数为:%.0f\n",sum);printf("共有%.2f立方米\n",v);return 0;}运行结果:2. 求完数。

程序2:一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如6的因子为1,2,3,而6=1+2+3,因此6是“完数”。

编程找出1000之内的所有完数,输出所有的完数(要求:一行显示6个数);程序代码:#include<stdio.h>int main(){int i,j,m;printf("1000之内的完数有:");for(i=1;i<=1000;i++){m=0;//每次得到一个完数后把m置零for(j=1;j<i;j++){if(i%j==0)m=m+j;//累加所求的因子}if(m==i)//判断它的因子之和是否等于它本身printf("%d\t",i);}printf("\n");return 0;}运行结果:3.打印九九乘法表程序3:编程输出如下上三角形式的九九乘法表。

循环结构实验

循环结构实验

循环结构程序设计【实验目的】①掌握for、while和do-while三种基本的循环结构。

②掌握循环结构的嵌套,重点是双重嵌套。

实验5.1编写程序,计算10!。

这是一道累乘数字的题。

一般的方法是:设s是保存结果的变量,n为乘数,步骤如下:(1)为s和n赋初值:s = 1,n=1。

(2)将n与sum相乘,并把结果送回sum,即sum = sum * n。

(3)将n增加1,重复(2)直至n为10。

这样就可以判断用循环结构来实现。

由于循环次数也很确定,宜采用for循环。

当然也可以用while或do-while循环实现。

下面给出了while实现的参考代码。

希望同学改用for循环和do-while循环再做一遍,看是否得到同样的结果。

另外要注意的是由于10!是一个很大的数,要意识到这个数是否超出整型数所能表示的范围,本题是可以的。

假设要计算13!就超出了整型的范围,此时就要定义float型或double型的变量来存放计算结果。

【参考程序】#include <stdio.h>void main(){int n = 1, s = 1;while(n <=10){s = s * n;n += 1;}printf(“10! = %d\n ”, s);}实验5.2请编写程序实现:从键盘输入若干个数字,直到输入0时结束,统计并输出正数和负数的个数。

例如输入了12 -3 56 10 -120 0,这样就输出“共输入了5个数字,其中正数有3个,负数有2个”。

【指导】要求从键盘接收若干个数字,并且将输入的0作为循环结束的条件。

用while或do-while 语句实现更方便一些,当然也可以用for循环实现的,能不能试一试?用两个变量m和n分别保存正数的个数和负数的个数。

每接收一个数字就判断是否大于零,若大于0,正数个数加1,否则负数个数加1。

实验5.3请编写程序实现:从键盘输入若干字符,直到输入回车键时结束,统计并输出英文字母(包括大写和小写,不包括最后输入的回车键)的个数。

循环练习题及答案

循环练习题及答案

循环练习题及答案练习题一:基础循环1. 编写一个程序,使用循环结构打印出1到10的数字。

2. 编写一个程序,使用循环结构打印出1到100之间所有3的倍数。

3. 编写一个程序,使用循环结构找出1到100之间所有偶数的和。

答案一:1. 程序代码:```pythonfor i in range(1, 11):print(i)```2. 程序代码:```pythonfor i in range(1, 101):if i % 3 == 0:print(i)```3. 程序代码:```pythonsum_even = 0for i in range(1, 101):if i % 2 == 0:sum_even += iprint("偶数之和:", sum_even)```练习题二:条件循环1. 编写一个程序,使用循环结构打印出1到50之间所有5的倍数,直到遇到第一个偶数为止。

2. 编写一个程序,使用循环结构计算并打印出1到100之间所有7的倍数的乘积。

答案二:1. 程序代码:```pythonfor i in range(1, 51):if i % 5 == 0:if i % 2 == 0:print(i)breakprint(i)```2. 程序代码:```pythonproduct = 1for i in range(1, 101):if i % 7 == 0:product *= iprint("7的倍数的乘积:", product)练习题三:嵌套循环1. 编写一个程序,使用嵌套循环打印出如下的三角形图案: ```11 21 2 3...1 2 3 (10)```2. 编写一个程序,使用嵌套循环打印出以下图案:```AB BC C C...Z Z Z ...```答案三:1. 程序代码:```pythonfor i in range(1, 11):for j in range(1, i + 1):print(j, end=' ')print()2. 程序代码:```pythonfor i in range(65, 91): # ASCII值 65 到 90 对应 A 到 Z for j in range(1, i - 64 + 1): # 减去64是因为ASCII 值A是65print(chr(i), end='')print()```结束语:通过上述练习题及答案,我们不仅复习了循环结构的基本概念,还学习了如何使用条件循环和嵌套循环来解决实际问题。

顺序、选择与循环结构程序设计的实验报告

顺序、选择与循环结构程序设计的实验报告

C语言程序设计实验报告2010年12 月1日学号1028524060姓名时间2010年11月23日1,2节专业计算机科学与技术(JA V A方向)班级1班实验题目:顺序、选择与循环结构程序设计实验目的:(1)掌握各种类型数据的输人输出的方法,能正确使用各种格式转换(2)学会正确使用逻辑运算符和逻辑表达式。

(3)熟悉掌握用while语句,do-while语句和for语句实现循环的方法。

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

进一步学习调试程序实验内容与步骤:1、通过下面的程序掌握各种格式转换符的正确使用方法:(1)、输入下面的程序:(2)、运行此程序,观察结果:分析:不同的输入输出方法,输出的结果的类型是不同的。

printf格式字符中的格式字符d,i表示以带符号的十进制形式输出整数(正数不输出符号);u表示以无符号十进制形式输出整数;c表示以字符形式输出,只输出一个字符;f 表示以小数形式输出单、双精度数,隐含输出6位小数。

(3)、在此基础上将第10、15行改为:运行程序,分析结果:2、通过下面的实验:学会正确使用逻辑运算符和逻辑表达式。

有一函数:y=x(x<1)且y=2x-1(1≦x<10)且y=3x-1(x≧10)写一程序,输入x的值,输出y的值:运行结果:①②③(3)通过以下实验:熟悉掌握用while语句,do-while语句和for语句实现循环的方法。

Ⅰ、求1~100的和。

①用while语句实现循环运行结果:②用do—while语句实现循环:运行结果:③用for语句实现循环:运行结果:从上面的结果可以看出:求1~100的和可以使用三种不同的语句.由上面的程序设计可知:使用for语句来实现循环比while语句和do—while语句简单。

C语言中的for语句使用最为灵活,功能也较强。

Ⅱ、while语句和do—while语句的比较:输入下面的程序:运行情况如下:再运行一次:运行情况如下:再运行一次:可以看到:当输入的值小于或等于10时,二者得到相同的结果。

《C语言程序设计》实验.设计.习题.答案. 循环结构

《C语言程序设计》实验.设计.习题.答案. 循环结构

实验3 循环结构姓名:学号:实验日期:1.实验目的和要求(1)掌握while,for,do while语句实现循环结构的方法;(2)掌握循环结构和选择结构嵌套的设计方法及多重循环的设计方法;(3)掌握break,continue,goto语句使用方法。

2.实验内容:实验指导书中的实验五3.实验内容和步骤3.1相关知识点若程序进入死循环,怎样退出:程序中使用br eak语句或按“Ctrl+Break”3.2 实验结果5-1 该程序的功能是:输入一个数,除2求余,若余数为1,输出“I said”,并继续输入一个数,直到输入的数除2求余且余数不为1,则输出“Thanks.I need that!”按照书中调试的要求,本程序运行结果的完整画面如下所示:#include<stdio.h>int main(){int n;while(1){printf("enter a number:");scanf("%d",&n);if(n%2==1){printf("i said");continue;}break;}printf("thanks,i needed that!");}5-2 该程序运行结果如下图所示:#include<stdio.h>main(){int c;while((c=getchar())!='\n'){if(c>='a'&&c<='x'||c>='A'&&c<='X')c+=2;else if(c=='y'||c=='Y'||c=='z'||c=='Z')c=c-24;printf("%c",c);}putchar('\n');}5-3 解决该问题的算法:把图像分成1、4行和2、3行,用for循环将1、4行输出6个*,2、3行可直接输出“* *”。

python循环结构例题

python循环结构例题

python循环结构例题下面是一些Python循环结构的例题,用于训练学生对循环控制结构的理解和应用。

题目1:计算1到100的累加和。

要求:使用循环结构实现。

```pythonsum = 0for i in range(1, 101):sum += iprint(sum)```题目2:求100以内的所有偶数之和。

要求:使用while循环实现。

```pythonsum = 0i=0while i <= 100:if i % 2 == 0:sum += iprint(sum)```题目3:求1000以内所有能被3和5整除的数字之和。

要求:使用for循环实现。

```pythonsum = 0for i in range(1, 1001):if i % 3 == 0 and i % 5 == 0:sum += iprint(sum)```题目4:判断一个数是否为素数。

要求:使用循环结构实现。

```pythonnum = int(input("请输入一个正整数:"))is_prime = Trueif num <= 1:is_prime = Falsefor i in range(2, num):if num % i == 0:is_prime = Falsebreakif is_prime:print(num, "是素数")else:print(num, "不是素数")```题目5:打印九九乘法表。

要求:使用双重循环实现。

```pythonfor i in range(1, 10):for j in range(1, i + 1):print("%d*%d=%d" % (j, i, j * i), end="\t") print```题目6:用嵌套循环输出直角三角形。

```pythonfor i in range(1, 6):for j in range(1, i + 1):print("*", end="")print```题目7:用嵌套循环输出等腰三角形。

实验报告循环结构

实验报告循环结构

一、实验目的1. 理解循环结构的概念和作用;2. 掌握for循环、while循环和do-while循环的使用方法;3. 通过实验,加深对循环结构在实际编程中的应用。

二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm三、实验内容1. 循环结构的概念及作用2. for循环的使用3. while循环的使用4. do-while循环的使用(Python中无do-while循环,此处使用while循环实现)5. 循环结构的嵌套四、实验步骤1. 循环结构的概念及作用(1)循环结构是一种结构化编程方法,用于重复执行一组代码块,直到满足特定条件为止。

(2)循环结构的作用:a. 提高代码的可读性和可维护性;b. 实现重复操作,简化代码;c. 提高程序的执行效率。

2. for循环的使用(1)for循环的基本语法:for 变量 in 序列:循环体(2)for循环的实例:# 打印1到10的数字for i in range(1, 11):print(i)3. while循环的使用(1)while循环的基本语法:while 条件表达式:循环体(2)while循环的实例:# 打印1到10的数字i = 1while i <= 10:print(i)i += 14. do-while循环的使用(Python中无do-while循环,此处使用while循环实现)(1)do-while循环的基本语法:do:循环体while 条件表达式(2)do-while循环的实例:# 打印1到10的数字i = 1while True:print(i)i += 1if i > 10:break5. 循环结构的嵌套(1)循环结构嵌套的基本语法:外层循环:for 变量 in 序列:循环体for 变量 in 序列:循环体内层循环:for 变量 in 序列:循环体(2)循环结构嵌套的实例:# 打印1到10的乘法表for i in range(1, 11):for j in range(1, i + 1): print(j, end=" ")print()五、实验结果与分析1. 循环结构的概念及作用:通过实验,我们了解到循环结构在编程中的重要作用,它能够简化代码,提高程序的可读性和可维护性。

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

实验2 循环结构
程序填空
1.
本题分值:10
题目描述:有30个人在一家小饭馆里用餐,其中有男人、女人和小孩。

每个男人花了3先今,每个女人花了2先令,每个小孩花了1先令,一共花去50先令。

问男人、女人以及小孩各有几个人。

以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。

代码:
#include<iostream>
using namespace std;
int main()
{
int n; //n记录解的个数
int a,b,c; //分别记录男、女、小孩的人数
n=__(1)__; //初始化n的值
for(a=1;a<=30;a++)
{
for(b=1;b<=30;b++)
{
c=__(2)__;
if( __(3)__ )
{
cout<<"男人有:"<<a<<"个;"<<"女人有:"<<b<<"个;"<<"小孩有:"<<c<<"个。

"<<endl;
n++;
}
}
}
cout<<"共有"<<n<<"种方案"<<endl;
return 0;
}
2.
本题分值:10
题目描述:下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,请填空使程序完整,并在计算机上调试程序,以测试填入的部分是否正确。

代码:
#include <iostream>
using namespace std;
int main()
{
int n, k=1, s=0, m ;
for (n=1 ; n<=100 ; n++)
{
k=1 ; s=0 ;
__(1)__;
while ( __(2)__ )
{
k*=m%10;
s+=m%10;
__(3)__;
}
if (k>s) cout<<n<<' ';
}
return 0;
}
3.
本题分值:10
题目描述:一个数如果恰好等于除它本身的所有因子之和,这个数就称为完数。

例如,6=1+2+3, 6就称为完数。

输出1000以内所有满足完数条件的数及其个数。

请阅读以下不完整的程序,并在计算机上调试该程序以补足其中的空格,实现其功能。

代码:
#include<iostream>
using namespace std;
int main()
{
int n,s,i,count=0;
cout<<"1000以内的完数为:";
for(n=1;n<1000;n++)
{
s=0;
for(i=1;i<n;i++) //计算小于n的因数和
if (n%i__(1)__) s=s+i; //如果i是n的因数
if (s==__(2)__) //判断是否满足完数的条件
{
cout<<n<<" ";
count=count+1; //完数的个数+1
}
}
cout<<endl<<"1000以内完数的个数为:"<<__(3)__<<endl;
return 0;
}
4.
本题分值:10
题目描述:求100以内能被3整除且个位数字为9的所有正整数。

请阅读以下不完整的程序,并在计算机上调试该程序以补足其中的空格,实现其功能。

代码:
#include<iostream>
using namespace std;
int main()
{
int i;
for(i=1;i<__(1)__;i++)
{
if(i%3__(2)__ && i%__(3)__==9)
cout<<i<<" ";
}
return 0;
}
5.
本题分值:10
题目描述:求输入的两个正整数的最大公约数。

请阅读以下不完整的程序,并在计算机上调试该程序以补足其中的空格,实现其功能。

代码:
#include<iostream>
using namespace std;
int main()
{
int x,m,n;
cin>>m>>n;
if(m<n) x=m;
else __(1)__; //x取m和n中的较小值
//x从m和n的较小值开始到1的范围内递减寻找公约数
while(x>=__(2)__)
{
if(m%x==0 && n%x==0) //如果x是m和n的约数,x的值即为最大公约数__(3)__;
x=x-1;
}
cout<<x<<endl;
return 0;
}
程序设计
6.
本题分值:10
题目标题:数字求和。

时间限制:1000MS
内存限制:32768KB
题目描述:给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少?
输入描述:输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。

输出描述:输出一行,给出一个正整数,是5个数中小于a的数的和。

样例输入:
10 1 2 3 4 11
样例输出:
10
7.
本题分值:10
题目标题:球弹跳高度的计算。

时间限制:1000MS
内存限制:32768KB
题目描述:一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。

编程计算气球在第5次落地时,共经过多少米? 第5次反弹多高?
输入描述:输入一个整数h0,表示球的初始高度。

输出描述:两个数据s和h,分别表示第5次落地时共经过s米,第5次反弹高度为h米,s和h用空格隔开。

注意:结果可能是实数,结果用double类型保存。

提示:输出时不需要对精度特殊控制,用cout<<ANSWER即可。

样例输入:10
样例输出:28.75 0.3125
8.
本题分值:10
题目标题:求分数序列和。

时间限制:1000MS
内存限制:32768KB
题目描述:有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和。

输入描述:输入有一行:正整数n。

输出描述:输出有一行:分数序列的和(浮点数,精确到小数点后4位)。

【提示】
1. 最好在程序中使用双精度浮点数(double)记录求得的和。

2. 要输出浮点数、双精度数小数点后4位数字,可以用下面这种形式:
cout<<fixed<<setprecision(4)<<result<<endl;
按上面的形式控制输出格式时,需在源程序最开始加上一行:#include<iomanip>。

样例输入:
99
样例输出:
160.4849
9.
本题分值:10
题目标题:点和正方形的关系。

时间限制:1000MS
内存限制:32768KB
题目描述:在平面坐标系中,有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。

写一个程序,判断给定的多个点是否在这个正方形内。

输入描述:多组数据,每行包含两个浮点型数据,分别表示一个点的横、纵坐标,输入坐标为0,0时表示输入结束。

(注意,输入的数据不止3组)
输出描述:对每组输入的点进行判断,显示yes或no,表示是否在正方形中,最后输入的原点也要显示yes,然后才不再继续输入点坐标。

(当点在正方形的边上时,也认为在正方形内)
样例输入:
3 4
0.5 1
0 0
样例输出:
no
yes
yes
10.
本题分值:10
题目标题:抓交通肇事犯。

时间限制:3000MS
内存限制:32768KB
题目描述:一辆卡车违反交通规则,撞人后逃跑。

现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。

甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号所构成的数字正好等于某一个整数的平方。

请根据以上线索求出车号。

输入描述:无。

输出描述:直接显示一个四位整数表示肇事车号
样例输入:
样例输出:。

相关文档
最新文档