当前位置: 首页 > news >正文

网络公司除了建网站4399游戏电脑版主页

网络公司除了建网站,4399游戏电脑版主页,cdr做网站流程,高校网站建设的时效性文章目录 前言介绍1. for 语句1.1 语法结构1.2 语法流程的执行过程1.2.1 案例 1:循环的正序输入和倒序输入1.2.2 案例2 : 求1~n的平方数1.2.3 案例 3: 求输入a和b,求a~b区间数. 1.3 for 循环案例练习1.3.1 求最大值与最小值1.3.2 计算奇数和和偶数和1.3.3 计算平均气温与最高气… 文章目录 前言介绍1. for 语句1.1 语法结构1.2 语法流程的执行过程1.2.1 案例 1:循环的正序输入和倒序输入1.2.2 案例2 : 求1~n的平方数1.2.3 案例 3: 求输入a和b,求a~b区间数. 1.3 for 循环案例练习1.3.1 求最大值与最小值1.3.2 计算奇数和和偶数和1.3.3 计算平均气温与最高气温1.3.4 计算阶乘1.3.5 计算 正常血压1.3.6 角谷定理 (扩展知识) 1.4 关键字 break 和 continue1.4.1 break1.4.2 continue 2. while 语句2.1 语法结构2.1.1 使用案例(Noip普及试题)2.1.2 注意三要素避免死循环产生 2.2 语法流程的执行过程2.2.1 案例1: 正序和倒序 1~100的范围2.2.2 案例 2: 判断输入数是几位数 2.3 while循环案例(扩展)2.3.1 银行取款输入密码2.3.2 欧几里德算法(最大公约数)2.3.3 斐波那契数列 3. 循环算法扩展3.1 质数(素数)3.2 质数统计(在3.1基础上扩展)3.3 回文数 4. 嵌套循环4.1 什么是嵌套循环4.2 打印直角三角形4.3 打印等腰三角形4.4 打印99乘法表 5. 知识扩展5.1 枚举法5.1.1 百钱买百鸡5.1.2 枚举应用--无重复事项 前言介绍 C中支持的三种基本的运行流程顺序结构选择结构循环结构本节课内容 。生活中经常遇到一些 重复性工作这些反复执行多次同样的操作将书包里的十本书摆放到书架的指定位置上要做的工作就是重复十次拿起书→找位置→摆好书。每次只考虑拿一本的话就会重复十次 就是循环思想。 用循环思想编写程序就是所谓的 循环结构程序。 打印书籍。切黄瓜。操场跑圈。 在C中为了表现循环思想提供了三种循环for whiledo-while 三种不同格式的循环语句。 上述提到的拿起书→找位置→摆好书。 这个重复内容就是循环语句的循环体。 1. for 语句 1.1 语法结构 为什么要学习循环怎么去理解循环 先看一个下面的案例。 输出 好好学习天天天天向上。1000次 怎么设计程序。 如果一次一次用手写那可真是太秀了。 #include iostream using namespace std;int main(){//1.输出1000次我爱学习cout好好学习天天天天向上endl; cout好好学习天天天天向上endl; cout好好学习天天天天向上endl; cout好好学习天天天天向上endl; //.....太麻烦了...?//2.怎么有更好的办法解决问题? return 0; } 语法结构关键字 for有两种格式 格式一省略{}花括号。 for (循环变量的初始值;循环条件循环变量增量)循环语句的循环体1;循环语句的循环体2;格式二 (推荐使用) 使用{}将循环语句包裹起来。 for(循环变量的初始值; 循环条件;循环变量的增量){循环语句的循环体1;循环语句的循环体2;循环语句的循环体3; }3. 案例实现 - 循环语句好好学习天天向上 。1000次 循环程序设置。 #include iostream using namespace std; int main(){//1.循环语法格式推荐使用{}//注意 先声明 循环的初始值 int i 起始值。 for (int i1;i1000;i){//1.1 循环语句体 cout 好好学习天天天天向上 i endl; }return 0; } 1.2 语法流程的执行过程 语法循环控制流程 for (int i1;i1000;i){//1.1 循环语句体 cout 好好学习天天天天向上 i endl; }int i 会首先被执行 且只会执行一次。这一步需要先声明并初始化任何循环控制变量。 也可以不在这里写任何语句只要有一个分号出现即可 不推荐。 接下来会判断 i1000 。 如果为真则执行循环主体。如果为假则不执行循环主体且控制流会跳转到紧接着 for 循环的下一条语句。 在执行完 for 循环主体后控制流会跳回上面的 i 增量语句。 更新循环控制变量。该语句可以留空只要在条件后有一个分号出现即可 不推荐。 条件再次被判断。如果为真则执行循环这个过程会不断重复循环主体然后增加步值再然后重新判断条件。 在条件变为假时for 循环终止。 循环流程图如下 1.2.1 案例 1:循环的正序输入和倒序输入 如何输入一个数正序输出1~n 和 倒序输出 n ~1 。 问题分析 声明一个循环变量并赋值为 循环变量最大值会不会超过循环变量每次如何变化 #include iostream #include iomanip using namespace std;int main(){ /**分析: 正序和倒序,1. 正序: 起始值 为 1 范围 i a, 每次循环 自增2. 倒序: 起始值 为 a 范围 i 1, 每次循环 自减 */int a; cin a; //1.正序输出1~n. for(int i1;ia;i){cout i endl; } //2.倒序输出 n~1.for (int i a;i1;i--){cout i endl; } return 0; } 1.2.2 案例2 : 求1~n的平方数 对于给定的任意正整数 a输出1到a的平方数。 平方数就是表示一个数乘以它自身而得到的结果例如 2乘以2 得到的是4, 4就是2的平方数。输入10 结果就应该是1~10 每一个数的平方数。 #include iostream #include iomanip using namespace std;int main(){ /**1. 分析第一步: 输入数为 5 结果应该是 1*1 2*2 3*3 4*4 5*5 分析点1:循环次数 ? a次 */int a; cin a; //循环次数由 a决定 for (int i 1;ia;i){//循环语句体: 使用空格分割 cout i*i ; } return 0; } 1.2.3 案例 3: 求输入a和b,求a~b区间数. 在控制台中同一行输入两个数 a 和 b输出a和b的之间的数。 例如 3 9 输入 3 4 5 6 7 8 9。 #include iostream using namespace std; int main(){/**输入两个整数 a和b ,输出a和b之间的整数.分析: a和b之间的数,起始值就应该从a开始, 结尾就以b为结尾. */ int a,b;cin ab;for (int i a;ib;i){cout i ; } return 0; } 1.3 for 循环案例练习 1.3.1 求最大值与最小值 输入一个数n然后n是多少就输入多少个整数 并且找出 最大的数 n为整数类型。 注意 n为几相当于你输入多少整数。 分析需要比较输入的数值然后依次比较找出最大的。 代码如下 #include iostream using namespace std; int main(){//1.输入n,n觉定了输入整数的个数. int n , m, max;cin n;//2.使用循环for (int i1;in;i){//输入次数cin m;if (mmax){max m; } } cout 最大值: max; return 0; } 自己思考求 最小值。 独立完成。 //TODO 自己动手 1.3.2 计算奇数和和偶数和 输入一个数n计算 1~n之间的整数的 奇数之和 和 偶数 之和。 输入 10 计算 1~10之间的和。输入 100 就计算 1 ~ 100之间的和 。 #include iostream using namespace std; int main(){//1.输入n. int n;int j_sum0,o_sum0; cin n;//2.使用循环for (int i1;in;i){//输入次数if (i%20){o_sumi; }else{j_sumi; } } cout 奇数和: j_sum 偶数和: o_sum; return 0; } 1.3.3 计算平均气温与最高气温 某市七月份中旬温度如下 36.337.034.835.036.134.433.934.835.535.7。 要求计算中旬的平均气温和高温天数大于等于35度为高温天。请设计程序输入十天温度输出平均气温保留2位小数和高温天数。要求第一行输入10个数字输出两个数字第一个数字为高温天数第二个数字是平均气温。 输入样例如下 36.337.034.835.036.134.433.934.835.535.7。输出样例 6 35.35。 #include iostream #include iomanip using namespace std; int main(){double n,sum_n;int cnt0; //1.通过循环依次输入10个数. for (int i 1; i10; i){cinn; //1.1 进行判断if (n35) { cout ------ nendl; cnt; //计数 }sum_n n; //累计天数求和.} //保留2位小数 cout fixed setprecision(2); cout 高温天数: cnt endl;cout 平均气温: sum_n/10 ; //输入天气的平均气温. return 0; } 1.3.4 计算阶乘 利用for循环计算n!的值。 百科解释 一个正整数的阶乘是所有小于及等于该数的正整数的积并且0的阶乘为1自然数n的阶乘写作n!记住 0的阶乘就是1. #include iostream using namespace std; int main(){//1.定义n int n;int sum_i1; //求乘积.起始值位1 cin n;//n的阶乘就是 n! 1*2*3*nfor(int i 1;in;i){sum_i * i; //5! 1*2*3*4*5} cout sum_iendl; return 0; } 1.3.5 计算 正常血压 问题描述 监护室每小时测量一次病人的血压若收缩压在 90-140 之间 并且 舒张压 在 60-90之间(包含端点值 )则称之为正常 现给出某病人若干次测量的血压值统计病人保持正常血压的小时数。 考虑分析 需要几个变量 t1 为收缩t2为舒张 cnn为正常。#include iostream using namespace std; int main(){int t1,t2,cnn0,n; //t1 收缩 ,t2舒张, cnn为计数器开始为0,n为几条数据 cin n;for (int i1;in;i){cin t1t2; //接受数据 //2.进行判断各种符合条件的范围,舒张压和收缩压if(60t1t114060t2t290) {//符合条件的进行计数cnn; }} cout 符合样式 cnn; return 0; } 1.3.6 角谷定理 (扩展知识) #include iostream using namespace std; int main(){/**1.两种思路如果奇数 n*31 如果偶数 n/2 ...直到余数为12.假设这个数初始值为5 ,计算过程 16,8,4,2,1. */int n;cin n; while(n!1){ //直到n1时,退出循环. //进行处理数据if(n%2){coutn *31 n*31 endl; //输出格式 n n*31; }else{cout n /2 n/2 endl; //输出格式 n n/2; } } cout End; return 0; } 1.4 关键字 break 和 continue 1.4.1 break 中断所在的循环体跳出本层循环。 注意 跳出最近的一层循环并不能跳出所有循环。 #include iostream using namespace std;int main(){for (int i 1; i10 ; i){if (i5){break; //i等于3时,跳出循环. } cout i endl; //5不输出,之后也没有 } return 0; } 1.4.2 continue 跳出当前循环执行下一次循环。 注意 同break一样只能跳出最近的循环。 #include iostream using namespace std;int main(){for (int i 1; i10 ; i){if (i5){continue; } cout i endl; //跳过5输出其他 } return 0; } 2. while 语句 2.1 语法结构 while循环与for循环都可以处理循环那它们之间有何不同 循环初始值循环范围循环条件控制循环的增量与减量 #include iostream using namespace std; int main(){/**循环三要素:1. 循环初始值2. 循环范围 3. 控制循环增/减量 */int i 1; //1.循环初始值while(i10){//2.循环范围 //语句体 cout iendl; //3.控制循环增量 i; } return 0; } 流程图如下 2.1.1 使用案例(Noip普及试题) 考试结束后老师想计算全体学生的 平均分 不知道考试人数具体是多少直到考试参加人数成绩都不是0分。 提供若干个考试成绩输入0分的就结束计算平均值。并且 保留2位小数。 上述分析需要 注意 哪些点 重复做的事情 录入成绩。成绩不为零 循环条件。 #include iostream #include iomanip using namespace std;int main(){//1.定义循环的初始值double score,sum_score0; // 成绩和总和int count0; //计数器 cin score;while(score!0) {//求和 sum_scorescore;//计数count; //控制循环的增减范围cin score; }//保留小数cout fixed setprecision(2); cout 平均成绩: sum_score/count ; return 0; }2.1.2 注意三要素避免死循环产生 什么是无限循环 什么情况下会产生无限循环 举一个例子 操场跑10圈观察下下面代码有什么问题 #include iostream using namespace std;int main(){//牢记循环三要素:1.循环初始值,2.循环条件,3.控制循环的变量 int i10; //1.循环初始值 ? 从哪开始 while(0i){ //2. 循环范围 是正序还是倒序 cout iendl;i; //3.控制循环的变量 变量是增加还是减少 } return 0; }2.2 语法流程的执行过程 while循环的循环流程是什么样的 可以对比for循环流程学习。我们拿写作业这件事举例子。 条件是否成立{我一定要做的事情}案例代码实现 根据流程执行过程需要根据循环条件决定。重复的事情 做作业。循环条件 是否完成作业。 #include iostream using namespace std; int main(){//1.变量初始值, false 没做完, true做完 string answerno; while (answer!yes){ //2.循环范围 只要不是yes就结束. cout 没做完,继续做作业...;cin answer; //3.控制循环增量 } //结束 cout 出去玩耍; return 0; } 2.2.1 案例1: 正序和倒序 1~100的范围 打印输出 1~100 和 100 ~1的范围。 使用 while 的形式循环 。倒序 100 ~ 1 。 //1.倒序. #include iostream using namespace std;int main(){int i 100;//范围起始值while(i1){ //循环范围cout iendl;i--; // 控制循环的变量} return 0; } 正序 1 ~ 100 。 #include iostream using namespace std;int main(){int i 1;//1.范围起始值 while(i100) { //2.循环条件 cout i endl;i; // 3. 控制循环的变量 }return 0; }2.2.2 案例 2: 判断输入数是几位数 需求任意输入一个数字输出这个数字是一个几位数。 例如 输入 12345 输出 5位数。 #include iostream using namespace std;int main(){/**需求:1. 任意输入一个数,判断它是几位数. 分析:需要使用位数分离,处理该问题然后每处理一位,累计一次. 循环条件: ? 只要是余数为 0 就是一位数. 重复问题: ? num num/10 */int num;int count0;//计数器 cin num; //输入一个数 while(num!0){ //重点 :循环条件 num/10; //重点: 去掉一位数 count;//计数 } cout count endl; return 0; } 2.3 while循环案例(扩展) 2.3.1 银行取款输入密码 在银行取款时需要输入密码密码三位数密码正确才可以进行取款操作如果连续三次输入密码错误就会提示错误信息并且冻结账户。 给出错误提示信息 正确错误冻结。 分析思路 首先需要预设密码然后在输入密码和 输入次数。重复做的事是什么? 循环条件是什么? #include iostream using namespace std;int main(){int password123; //预设密码int i_password; //输入密码int n0; //输入次数 //不循环的条件是://大于三次和密码相同就不循环 while(n3i_password!password) {//每次都累计一次n; cin i_password; //错误的给出提示if(i_password!password){cout 错误 endl; } }//2.正确给出提示if(password i_password){cout 正确 endl; }else if(n3){//如果3次就需要冻结 cout 冻结 endl; } return 0; } 2.3.2 欧几里德算法(最大公约数) 又称为辗转相除法属于一个数学技巧。 对于任意两个自然数 a 和 b 求他们的最大公约数。 分析具体做法 分析两个数需要两个数。案例如下 #include iostream using namespace std;int main(){//1.声明两个变量int a,b,r;cin ab;//2.判断余数是否为零.//2.1如果为 0, b就是最大公约数.r a%b; while(r!0) {//2.2 进行交换 ab;br;ra%b; }cout b endl; //最大公约数 return 0; }2.3.3 斐波那契数列 什么是 斐波那契数列 (兔子数列) 斐波那契数列指的是这样一个数列1123581321345589…这个 数列从第3项开始每一项都等于前两项之和。思考下面的枚举方式是否可行?为什么? 如何解决上述问题。 需要第三方变量存储c到b过渡的值。 输入一个数到这个数之前的数的前两个数列之和是多少 #include iostream using namespace std;int main(){//声明变量,a,b,c,任意数 num int a1,b1,c,num;cin num ;//1.如果num 为 1或者2if (num1 || num2){cout 1;return 0; //结束返回即可 } //2.大于3的话 for (int i3;inum;i){//2.1 进行交换,向后移动一位. c ab;int temp b;b c; a temp; } cout c endl; return 0; } 3. 循环算法扩展 3.1 质数(素数) 需求 输入一个数判断该数是否为质数是输出 “yes” 不是输出 “no” 。 分析 什么是质数 质数是指在大于1的自然数中除了1和它本身以外不再有其他因数的自然数。又称为素数注意1不属于质数。 代码如何判断 思路分析: 换句话说,只要在 2 到 n-1之间 有除数就不是一个质数。 当找到了其他因数就跳出程序 关键字break的使用。 #include iostream using namespace std;int main(){// 1.就需要使用枚举法将所有符合.//只要循环范围在 2 和 n-1之间就可以.(1和本身)int n;cin n;//设置一个标志标量,提示信息bool flag true; // true 是的意思 , false 不是质数 //2.循环的目的就是看看能不能找到. for (int i 2;in-1;i){//2.1 枚举判断if (n%i0){flag false; //不是质数 break; //找到就结束,增加效率 }} //3根据标识变量判断 if (flag true){cout 是质数; } else {cout 不是质数; } return 0; } 3.2 质数统计(在3.1基础上扩展) 输入两个整数 n 和 m 请输出[nm] 内所有的素数。 例如输入 1 和 20 其中需要列出1~20之间所有质数。 如何分析 首先通过循环输出区间值。其次模块化 质数。最后标志变量判断输出。 #include iostream using namespace std; int main(){//1.获取区间值,定义变量int n,m;cin n m;//2.循环变量 for(int in; im;i){ //cout i endl;//循环体//2.2 设置标志变量 bool falg true; //模块化;核心语法: 从2开始 n-1结束. //2.1 排除 数字 1 if (i1) {falg false; } for (int j 2;ji-1;j){//2.2 判断是否有因数 if(i%j0){falgfalse;break; //如果是跳出 } } if(falg true){cout i endl; } } return 0; } 3.3 回文数 什么是回文数? 首先理解回文指正着读倒着读都能通的句子在数学中也一样。 12321,12344321,999。 #include iostream using namespace std;int main(){//位数分离int n,n1,g,rvs0;cin n;n1n;while(n!0){ //123g n%10; //获取各位 //反转rvs rvs*10g; n n/10; //去掉一位. } if(n1rvs){cout yes;} else{cout no;}return 0; } 4. 嵌套循环 4.1 什么是嵌套循环 在一个循环语句中包含另一个循环结构这样的结构称之为嵌套循环以下为核心语法 外层循环控制行数。内存循环控制列数。 案例如下 #include iostream using namespace std;int main(){//1.嵌套循环结构. for (int i 1;i10;i){ //外层循环,控制行. for (int j 1; j10;j){//内层循环,控制列. cout *;} //换行cout endl; } return 0; } 总结外层循环循环一次内层循环全部。 4.2 打印直角三角形 使用星号打印出直角三角形如下图 * ** *** **** *****认真思考分析上述 打印几行每行打印几次行和列存在什么关系? #include iostream using namespace std;int main(){//1.思考外层循环和内层循环建立联系 for (int i 1;i5;i){ //外层循环打印5行 for (int j 1; ji;j){cout *;} //换行cout endl; } return 0; }4.3 打印等腰三角形 使用星号打印等腰三角形如下图 输入 5打印下图 **************** *********认真思考分析上述 打印几行每行打印几次怎么组合内循环。行和列存在什么关系?需要几个循环 #include iostream using namespace std;int main(){int n;cin n; for (int i 1;in;i){//外层循环控制行数 //1.第一行相当于倒着输出 n5时, 第一行为 n-i for (int j 1; jn-i;j){ //注意范围时 n-i cout ; } //2. *打印的是 1 3 5 7 9 2*i-1(奇数) for(int z 1; z2*i-1; z){cout*; } //每打印一行 就需要换行coutendl; } return 0; } 4.4 打印99乘法表 数学启蒙阶段都学了这样一道题学习99乘法表在编程中如何实现打印99乘法表。 提示参考4.2 案例打印直角三角形。 #include iostream using namespace std;int main(){//外层循打印行,打印9行 for(int i 1;i9;i){//内层循环打印列数,需要外层循环保持一致 for(int j 1;ji;j){//拼接循环体 cout i*ji*j ; } //换行 coutendl; } return 0; } 5. 知识扩展 5.1 枚举法 什么是枚举法 ? 5.1.1 百钱买百鸡 需求如下图 认真思考分析上述 首先确定枚举对象。其次确定枚举范围。最后分析判断条件。 #include iostream using namespace std;int main(){//1.使用枚举法解决问题 //1.1 公鸡的数量 100元 0-20只 5元一只for (int i0;i20;i){//cout iendl; //0~20只公鸡//1.2 母鸡100元 0-33只 3元一只for (int j 0;j33;j){//1.3 小鸡100元 , 0-300只. 1元3只,只能3只3只买 for (int z 0;z300;zz3){//间隔3,6,9 //2.进行判断if(ijz1005*i3*jz/3100){cout i j z endl; } } } } return 0; } 上述问题可以优化么 存在什么漏洞 可能存在超时所以需要优化。 #include iostream using namespace std;int main(){//1.使用枚举法解决问题 //1.1 公鸡的数量 100元 0-20只 5元一只for (int i0;i20;i){//cout iendl; //0~20只公鸡//1.2 母鸡100元 0-33只 3元一只for (int j 0;j33;j){//1.3 小鸡100元 , 0-300只. 1元3只,只能3只3只买 int z 100-i-j; if(5*i3*jz/3100z%30){cout i j z endl; } } } return 0; } 5.1.2 枚举应用–无重复事项 使用 利用 0,12, 3这四个数字组合成 “无重复” 的三位数 问有多少组合方式。 无重复。 #include iostream using namespace std;int main(){/**0 1 2 3 分析: 组成一个三位数. 0 不能开头 循环范围 1 2 3 for(int i1; i3;i)第二位可以是 0 1 2 3 for(int j 0; j3; j)第三位可以是 0 1 2 3 for(int j 0; j3; j)最后判断范围 if()判断 */for(int i 1; i3;i){ //第一位 只能是 1, 2, 3//第二位,可以是 0 1 2 3 for (int j 0;j3;j){//第三位可以是 0 1 2 3for (int z 0 ; z3;z){//进行判断,不能重复,所以需要判断. if(i!jj!zi!z) cout i j z ; } } } return 0; } 102 103 120 123 130 132 201 203 210 213 230 231 301 302 310 312 320 321
http://wiki.neutronadmin.com/news/71810/

