实验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语言程序设计》实验.设计.习题.答案. 循环结构
实验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循环结构的例题,用于训练学生对循环控制结构的理解和应用。
题目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. 循环结构的概念及作用:通过实验,我们了解到循环结构在编程中的重要作用,它能够简化代码,提高程序的可读性和可维护性。
实验2-8参考答案
实验二、选择结构参考答案1.修改下列程序,使之满足当x为10时输出“= =”,否则输出“!=”的条件。
#include"stdio.h"main(){int x;scanf("%d",&x);if(x==10)printf("==\n");else printf("!=\n");}2.修改下列程序,使之实现以下功能:#include “stdio.h”main( ){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if (a==b){if(b==c)printf(“a==b==c”);}elseprintf(“a!=b”);}3.程序填空。
从键盘输入任意一个字母,将其按小写字母输出。
#include <stdio.h>main(){ char c;scanf("%c",&c);if (c>='A'&&c<='Z')c=c+32;printf("\n%c",c);}7. 有一函数x (x<1)y = 2x–1 (1≤x<10)3x–11 (x≥10)编写程序输入x,输出y值。
#include "stdio.h"main(){int x,y;scanf ("%d",&x);if (x<1)y=x;else if(x<10)y=2*x-1;elsey=3*x-11;printf ("%d",y);}9.给一个不多于3位的正整数,要求:(1)求出它是几位数;(2)、分别打出每一位数字;(3)、按逆序打出各位数字,例如原数为321,应输出123。
#include "stdio.h"void main(){int a,b,c,x,n;scanf("%d",&x);a=x/100;b=(x-a*100)/10;c=x%10;if(a!=0)printf("%d为3位数,原数为%d,逆序数为%d\n",x,x,c*100+b*10+a);else if(b!=0)printf("%d为2位数,原数为%d,逆序数为%d\n",x,x,c*10+b);elseprintf("%d为1位数,原数为%d,逆序数为%d\n",x,x,c);}实验三、循环结构实验(1)1.分析并修改下面的程序,使该程序能正常结束运行。
循环结构程序设计练习题 内含答案
第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。
main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf("%d\n",s);}A.自然数1~9的累加和 B.自然数1~10的累加和C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和2、以下关于for语句的说法不正确的是( A )。
A. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用break跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是( d )。
A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环4、以下程序程序的执行后的输出结果是( c )。
main(){int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);}A.7 5 3B. 3 5 7C.3 6 9D.7 5 15、以下程序运行后的输出结果是( A )。
void fun(char*s){ while(*s){ if(*s%2==0) printf(“%c”,*s); s++;}}main(){ char a[]={“good”};fun(a);printf(“\n”);}注意:字母a的ASCⅡ码值为97A.dB.goC.godD.good6、已知 int t=0; while(t=1){...} 则以下叙述正确的是( B )。
A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while(!x!=0)s+=++x;printf("%d",s); 则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为( C )。
循环结构的程序设计实验
一、实验目的
通过针对循环问题求解的程序填空,认识循环结构的程序流程框架,理解循环结构流程控制语句的正确应用以及条件的正确表示、循环入口和循环结束的正确控制。
二、实验内容
1、题目:输入某年某月某日,判断这一天是这一年的第几天?
算法分析提示:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天。
特殊情况:闰年且输入月份大于3时需考虑多加一天。
请按照表格中“期待的输出”要求,将程序空缺的【1】、【2】、【3】、【4】、【5】语句补充完整,并调试运行,针对每一组输入,将对应的输出填写在表中。
【1】month
【2】case 11:sum=303;break;
【3】case 12:sum=334;break;
【4】return 0
【5】sum++
2、题目:将一个正整数分解质因数。
算法分析提示:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1) 如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2) 如果n不等于最小的质数k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
请按照表格中“期待的输出”要求,将程序空缺的【1】、【2】、【3】语句补充完整,并调试运行,针对每一组输入,将对应的输出填写在表中。
【1】i<=n 【2】n==i 【3】break。
C++循环结构 23道题含答案
输入4 900 2000 4000 6000
输出0 60 160 360
#include<iostream>
using namespace std;
int main()
{
double m,tax;;int i,n;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>m;
#include<iostream>
using namespace std;
int main()
{
int n,s=0;
cin>>n;
while(n>0)
{if(n%2!=0)
s=s+n;
cin>>n;
}
cout<<s<<endl;
return 0;
}
循环10:求与
从键盘输入若干正数,对其求与并输出,遇到负数则终止输入。
输入:西瓜个数,输出:天数
输入10输出2
输入50输出4
测试
输入120输出5
#include<iostream>
using namespace std;
int main()
{
int n,d=0;
cin>>n;
while(n>0)
{
d++;
n=n/2-2;
}
cout<<d<<endl;
return 0;
cout<<"Fail"<<endl;
循环结构例题和习题
循环结构用于执行一些重复的操作。
常见的重复操作有,(1)累加、累积:重复累积一批可以有规律地计算出来的数据。
(2)递推:反复地从一个中间结果计算出来下一个中间结果。
(3)对一系列类似的数据进行同样的加工处理。
如果重复操作的次数比较多,或者需要重复的次数无法事先确定,就需要通过循环结构实现。
在循环结构程序中,各个语句是按照位置的先后顺序执行的,且顺序结构中的每个语句都会被执行到。
【例1】编写程序,输入n,求1! + 2! + ... + 20!的值。
该问题中有一个重复的累加,累加的次数由变量n的值确定,应当考虑用循环实现。
/*程序功能:计算平方和*/int main ( ){long i, j;long prod;long sum = 0;for ( i = 1; i <= 20; i = i + 1 ){prod = 1;for ( j = 1; j <= i; j = j + 1 ){prod = prod * j;}sum = sum + prod;}printf ( "sum = %ld\n", sum );return 0;}程序的运行情况:sum = 268040729例7.1、例7.2、例7.3的功能都是重复累计一批可以有规律地计算出来的数据。
【例2】编写程序,输出1-200之间的完全平方数。
判断一个整数n是否为完全平方数,可以从1开始,逐个检查小于不超过n的整数,看其平方是否等于n。
如果存在某个数的平方等于n,则说明n是完全平方数。
否则,n不是完全平方数。
第一个完全平方数为a1=12;一般地,设第i个完全平方数为a i=i2,则第i+1个完全平方数应该是a i+1=(i+1)2 =i2+2i+1=a i+2i+1。
由于计算a i+1的值需要a i的值,所以可以使用循环。
/*程序功能:输出1-200之间的完全平方数*/int main ( ){int i = 0;int num;for ( num = 1; num <= 200; num = num + 2 * i + 1 ){i = i + 1;printf ( "No.%d complete square number is: %ld\n", i, num );}return 0;}程序运行结果:No.1 complete square number is:1No.2 complete square number is:4No.3 complete square number is:9No.4 complete square number is:16No.5 complete square number is:25No.6 complete square number is:36No.7 complete square number is:49No.8 complete square number is:64No.9 complete square number is:81No.10 complete square number is:11No.11 complete square number is:121No.12 complete square number is:144No.13 complete square number is:169No.14 complete square number is:196【例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语言循环实验报告
实验名:循环结构实验目的1、掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。
2、了解条件型循环结构的基本测试方法。
3、掌握如何正确地控制计数型循环结构的次数4、了解对计数型循环结构进行测试的基本方法5、了解在嵌套循环结构中,提高程序效率的方法二、实验内容(一))题目11、题目内容描述1、下面是一个计算e 的近似值(使误差小于给定的δ)的程序。
main(){double e=1.0,x=1.0,y,detax;int i=1;printf(“\n please input enter a error:”);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)两步进行实验。
实验二 循环结构解答
实验二循环结构程序设计【实验目的】1掌握循环结构while、do-while、for的使用。
2了解转向语句的使用。
3学习循环结构的嵌套使用。
【实验内容】⒈编写程序用公式:计算e的近似值。
直到最后一项小于给定精度。
#include <stdio.h>void main(){double e = 0.0,x = 1.0,y,z;int n=1;printf("input 精度:");scanf("%lf",&z);y=1/x ;while(y>=z){x*=n;y=1/n;e+=y;++n;}e=e+1;printf("e= %f\n",e);}⒉有一对兔子,从第三个月起每个月生一对兔子,小兔子从第三个月起每个月又生一对兔子,假设所有兔子都不死,编程序计算每个月的兔子是多少对(求20个月)。
#include <stdio.h>void main( ){int f1,f2,f3;int i;f1=f2=1;for(i=3;i<=20;i++){f3=f1+f2;printf("%d月兔子数为:%f",i,f3);f1=f2;f2=f3;}}⒊编写程序打印如图3-1所示蝶形图形。
#include <stdio.h>void main(){int i,j,k,d;for(i=-3;i<=3;i++){printf("\n");d=i;if (i<0)d=-i;for (j=1;j<=10-3*d;j++)printf(" ");for (k=1;k<=6*d+3;k++)printf("B");}printf("\n");}⒋从键盘输入任意多个整数(-999为结束标志),计算其中正数之和。
C程序设计实验补充题(循环结构)
北京建筑工程学院计算机教学与网络信息部C语言程序设计基础实验补充题——循环结构部分1.养兔子/acmhome/problemdetail.do?&method=showdetail&id=1063题目描述:一对成熟的兔子每月能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是一个月,而成熟后的第二个月才开始生小兔。
某人领养了一对小兔子,一公一母,请问,第N个月以后,他将会得到多少对兔子。
输入:测试数据包括多组,每组一行,为整数n(1≤n≤90)。
输入以0结束。
输出:对应输出第n个月有几对兔子(假设没有兔子死亡现象,而且是一夫一妻制)。
样例输入:12样例输出:122.找零钱/acmhome/problemdetail.do?&method=showdetail&id=1068题目描述:我们知道人民币有1、2、5、10、20、50、100这几种面值。
现在给你n(1≤n≤250)元,让你计算换成用上面这些面额表示且总数不超过100张,共有几种。
比如4元,能用4张1元、2张1元和1张2元、2张2元,三种表示方法。
输入:输入有多组,每组一行,为一个整合n。
输入以0结束。
输出:输出该面额有几种表示方法。
样例输入:14样例输出:13提示:如果我告诉你,这题是用暴力穷举的方法,你能通过吗?^_^3.漂亮菱形/acmhome/problemdetail.do?&method=showdetail&id=1069题目描述:*************************上面的菱形漂亮吗?现给出菱形的高度,要求你打印出相应高度的菱形,比如上面的菱形高度为7。
输入:测试数据包括多行,每行1个整数h,h为奇数,代表菱形的高度。
输入以0结束。
输出:输出每组对应的菱形。
样例输入:17样例输出:**************************4.统计1到N之间数字1的个数/acmhome/problemdetail.do?&method=showdetail&id=1163题目描述:N为正整数,计算从1到N的所有整数中包含数字1的个数。
循环结构实验参考答案
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
{ n=a*100+b*10+c;
if(n==a*a*a+b*b*b+c*c*c)
printf("%d\t",n);
}
(2)对于100-999间的每一个数,使用适当的表达式求出其百位、十位、个位并进行判断。
int a,bΒιβλιοθήκη c,n; printf("Narcissistic Numbers:\n");
[略]
6.求水仙花数。水仙花数是指满足下列条件的三位整数:各位数字的立方和正好等于这个数本身。
提示:此题可以思考两种思路:
(1)列出百位、十位、个位的各种取值,形成一个三重循环,再由三个数字组合成一个三位数并进行判断;
int a,b,c,n;
printf("Armstrong Numbers:\n");
printf("Min=%d\n",min);
4.上机输入、运行、调试例5.9的程序,字符串“加密”。并回答问题。
回答问题:while ((c=getchar( ))!=\n) 这个语句中的条件表示什么含义?
[略,理论课已做解释]
5.输入一行字符,分别统计出其中大写字母、小写字母、空格、数字和其它字符的个数。
2.上机调试例5.4的程序,掌握while语句的使用及累加算法。
请为程序中while至pi=pi*4的算法段落每一行写上注释。
#include <stdio.h>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
题目描述:一辆卡车违反交通规则,撞人后逃跑。
现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。
甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号所构成的数字正好等于某一个整数的平方。
请根据以上线索求出车号。
输入描述:无。
输出描述:直接显示一个四位整数表示肇事车号
样例输入:
样例输出:。