while循环结构例题
- 格式:doc
- 大小:95.04 KB
- 文档页数:35
四. While循环1.While循环的格式:While <条件表达式>循环体Wend说明:<条件表达式>为关系或逻辑表达式。
2.执行过程:判断条件;条件满足,执行循环体语句;再继续判断条件,继续执行循环;直到条件不满足,结束循环。
结合下面我们熟悉的For程序,来说明:For I = 1 To 10S = S + INext IPrint I改用While循环表示:I = 1 ‘初值While I<=10 ‘循环条件S=S+II=I+1 ‘变量自增,加步长WendPrint S3.While循环的说明For循环语句必须给出初值、终值、步长值;循环条件也就给出了。
While循环语句中只给出循环条件和终值,所以一定要注意给出初值和增量。
如上面程序段中的3处颜色部分语句。
例如:以下程序段循环几次,y值结果如何。
y = 2While y < = 8y = y + yWendPrint y分析:循环条件:y<=8执行过程如下:Y=2,y<=8 满足,执行语句:y = y + y,y=4;遇到Wend返回继续判断条件。
Y=4,y<=8 满足,执行语句:y = y + y,y=8;遇到Wend返回继续判断条件。
Y=8,y<=8 满足,执行语句:y = y + y ,y=16;遇到Wend返回继续判断条件。
Y=16,y<=8 不满足,结束循环。
循环执行了3次。
五.Do循环Do循环是在While循环基础上做了一点修改。
整个格式结构和执行过程基本一样。
但增加了一种格式:条件不满足就循环,满足就结束循环。
格式1:Do While (条件)循环体LoopI=1Do While I<4S=S+1I=I+1LoopPrint SI=1Do Until I>=40S=S+1I=I+1Loop格式2:Do循环体Loop While (条件)说明:格式1、格式2和While基本一样,格式2不同在于先执行一次循环,再判断条件是否满足。
C++中的do-while循环是一种非常实用的循环结构,它和普通的while循环和for循环相比,在某些特定情况下具有独特的优势和灵活性。
在本文中,我将以多个例题为基础,深入探讨C++中do-while 循环的用法和注意事项,帮助读者更好地掌握这一部分内容。
1. 初步了解do-while循环在C++中,do-while循环是一种先执行循环体,再判断条件的循环结构。
用一句话来概括,就是先做一次,再看条件是否成立。
这种循环结构的特点在于无论条件是否成立,循环体至少会执行一次。
2. 例题一:利用do-while循环计算数字之和假设我们需要编写一个程序,计算1到100的所有整数之和。
我们可以使用do-while循环来实现这个功能。
具体代码如下:```#include <iostream>using namespace std;int main() {int i = 1;int sum = 0;do {sum += i;i++;} while (i <= 100);cout << "1到100的整数之和为:" << sum << endl;return 0;}```在这个例子中,我们首先初始化i和sum两个变量,然后使用do-while循环不断累加i的值到sum中,直到i的值大于100为止。
最后输出sum的值,即为1到100的整数之和。
3. 例题二:使用do-while循环实现数字输入验证有时候我们需要对用户的输入进行验证,确保输入的是合法的数字。
下面是一个使用do-while循环实现输入验证的例子:```#include <iostream>using namespace std;int main() {int num;do {cout << "请输入一个1到10之间的数字:" << endl;cin >> num;} while (num < 1 || num > 10);cout << "输入的数字为:" << num << endl;return 0;}```在这个例子中,我们要求用户输入一个1到10之间的数字,如果输入的数字不在这个范围内,就要求用户重新输入,直到输入合法为止。
Python While循环例题探究在Python编程中,While循环是一种极为重要的循环结构,它允许我们根据特定条件重复执行代码块。
本文将通过深入的例题探究,详细介绍While循环的用法,帮助读者更好地理解和掌握这一概念。
1. 简单的While循环例题让我们从一个简单的例题开始,假设我们需要打印出1到5的数字。
下面是这个例题的Python代码:```pythonnum = 1while num <= 5:print(num)num += 1```在这个例题中,我们首先定义了变量num,并将其初始化为1。
然后使用While循环,当num小于等于5时,就会执行打印num的操作,并将num的值递增1。
通过这个例题,我们可以清晰地看到While循环的基本语法和逻辑。
2. 利用While循环求和接下来,让我们通过一个稍微复杂一点的例题来深入理解While循环。
假设我们需要计算1到100的所有数字的和,下面是相应的Python代码:```pythonnum = 1total = 0while num <= 100:total += numnum += 1print("1到100的和为:", total)```在这个例题中,我们引入了一个新的变量total,用来保存累加的总和。
在While循环中,我们不断将num的值累加到total中,直到num大于100为止,然后打印出总和。
通过这个例题,我们可以看到While循环在处理复杂逻辑时的应用。
3. 嵌套While循环除了基本的While循环外,我们还可以利用嵌套While循环来处理更为复杂的情况。
下面是一个嵌套While循环的例题,用来打印九九乘法表:```pythonrow = 1while row <= 9:col = 1while col <= row:print(col, "*", row, "=", (col*row), end=" ")col += 1print()row += 1```在这个例题中,我们利用嵌套的While循环,分别控制行号和列号,逐步打印出九九乘法表。
python while经典例题while 循环在 Python 中是一个非常常见和有用的循环结构。
它允许我们根据特定的条件重复执行一组语句,直到条件不再满足为止。
在这篇文章中,我们将介绍一些经典的 Python while 循环例题,帮助你更好地理解这个循环结构。
1. 猜数字游戏猜数字游戏是一个经典的例题,它可以用来演示 while 循环的基本用法。
下面是一个简单的猜数字游戏的代码:```import randomtarget = random.randint(1, 100)guess = Nonewhile target != guess:guess = int(input("请输入一个猜测的数字:"))if guess > target:print("太大了!")elif guess < target:print("太小了!")else:print("恭喜你,猜对了!")```在这个例子中,首先我们使用 `random.randint(1, 100)` 生成一个 1 到 100 之间的随机数,作为目标数字。
然后我们进入一个while 循环,循环条件是 `target != guess`,也就是只要玩家的猜测不等于目标数字,就继续循环。
在每一次循环中,我们使用`int(input("请输入一个猜测的数字:"))` 让玩家输入一个猜测的数字,并将其保存在 `guess` 变量中。
然后我们进行一系列判断,根据玩家的猜测结果给出相应的提示。
如果猜对了,就输出“恭喜你,猜对了!”,并结束循环。
2. 计算阶乘计算阶乘是另一个可以用 while 循环演示的经典例题。
阶乘是一个正整数乘上比它小一的正整数,再乘上比这个数小一的正整数,以此类推,直到乘到 1 为止。
下面是一个计算阶乘的代码:```n = int(input("请输入一个正整数:"))result = 1while n > 0:result *= nn -= 1print("阶乘的结果是:", result)```在这个例子中,首先我们使用 `int(input("请输入一个正整数:"))` 让用户输入一个正整数,并将其保存在变量 `n` 中。
一个经典的 Python while 循环例题是计算一个整数的阶乘。
阶乘是一个数学概念,表示一个正整数与所有小于它的正整数的乘积。
阶乘通常表示为 n!,其中 n 是一个正整数。
例如,5! = 5 × 4 × 3 × 2 × 1 = 120。
以下是使用 Python 的 while 循环计算阶乘的示例:def factorial(n):result = 1while n > 1:result *= nn -= 1return resultnumber = int(input("Enter a positive integer: "))if number < 0:print("Please enter a positive integer.")else:print(f"The factorial of {number} is {factorial(number)}")这个示例中,我们定义了一个名为 `factorial` 的函数,它接受一个整数参数 `n`。
函数内部,我们初始化 `result` 变量为 1,然后使用一个 while 循环计算阶乘。
在循环中,我们将 `result` 乘以 `n`,并将 `n` 减 1,直到 `n` 大于 1 为止。
计算完成后,返回结果`result`。
在主程序中,我们要求用户输入一个正整数,然后调用 `factorial` 函数计算其阶乘,并打印结果。
注意,此程序仅处理正整数输入。
对于负数输入,它将提示用户输入正整数。
while循环的结构
当条件为True时,执行语句会一直循环执行,直到条件为False 为止。
在while循环中,通常会使用计数器或者条件判断语句来控制循环次数或者循环结束的条件。
例如,以下代码使用计数器来控制循环次数:
i = 0
while i < 5:
print(i)
i += 1
输出结果为:
1
2
3
4
在这个例子中,计数器i从0开始,每次循环加1,当i等于5时,条件不成立,退出循环。
另外,while循环中也可以使用break和continue语句来控制循环流程。
break语句可以跳出整个循环,而continue语句则跳过当前循环,继续执行下一次循环。
总之,while循环是Python编程中非常常用的一种结构,掌握
好了while循环的使用方法,可以大大提升程序的效率和灵活性。
题目:while循环语句例题及解析在编程语言中,while循环是一种常见的循环语句,它能够根据给定的条件重复执行一段代码。
通过while循环,开发者可以实现对一个条件的反复检查,并在满足条件时执行相应的操作。
本文将通过一些例题及其解析,帮助读者更好地理解和掌握while循环的用法和特点。
1. 例题1:使用while循环计算1到100的和给定一个整数n,计算1到n的和。
当n=100时,应计算1+2+3+...+100的结果。
解析:这是一个经典的求和问题,可以通过while循环轻松实现。
我们需要一个变量sum来存储累加的结果,初始值为0。
通过while循环,对从1到n的数字依次累加到sum中,直到累加到n为止。
```pythonn = 100sum = 0i = 1while i <= n:sum += ii += 1print("1到d的和为:d" (n, sum))```在上述代码中,我们使用了变量n来表示需要计算的范围,sum来存储累加的结果,i作为循环的控制变量。
通过while循环,当i小于等于n时,执行累加操作并将i递增1。
最终输出1到100的和为5050。
2. 例题2:使用while循环找出100以内的所有质数给定一个整数n,找出所有小于等于n的质数。
当n=100时,应找出所有小于等于100的质数。
解析:质数是指除了1和本身外,没有其他正因子的数。
在这个例题中,我们可以利用while循环逐个检查1到n之间的每个数,判断其是否为质数。
具体的算法思路如下:- 我们需要一个列表prime_list来存储所有找到的质数,初始为空列表。
- 我们使用while循环,从2开始逐个判断每个数是否为质数。
对于每个数i,从2开始逐个检查是否存在能整除i的数,若不存在,则将i加入到prime_list中。
- 输出prime_list中找到的所有质数。
```pythonn = 100i = 2prime_list = []while i <= n:j = 2while j <= (i/j):if i j == 0:breakj += 1if j > i/j:prime_list.append(i)i += 1print("100以内的质数有:", prime_list)```在上述代码中,我们先对每个数i进行了从2到i的遍历,通过while 循环对每个数遍历寻找质数。
while break continue基础题while, break, continue基础题一、循环控制语句1. 当循环的终止条件满足时,循环将会被执行多少次?答:当循环的终止条件满足时,循环将会一直执行,直到遇到终止循环的语句(如break)或者循环条件不再满足。
2. 以下哪个是正确的while循环结构?答:while (条件表达式) {// 循环体语句}3. 在while循环中,如果条件表达式的结果为false,则循环体将执行多少次?答:在while循环中,如果条件表达式的结果为false,则循环体一次都不会执行。
因为条件一开始就不满足,所以不会进入循环体。
二、跳转语句1. 以下哪个是正确的break语句?答:break;2. 在循环中,break语句的作用是什么?答:在循环中,break语句的作用是立即终止当前循环,跳出循环体,不再执行剩余的循环体语句。
3. 以下哪个是正确的continue语句?答:continue;4. 在循环中,continue语句的作用是什么?答:在循环中,continue语句的作用是跳过本次循环的剩余语句,进入下一次循环。
当遇到continue语句时,当前循环体的剩余语句将不再执行,直接开始下一次循环。
三、循环嵌套1. 以下哪个是正确的嵌套for循环结构?答:for (初始化表达式; 条件表达式; 更新表达式) {for (初始化表达式; 条件表达式; 更新表达式) {// 循环体语句}}2. 在嵌套循环中,外层循环和内层循环的执行次数关系是什么?答:在嵌套循环中,外层循环和内层循环的执行次数是没有直接关系的。
他们的执行次数由各自的条件表达式控制。
但是,每次外层循环迭代时,内层循环都会执行一次。
四、循环中的变量1. 在for循环中,变量的初始化表达式只会在什么时候执行一次?答:在for循环中,变量的初始化表达式只会在循环开始前执行一次。
初始化表达式只会被执行一次,然后进入循环体的执行。
标题:探究C语言中while循环的使用及应用摘要:C语言是一门广泛运用的编程语言,而其中的while循环作为一种常见的循环结构,在编程过程中具有重要的作用。
本文将对C语言中while循环的基本语法、应用场景以及一些常见的练习题进行详细的讲解,旨在帮助读者更好地掌握和运用while循环。
一、while循环的基本语法在C语言中,while循环是一种用于重复执行一段代码块的循环结构。
其基本语法如下所示:```while (条件){循环体;}```其中,条件是一个布尔表达式,如果条件为真,则执行循环体中的代码,并重复检查条件;如果条件为假,则跳出循环,执行后续的代码。
二、while循环的使用1. 基本的while循环使用while循环最常见的用法是用于需要重复执行一段代码直到某个条件不满足为止的情况。
计算1到100的整数之和可以使用while循环来实现:```int sum = 0;int i = 1;while (i <= 100){sum += i;i++;}```在上述示例中,当i的值小于等于100时,循环体会不断执行,直到i 大于100时跳出循环。
2. while循环的嵌套使用while循环可以嵌套在其他循环或者条件结构中,用于实现更复杂的逻辑。
实现一个打印九九乘法表的程序可以利用两层嵌套的while循环来实现:```int i = 1, j = 1;while (i <= 9){while (j <= i){printf("d * d = d\t", j, i, i * j);j++;}printf("\n");j = 1;i++;}```在上述示例中,外层的while循环用于控制行数,而内层的while循环用于控制每一行的列数。
三、while循环的应用场景1. 处理未知数量的数据在一些情况下,需要处理未知数量的数据时,while循环可以很好地发挥作用。
文章标题:深入理解Python中的while循环语句1. 引言Python中的while循环语句是一种非常重要的控制流结构,它允许我们重复执行一段代码直到特定的条件不再满足。
本文将深入探讨Python中的while循环语句,并通过例题来加深理解。
2. 基本概念在Python中,while循环语句的基本语法是:while 条件:在这里,条件可以是任何返回布尔值的表达式。
只要条件为True,循环就会一直执行下去。
3. 例题分析假设我们需要编写一个程序,输出1到10之间的整数。
我们可以使用while循环语句来实现:```pythonnum = 1while num <= 10:print(num)num = num + 1```在这个例子中,我们首先初始化变量num为1,然后使用while循环来判断num是否小于等于10,如果是,则输出num的值并将num加1,直到num不再满足条件为止。
4. 深入探讨a. 循环条件在while循环中,循环条件的布尔值决定了循环是否继续执行。
如果循环条件初始值为False,那么循环中的代码一次也不会执行。
b. 循环控制在循环内部,我们可以使用break语句来提前终止循环,也可以使用continue语句跳过本次循环的剩余代码直接进入下一轮循环。
5. 总结通过以上例题分析,我们深入理解了Python中的while循环语句。
它是一个非常强大的工具,可以帮助我们重复执行特定的代码块直到满足条件。
我们也了解了循环条件的重要性,以及循环控制语句的作用。
6. 个人观点在实际的编程过程中,我们经常会用到while循环来处理需要重复执行的逻辑,例如用户输入的校验、数据处理等。
掌握好while循环语句的使用方法,对提高编程效率和代码质量非常有帮助。
7. 结语通过本文的讨论,希望读者对Python中的while循环语句有了更深入的了解。
同时也鼓励大家多多练习,加深对循环控制流程的理解和应用。
引子#include "stdio.h"main(){ int i=1;for(i=1;i<=10000;i++)printf(“%d\t”,i);}题型1 输入输出多个数据eg1、输出1~10000之间所有的整数#include "stdio.h"main(){ int i=1;while(i<=1000){printf(“%d\t”,i);i++;}}拓展:1、换成所有的奇数2、换成所有的偶数题型2 有限个数连加和连乘eg2.1、求1+2+3+4+………+100的值#include "stdio.h"main(){ int i=1,s=0;while(i<=100){s=s+i;i++;}printf(“%d\n”,s);}拓展:1、求1+2+3+4+………+n的值2、求12+22+32+………+n2的值3、求1+1/2+1/3+………+1/n的值eg2.2、求n!的值#include "stdio.h"main(){ int i=1,n,p=1;scanf(“%d”,&n);while(i<=n){p=p*i;i++;}printf(“%d\n”,p);}拓展:求1!+2!+3!+………+n!的值#include "stdio.h"main(){ int i=1,n,p=1,s;scanf(“%d”,&n);while(i<=n){p=p*i;s=s+p;i++;}printf(“%d\n”,s);}题型3 无限个数连加eg3、求1-1/3+1/5-1/7+………的近似值,要求精度要达到10-4#include "stdio.h"#include "math.h"main(){ float n=1,s=0,f=1,t=1;while(fabs(t)>=1e-4){t=f/(2*n-1);s=s+t;f=-f;n++;}printf(“%f\n”,s);}拓展:求1-1/2+1/4-1/6+………的近似值,要求精度要达到10-4题型4 统计eg4.1、输入20个数,统计其中正数、负数和零的个数。
dowhile循环语句例题及解析一、什么是dowhile循环语句?1.1 do-while循环语句是一种循环结构,它先执行循环体内的语句,然后再判断循环条件是否成立。
1.2 do-while循环语句的语法格式如下:```cdo {// 循环体} while (循环条件);```1.3 do-while循环至少会执行一次循环体内的语句,然后再根据循环条件来判断是否继续执行。
二、dowhile循环语句的例题2.1 以下是一个使用do-while循环语句的例题:```c#include <stdio.h>int main() {int i = 1;do {printf("%d\n", i);i++;} while (i <= 5);return 0;}```2.2 运行以上程序,输出结果为:```12345```2.3 上述例题中,循环体内的语句会先被执行,然后再判断循环条件,当循环条件成立时,继续执行循环,直到循环条件不成立为止。
三、dowhile循环语句的应用3.1 do-while循环语句通常用于需要至少执行一次循环体的情况。
3.2 比如用户输入一个数字,要求对该数字进行加法运算直到输入0结束,可以使用do-while循环语句来实现这一功能。
3.3 以下是一个示例程序:```c#include <stdio.h>int main() {int num, sum = 0;do {printf("请输入一个数字:");scanf("%d", &num);sum += num;} while (num != 0);printf("数字的总和为:%d\n", sum);return 0;}```3.4 运行以上程序,用户可以持续输入数字,直到输入0时结束,程序会计算用户输入的数字的总和并输出。
全国青少年软件编程等级考试Python二级第二课:循环结构-while上节回顾练一练下列代码的运行结果是______。
解析下列代码的运行结果是______。
14解析:range(3,0,-1)取值为:3,2,1,因此i的值依次被赋值为3,2,1,并与a相加,退出循环时a的值为7;第五行前面没有缩进,属于循环外,执行一次,因此最终a的值为7*2=14。
下列代码的运行结果是( )。
练一练A. 爱B. 我学习C. 什么都不打印D. 我爱学习解析下列代码的运行结果是( )。
A. 爱B. 我学习C. 什么都不打印D. 我爱学习解析:for循环依次遍历“我爱学习”,并分别将遍历到的字符赋值给变量i;if语句则判断该字符是否为爱,如果是,则打印,因此A 是正确的。
A01while循环02for循环与while循环区别03 控制循环语句04总结01 while循环while循环概念语法格式while 判断条件: <循环体> <改变循环条件的语句>当判断条件永远为True,且无改变循环条件的语句时,属于无限循环。
while循环用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。
可用于非确定次数的循环。
while循环语法格式while 判断条件:<循环体><改变循环条件的语句>例:利用while循环打印1-10之间的整数。
i = 1while i <= 10 : print ( i ) i=i+1练一练练习:【判断题】下列代码运行后能够打印1到100之间的整数。
( )i = 1while i <= 100print( i )A .√ B.×解析:【判断题】下列代码运行后能够打印1到100之间的整数。
( )i = 1while i <= 100print ( i )A .√ B.×B while后面需要有冒号,否则会报错;循环体内缺少改变循环条件的语句,i的值一直都为1,i一直小于等于100,属于无限循环,如果加上冒号,那么打印的一直都是1。
专题三 MATLAB程序流程控制3.5 用while语句实现循环结构☐while语句☐break语句和continue语句☐循环的嵌套while 条件 循环体语句end循环判断条件格式: 1.while 语句例1 从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。
msum=0;n=0;x=input('Enter a number (end in 0):');while x~=0msum=msum+x;n=n+1;x=input('Enter a number (end in 0):');endif n>0msummean=msum/nend☐while语句多用于循环次数不确定的情况,而对于循环次数确定的情况,使用for语句更方便。
☐针对不同情况可以选择不同的循环语句,但从功能上讲两种循环语句可以相互替代。
2.break语句和continue语句☐break语句用来跳出循环体,结束整个循环。
☐continue语句用来结束本次循环,接着进行下一次是否执行循环的判断。
例2 求[100,200]之间第一个能被21整除的整数。
for n=100:200if rem(n,21)~=0continueendnbreakend3.循环的嵌套如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。
处于内部的循环叫做内循环,处于外部的循环叫做外循环。
例3 用筛选法求某自然数范围内的全部素数。
筛选法求素数的基本思想:要找出2~m之间的全部素数,首先在2~m中划去2的倍数(不包括2),然后划去3的倍数(不包括3),由于4已被划去,再找5的倍数(不包括5),…,直到再划去不超过m的倍数,剩下的数就都是素数了。
m=input('m=');p=1:m;p(1)=0;for i=2:sqrt(m)for j=2*i:i:mp(j)=0;endendn=find(p~=0);p(n)。
引子#include "stdio.h"main(){ int i=1;for(i=1;i<=10000;i++)printf(“%d\t”,i);}题型1 输入输出多个数据eg1、输出1~10000之间所有的整数#include "stdio.h"main(){ int i=1;while(i<=1000){printf(“%d\t”,i);i++;}}拓展:1、换成所有的奇数2、换成所有的偶数题型2 有限个数连加和连乘eg2.1、求1+2+3+4+………+100的值#include "stdio.h"main(){ int i=1,s=0;while(i<=100){s=s+i;i++;}printf(“%d\n”,s);}拓展:1、求1+2+3+4+………+n的值2、求12+22+32+………+n2的值3、求1+1/2+1/3+………+1/n的值eg2.2、求n!的值#include "stdio.h"main(){ int i=1,n,p=1;scanf(“%d”,&n);while(i<=n){p=p*i;i++;}printf(“%d\n”,p);}拓展:求1!+2!+3!+………+n!的值main(){ int i=1,n,p=1,s;scanf(“%d”,&n);while(i<=n){p=p*i;s=s+p;i++;}printf(“%d\n”,s);}题型3 无限个数连加eg3、求1-1/3+1/5-1/7+………的近似值,要求精度要达到10-4#include "stdio.h"main(){ float n=1,s=0,f=1,t=1;while(fabs(t)>=1e-4){t=f/(2*n-1);s=s+t;f=-f;n++;}printf(“%f\n”,s);}拓展:求1-1/2+1/4-1/6+………的近似值,要求精度要达到10-4题型4 统计eg4.1、输入20个数,统计其中正数、负数和零的个数。
引子#include "stdio.h"main(){ int i=1;for(i=1;i<=10000;i++)printf(“%d\t”,i);}题型1 输入输出多个数据eg1、输出1~10000之间所有的整数#include "stdio.h"main(){ int i=1;while(i<=1000){printf(“%d\t”,i);i++;}}拓展:1、换成所有的奇数2、换成所有的偶数题型2 有限个数连加和连乘eg2.1、求1+2+3+4+………+100的值#include "stdio.h"main(){ int i=1,s=0;while(i<=100){s=s+i;i++;}printf(“%d\n”,s);}拓展:1、求1+2+3+4+………+n的值2、求12+22+32+………+n2的值3、求1+1/2+1/3+………+1/n的值eg2.2、求n!的值#include "stdio.h"main(){ int i=1,n,p=1;scanf(“%d”,&n);while(i<=n){p=p*i;i++;}printf(“%d\n”,p);}拓展:求1!+2!+3!+………+n!的值#include "stdio.h"main(){ int i=1,n,p=1,s;scanf(“%d”,&n);while(i<=n){p=p*i;s=s+p;i++;}printf(“%d\n”,s);}题型3 无限个数连加eg3、求1-1/3+1/5-1/7+………的近似值,要求精度要达到10-4#include "stdio.h"#include "math.h"main(){ float n=1,s=0,f=1,t=1;while(fabs(t)>=1e-4){t=f/(2*n-1);s=s+t;f=-f;n++;}printf(“%f\n”,s);}拓展:求1-1/2+1/4-1/6+………的近似值,要求精度要达到10-4题型4 统计eg4.1、输入20个数,统计其中正数、负数和零的个数。
#include "stdio.h"main(){ int i=1,n,p,z;float x;p=n=z=0;while(i<=20){ scanf(“%f”,&x);if(x>0)p++;elseif(x<0)n++;elsez++;i++;}printf(“%d\t%d\t %d\n”,p,n,z);}拓展:统计各类字符的个数eg4.2 个位为6且能被3整除的五位数有多少?方法1#include "stdio.h"main(){ long i=10000,c=0;while(i<=99999){if((i%3==0)&& (i%10==6))c++;i++;}printf(“%d \n”,c);}方法2#include "stdio.h"main(){ long i=10006,c=0;while(i<=99999){if(i%3==0)c++;i=i+10;}printf(“%d \n”,c);}题型5 数列eg5 输出fibo数列的第20位数字#include "stdio.h"main(){ int f1=1,f2=1, f3,i=3;while(i<=20){ f3=f1+f2;f1=f2;f2=f3;i++;}printf(“%d \n”,f3);}拓展:输出fibo数列前20位数字#include "stdio.h"main(){ int f1=1,f2=1, f3,i=3;printf(“%d \t%d \t”,f1,f2);while(i<=20){ f3=f1+f2;f1=f2;f2=f3;printf(“%d \t”,f3);i++;}}题型6 数据的逆序输出eg6 任意给定一个正整数,个位数字逆序输出。
#include "stdio.h"main(){ long x,t;scanf(“%ld”,&x);while(x!=0){ t=x%10;x=x/10;printf(“%d”,t); }}题型7 公约数与公倍数eg7 任意输入两个正整数,求其最大公约数和最小公倍数。
#include "stdio.h"main(){ int m,n,a,b,r,t;scanf(“%d%d”,&m, &n);if(m>n) {a=m;b=n;}else {a=n;b=m;}while(b!=0){ r=a%b;a=b;b=r;}printf(“zuida gongyushu shi:%d\n”,a); printf(“zuixiao gongbeishu shi:%d\n”,m*n/a);}题型8 素数问题eg8 从键盘上任意输入一个正整数,判断其是否为素数。
#include "stdio.h"main(){ int x,i=2;scanf(“%d”,&x);while(x%i!=0) i++;if(x==i) printf(“shi!”);else printf(“fou!”);}题型9 高次方程的根eg9.1 用二分迭代法求解方程y=2x3-4x2+3x-6=0在(-10,10)之间的根,要求精度10-5#include "stdio.h"#include "math.h"main(){float x1=10,x2=-10,x, y ,y1;x=(x1+x2)/2;y=2*x*x*x-4*x*x+3*x-6;while(fabs(y)>1e-5){y1=2*x1*x1*x1-4*x1*x1+3*x1-6;if(y*y1>0)x1=x;elsex2=x;x=(x1+x2)/2;y=2*x*x*x-4*x*x+3*x-6;}printf("the root is %f\n",x);}eg9.2 用牛顿迭代法求解方程2x3+ 4x2-7x-6=0在x=1.5附近的根,要求精度10-5 #include "stdio.h"#include "math.h"main(){float x,x0, y ,y1;x=1.5;while(fabs(x-x0)>1e-5){ x0=x;y=2*x0*x0*x0+4*x0*x0-7*x0-6;y1=6*x0*x0+8*x0-7;x=x0-y/y1;}printf("the root is %f\n",x);}牛顿迭代公式:x n+1=x n-f(x n)/f’(x n)do-while循环结构举例#include "stdio.h"main(){ int i=1,s=0;do{s=s+i;i++;} while(i<=100);printf(“%d\n”,s);}for循环结构举例f1#include "stdio.h"main(){ int i=1,s=0;for(i=1;i<=100;i++)s=s+i;printf(“%d\n”,s);}f2#include "stdio.h"main( ){int i,f1,f2,f3;f1=1;f2=1;printf("%d,%d",f1,f2);for(i=3;i<=20;i++){f3=f1+f2;f1=f2;f2=f3;printf(",%d",f3);}}f3#include "stdio.h"main( )int i;float a,max;scanf("%f ",&a);max=a;for(i=1;i<=9;i++){ scanf("%f ",&a);if(max<a)max=a;}printf("%f\n",max); }f4#include "stdio.h"main( ){int i,s=1;for(i=9;i<=1;i--)s=2*(s+1);printf("%d\n",s);}#include "stdio.h"main(){int x,n=0,s=0;while (n<10){scanf("%d",&x);if (x<0) break;s+=x;n++;}printf("s=%d\n",s);}#include "stdio.h"main( ){int x,n=0,s=0;while (n<10){scanf("%d",&x);if (x<0) continue;s+=x;n++;}printf("s=%d\n",s);}#include "stdio.h"main( ){int x,n=0,s=0;while (n<10){scanf("%d",&x);n++;if (x<0) continue;s+=x;}printf("s=%d\n",s);}#include "stdio.h"main(){int i=2,m;scanf("%d",&m);while(m%i!=0)i++;if(i==m)printf("%d shi sushu!\n",m); elseprintf("%d bu shi sushu!\n",m); }#include "stdio.h"main(){int i,m;scanf("%d",&m);for(i=2;m%i!=0;i++) ;if(i==m)printf("%d shi sushu!\n",m);elseprintf("%d bu shi sushu!\n",m); }#include "stdio.h"main( ){ int i,m;scanf("%d",&m);for (i=2; i<=m; i++)if (m%i==0) break;if(i==m)printf("%d shi sushu!\n",m);elseprintf("%d bu shi sushu!\n",m); }#include "stdio.h"#include "math.h"main( ){ int i,m,s;scanf("%d",&m);s=sqrt(m);for (i=2; i<=s; i++)if (m%i==0) break;if(i==s+1)printf("%d shi sushu!\n",m);elseprintf("%d bu shi sushu!\n",m); }#include "stdio.h"#include "math.h"main(){int i,j;for(i=100;i<=200;i++){for(j=2;j<=i;j++)if (i%j==0) break;if(j==i)printf("%-10d",i);}}#include "stdio.h"#include "math.h"main(){int i,j,s;for(i=100;i<=200;i++){ s=sqrt(i);for(j=2;j<=s;j++)if (i%j==0) break;if(j==s+1)printf("%-10d",i); } }#include <include.h> main( ){ int i,j,s;for (i=2; i<=10000; i++){ s=0;for (j=1; j<i; j++)if (i%j==0)s+=j;if (i==s)printf("%6d\n",s);}}#include "stdio.h"main(){int i,j,k;for(i=0;i<=35;i++)for(j=0;j<=35;j++)if((i+j==35)&&(2*i+4*j==94))printf("\ni=%-10dj=%-10d",i,j); }#include "stdio.h"main(){ int i,j,k;for(i=0;i<=19;i++)for(j=0;j<=33;j++)for(k=0;k<=100;k++)if((i+j+k==100)&&(5*i+3*j+k/3==300)) printf("\ni=%-10dj=%-10dk=%-10d",i,j,k); }#include "stdio.h"main(){ int i,j,k;for(i=0;i<=19;i++)for(j=0;j<=33;j++){k=100-i-j;if(15*i+9*j+k==300)printf("\ni=%-10dj=%-10dk=%-10d",i,j,k);}}#include "stdio.h"main(){int i,j,k;for(i=0;i<=19;i++)for(j=0;j<=33;j++){k=100-i-j;if(5*i+3*j+k/3==100)printf("\ni=%-10dj=%-10dk=%-10d",i,j,k); } }#include "stdio.h"main(){ int m,n,k;for (m=1;m<=9;m++){ for(n=1;n<=m;n++)printf("%d*%d=%-5d",n,m,n*m);printf("\n"); }}#include "stdio.h" main(){int i;for(i=1;i<=5;i++) printf("********\n"); }#include "stdio.h"main(){int i,j;for(i=1;i<=5;i++){for(j=1;j<=5-i;j++)printf(" ");printf("********\n");}}#include "stdio.h"main( ){int i,j;for (i=1; i<=5; i++){ for (j=1; j<=20-i; j++)printf(" ");for (j=1;j<=i;j++)printf("*");printf("\n");}}#include "stdio.h"main(){int i,j;for (i=1;i<=5;i++){ for (j=1;j<=20-i;j++)printf(" ");for (j=1;j<=2*i-1;j++)printf("*");printf("\n");}}#include "stdio.h"main( ){ int i,j;for (i=1; i<=5; i++){ for (j=1; j<=i-1; j++)printf(" ");for (j=1;j<=11-2*i;j++)printf("*");printf("\n");}}#include "stdio.h"main( ){ int i,j;for (i=1; i<=4; i++){ for (j=1; j<=4-i; j++)printf(" ");for (j=1;j<=2*i-1;j++)printf("*");printf("\n");}for (i=1; i<=3; i++){ for (j=1; j<=i; j++)printf(" ");for (j=1;j<=7-2*i;j++)printf("*");printf("\n");}}#include "stdio.h"main(){int i,j,k,m,n,s=0;for(i=0;i<=2;i++)for(j=0;j<=9;j++)for(k=1;k<=9;k++){m=100*i+10*j+k;n=100*k+10*j+i;if((n>2*m)&&(n<3*m)){ s++;printf("%d ",m);if(s%8==0)printf("\n");}}}。