相关文章:

  • 张家界城乡建设网站山东浩景建设有限公司网站
  • 经营网站 备案信息管理系统商城网站建设专业公司
  • 鲜花店网站页面-欧美模板1psd重庆市安全建设工程信息
  • 正规代做毕业设计的网站做电商网站都需要学什么软件
  • 兰州网站公司python用于网站开发
  • 南通建设工程造价信息网站德州网站制作
  • 改图网网站谁做的wordpress设置多域名多站点
  • 百度推广送企业网站吗网站设计制作公司大全
  • nodejs做企业网站seo收录查询
  • 网站建设规划方案制作上饶商城网站建设
  • 山西网站seo广州平面设计工作室
  • jsp网站开发遇到的问题市场推广方案和思路
  • 网站建设捌金手指花总十六网站正在建设模板
  • 美橙西安网站备案拍照服装网站技术解决方案
  • zhon中国建设会计学会网站wordpress开发主题
  • 南乐网站建设价格自然资源网站建设方案
  • 陕西长城建设工程有限公司网站可以用来做简单的网络验证的网站
  • 口碑好网站建设报价官网网站源码
  • 镇江哪里做网站电子商务网站建设与维护方法分析不包括哪些
  • 沧州 网站建设赤壁网站建设公司
  • 深圳专业网站设计公司做教育app的网站
  • 镇江企业做网站做网站项目前期工作包括哪些
  • 太平鸟品牌门户网站建设网站国外推广
  • 在线网站建设机构查看网站用什么语言做的
  • 淮安建设银行招聘网站天津专业的做网站与运营的公司
  • 旅游网站模板图片秦皇岛百度网站排名
  • 网站建设的一般费用生意网app下载官网
  • 培训教育行业网站建设方案企业年报网上申报入口官网
  • 外贸公司名称大全简单大气百度系优化
  • 成都招聘网站制作漳州市城乡和住房建设局网站