KailynWuのBlog - www.kailynwu.cn
while循环在上一篇文章中我们已经可以使用for循环来进行累加解答高斯求和问题了。在这篇文章中我们将用while循环来解答高斯求和问题。 我们先来了解一下while函数的基本结构 1234while(循环条件){循环操作;} 它和for循环一样可以进行重复的操作,现在我们再来理解一下while循环的基本执行原理。 在while循环中,循环条件必须是boolean表达式,其值也必须是boolean类型。 注:在目前的学习中我们暂时不需要了解boolean(布尔类型值)。我们只需要知道它有两种形式,一种为真,一种为假。 当while循环条件为真时才执行循环体,然后再判断循环条件,如果条件为真,则继续执行循环体,如果为假,则退出循环 这样我们就已经了解了while循环,现在我们来使用while循环来解决高斯求和问题。 1234567891011#include<stdio.h>int main(){int sum=0;//定义sum来存放累加结果int i=1;//定义循环初始的值为1while(i<=100){//当i小于等于1 ...
循环结构在C语言11和13中我们已经了解了分支结构,现在我们来了解一下循环结构 高斯求和高斯求和(计算1+2+3+4+5+…+100的和)是一个非常经典的数学问题,我们能不能在c语言中也解决一下这个问题呢? 方法1:高斯公式我们可以利用高斯公式非常轻松的计算出它的结果。 高斯公式:(首项+末项)x项数/2 123456789#include<stdio.h>int main(){int a = 1;//a为首项1int b = 100;//b为末项100int sum;sum =(a+b)*100/2;//高斯公式printf("%d\n",sum);return 0;} 累加我们也可以使用累加的方法来计算 12345678910#include<stdio.h>int main(){int sum=0;//定义sum来存放累加结果for(int i=1;i<=100;i++){//定义i为一个不断增加的量 sum=sum+i;//用sum来存放每次变化后的i //注:sum=sum+ ...
条件运算符我们先来看一段代码 12345678910111213#include<stdio.h>int main(){ int x; scanf("%d",&x); char c; if(x>=10) { c='Y'; }else{ c='N'; } printf("%c\n",c);} 分析完这段代码,它的需求就是:输入一个数如果这个数大于等于10则输出Y如果这个数小于10则输出N。 但是这个程序过于庞大了,我们可以尝试将它缩小。 比如说这样 12345678#include<stdio.h>int main(){ int x; scanf("%d",&x); char c; c = x >= 10 ? 'Y' : 'N'; printf("%c\n",c);} 这个程序将if…e ...
更多分支的结构在第12章的分支结构中我们的判断分支最多只有3条。现在我们又有了一个新的需求:输入一个学生分数x。x<60,输出及格;60<=x<70,输出及格;70<=x<80,输出一般;80<=x<90,输出良好;90<=x<=100,输出优秀。 现在我们需求的判断分支达到了5条远远超过了之前的3条。这是我们就要引用新的概念了 更多的分支else if *Nelse if可以无限次的出现构成 1234567891011121314151617if(条件1){ 语句1}else if(条件2){ 语句2}else if(条件3){ 语句3}else if(条件4){ 语句4}else if(条件5){ 语句5}else if(条件6){ 语句6}....else{ 语句} 根据以上的新规则,我们可以轻松的完成上面的需求 123456789101 ...
避免出现无效步骤在上一篇文章中我们提到了一个新的需求:要求输入一个整数,如果数值小于2,则输出Left;如果数值在2到10之间,则输出In;如果数值大于10,则输出Right。 用if…else if…else…语句写出来是这样的 12345678910111213x#include<stdio.h>int main(){ int x;//声明x变量为整数int类型 scanf("%d",&x);//运用scanf函数扫描输入值并保存在变量x中 if(x<2){//if进行第一步判断x是否小于2 printf("Left"); }else if(x>=2 && x<=10){//进行第二步判断x是否在2-10之间 printf("In"); }else{//第三种可能性就是x大于10所以之间跳过if判断填写else语句 printf("Right"); } return 0;&# ...
幂次方的分析计算需求:给你一个整数 n(-2^31 <= n <= 2^31 - 1),请你判断该整数是否是 f(2<=f<=9) 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n == f^x ,则认为 n 是 f 的幂次方。这个需求乍一看非常复杂,但是我们可以将需求模块化,分部分来完成需求。 我们先从简单的部分开始。(整数的输入) 根据需求,我们需要用户从键盘输入整数n和幂次方基数f。 12345678#include<stdio.h>int main(){int n,f;//声明变量n变量f为整数int类型printf("请输入n的值");scanf("%d",&n);//从键盘输入扫描值并赋值给nprintf("请输入f的值");scanf("%d",&f);//从键盘输入扫描值并赋值给f} 接着这个程序需要我们判断是与否。 ...
数的分析与变换需求:给一个不多于5位的正整数,要求:①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为321,应输出123。1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556#include<stdio.h>int main(){int a;//声明变量a为整数int类型scanf("%d",&a);//扫描输入值并赋予aif(a>=10000){//判断a是否为五位数 int b,c,d,e,f; b=a/10000; c=(a-b*10000)/1000; d=(a-b*10000-c*1000)/100; e=(a-b*10000-c*1000-d*100)/10; f=(a-b*10000-c*1000-d*100-e*10)/1; //声明万位千位百位十位个位分别为b,c,d,e,f //利用小数省略输出各位值 pri ...
dowhile循环输出奇偶和需求:使用dowhile循环输出100-200之间的偶数和和奇数和。123456789101112131415161718192021222324#include<stdio.h>int main(){ int sum=0;//定义变量sum为整数int类型并初始化值为0 int i=100;//定义区间起点为100 do{ if(i%2==0){//通过1除以2的余数为0判断是否为偶数 sum+=i;//计算偶数和 } i++;//每次循环后i自加1 } while(i<=200)//定义区间结束点为200 printf("偶数和为%d\n",sum);//打印输出偶数和 sum = 0;//赋值sum为0 i = 100;//赋值i为100(定义区间起点为100) do{ if(i%2==1){//通过1除以2的余数为1判断是否为奇数 sum+=i;//计算奇数和 } i++;// ...
while循环输出奇偶和需求:使用while循环输出100-200之间的偶数和和奇数和。12345678910111213141516171819202122#include<stdio.h>int main(){ int sum=0;//定义变量sum为整数int类型并初始化值为0 int i=100;//定义区间起点为100 while(i<=200){//定义区间结束点为200 if(i%2==0){//通过1除以2的余数为0判断是否为偶数 sum+=i;//计算偶数和 } i++;//每次循环后i自加1 } printf("偶数和为%d\n",sum);//打印输出偶数和 sum = 0;//赋值sum为0 i = 100;//赋值i为100(定义区间起点为100) while(i<=200){//定义区间结束点为200 if(i%2==1){//通过1除以2的余数为1判断是否为奇数 sum+=i;//计算奇数和 } i++;//每次循 ...
for循环输出奇偶和需求:使用for循环输出100-200之间的偶数和和奇数和。123456789101112131415161718#include<stdio.h>int main(){ int sum=0;//定义变量sum为整数int类型并初始化值为0 for(int i=100;i<=200;i++){//定义区间范围为100-200 if(i%2==0){//通过1除以2的余数为0判断是否为偶数 sum+=i;//计算偶数和 } } printf("偶数和为%d\n",sum);//打印输出偶数和 sum = 0;//赋值sum为0 for(int i=100;i<=200;i++){ if(i%2==1){//通过1除以2的余数为1判断是否为奇数 sum+=i;//计算奇数和 } } printf("奇数和为%d\n",sum);//打印输出奇数和 return 0;//返回结果0}
公告
能有啥公告呢? 帮舍友征婚vx:zlj18101438527
最新文章
标签
网站资讯
文章数目 :
36
本站访客数 :
本站总访问量 :
最后更新时间 :