C语言,求助两个问题,编写while和do whlie循环,在一行数字上显示10-20

作者&投稿:唱厘 (若有异议请与网页底部的电邮联系)
c语言中,while 和 do while 循环的主要区别是( )~

1、循环结构的表达式不同:
while循环结构的表达式为:while(表达式){循环体}。
do-while循环结构表达式为:do{循环体;}while(条件表达);。
2、执行末尾循环体的顺序不同
while循环的末尾循环体也是在中间循环体里,并在中间循环体中执行,循环体是否继续运行的条件也在循环体中。
do-while循环是在中间循环体中加入末尾循环体,并在执行中间循环体时执行末尾循环体,循环体是否继续运行的条件在末尾循环体里。
举例如下:
while(0)
{printf("执行循环体。");

do
{printf("执行循环体");
}while(0);
前者先判断一次条件是否满足,不满足所以不执行下面的循环体,循环体没有被执行;
后者先执行一次循环体,再判断条件是否满足,不满足所以不再执行循环体,循环体执行了一次。
这种区别只有在条件在第一次判断就为"0"(假)时才体现出来,若第一次条件判断为非"0"(真),则没有这种区别。

3、执行次数不同
while循环是先判断后执行,如果判断条件不成立可以不执行中间循环体。
do-while循环是先执行后判断,执行次数至少为一次,执行一次后判断条件是否成立,如果不成立跳出循环,成立则继续运行循环体。
4、执行时判断方式不同
while循环执行时只有当满足条件时才会进入循环,进入循环后,执行完循环体内全部语句至当条件不满足时,再跳出循环。
do-while循环将先运行一次,在经过第一次do循环后,执行完一次后检查条件表达式的值是否成立,其值为不成立时而会退出循环。
参考资料来源:
百度百科——while
百度百科——do while

#includevoid main(){ int i,n,sum; sum=n=0; do { printf("请输入一个数字:
"); scanf("%d",&i); sum+=i; n++; } while(n<=10) printf("10个数字的和为:%d.
",sum); }2,
#inclduevoid main(){ int i,n,sum; sum=n=0; while(n<=10) { printf("请输入一个数字:
"); scanf("%d",&i); sum+=i; n++;} printf("10个数字的和为:%d.
",sum); }3,
#includevoid main(){ int i,n,sum; sum=n=0; for(;n<=10;n++) { printf("请输入一个数字:
"); scanf("%d",&i); sum+=i; } printf("10个数字的和为:%d.
",sum); }

1. 
  #include <stdio.h>

int main(void)

{

 int i = 10;

 while(i<=20)

 {

  printf("%d ",i++);

 }
}

//do-while
#include <stdio.h>

int main(void)

{

 int i = 10;

       do

 {

  printf("%d ",i++);

 }

 while (i<=20);

}

2.//  do-while
#include <stdio.h>

int main(void)

{

 int i = 10;

       do

 {

  if(i%2 == 0)

  printf("%d ",i);

  i++;

 }

 while (i<=20);

}
 //while
 #include <stdio.h>
int main(void)
{
 int i = 10;
     while(i<=20)
  {
  if(i%2 == 0)
  printf("%d ",i);
  i++;
 }
}

3.

#include <stdio.h>
int main(void)
{
   int a;
   int a1= 0;
   printf("输入一个正整数:");
   scanf("%d",&a);
   while(a!=0)
   {
     a1 = a1*10+a%10;
  a = a/10;
   }
   printf("%d
",a1);
  

}




求助语言的十种说法有哪些
1、老板,您看我最近一直有一个事情困扰着我,想请您帮忙点点津。2、您好,我有一事不明需要向您请教或者我有事情需要您的帮助,能否给予帮助,十分感谢。3、尊敬的领导,又要给您添麻烦了,现在某个方面有什么职位(或者什么利益),想请您帮忙为我想争取一下,谢谢了。4、我非常感激您能够帮我解...

求助的语言方式是什么?
”或者“谢谢您,我不勉强您。”这样,对方会感到内疚,下次你再求助时,他们可能会更愿意帮忙。第三,要记得感谢别人。别人帮助你是一种额外的恩惠,我们应该表示感谢。即使只是一个简单的“谢谢”,也能让对方感到舒服,同时也展现了你的良好修养。在大多数情况下,寻求帮助是不需要报酬的,因此,对别...

求助的语言方式是什么?
1.语气要谦和 求人办事要用商量的口吻,让对方感觉到你尊重他,对方才会愿意帮助你。比如问路,就应该说:“劳驾,向您打听一下路。~‘打扰了,请问去新华书店怎么走?”另外,还要区别不同年龄、性别和职业等,冠之以不同的尊称。即使是对要好的朋友,也不能用命令的口气,否则,人家就是帮了忙...

两个关于C语言的问题
第一题:应该这样看 if(a>c) b=a;a=c;c=b;如果你明白可追问 第二题:首先,在 switch(x) {} 中,case 0与case 1之间没有break;所以执行完case 0后面的内容后还会执行case 1后面的内容,这就是为什么会输出 #,因为执行了default : printf ("#");其次,* 这个是得不到的,除...

...=NULL,而且不用文件直接在dos输入结果有误,两个问题,求助,好...
你没有给出数据例子,所以不好说哪里有问题。按你的程序,输入文件第一个数是 n 然后读 n 个 名字。接着 做 n 次 大循环 读1 个名字, 读2个整数,如果第2个整数number 是 0,循环结束,否则 k 循环number 次,读名字,调finder()和计算。finder() 程序 里,控制条件不全,当找不到时...

c语言求助
一、printf{("%c\\n",(ch1,ch2)};这种写法一定是语法错误,估计想写的是:printf("%c\\n",(ch1,ch2));吧。这个写法格式说明符的个数不会少于输出项的个数,就算编译器提出警告(warning)也不用担心,因为实际上(ch1,ch2)是一个逗号运算,结果是ch2,也就是'a'。二、你说得对,加法的优先...

C语言·求助···
\/\/计算π的近似值,当某一项的值小于10的-5次方时,认为达到精确度要求···输出结果 \/\/2:编写一个程序,利用随机函数,模拟投币结果,有两个硬币,投100次,求“两个正面”,“两个反面”,“一反一正”三种情况出现多少次··include <stdio.h> double f( int n){ return n*1.0\/(2 *...

c语言作业求助,十分感谢
在 C 语言中,可以使用两层循环来遍历矩阵的每一个元素。外层循环控制行,内层循环控制列。可以设置一个标志变量,初始值为 0,如果发现不对称的情况就将它设为 1。然后,在循环结束后判断该标志变量的值,如果为 0 就说明矩阵是对称的,否则就不是。示例代码如下:上面的代码只判断了左上右下这一...

求助一道c语言问题
do {*t=*s; t++; s++;} while (*s);是不是这样,你最好上机单步调试一下。假如我写的是对的,这意味着对于abc\\0,当复制完字符c后,由于++的作用,s指向了下一个字符,使得*s=\\0,导致while为假不再循环。这意味着目标字符串没有终止符\\0,这就完蛋了。对于空串\\0,也是++的问题,...

求助,C语言,函数里有两个return的问题,谢谢
首先,当n>1时,会执行return(n * fun(n-1));这一句。而一个函数当返回后,即退出这个函数,所以不会再执行return 1;这一句。在主函数传递进来的参数是3,3 > 1,所以会返回 3 * fun(2),2还是大于1,递归时返回 2 * fun(1),合起来便是 3 * 2 * fun(1)。而当n == 1时,不...

尼勒克县18921529092: 用c语言while编写两个正整数的最大公约数和最小公倍数 -
却洋牛黄: #include <stdio.h> main(){int p,r,n,m,temp;printf("请输入两个正整数n,m"); //这个地方运行时要注意,两个数字之间要用“,”割开. scanf("%d,%d",&n,&m);p=n*m;if(n<m){temp=n;n=m;m=temp;}while(m!=0){ r=n%m;n=m;m=r;}printf("它们的最大公约数为:%d\n",n);printf("他们的最小公倍数为:%d\n",p/n);}

尼勒克县18921529092: C语言中的while 编译有问题 之前是正常的 -
却洋牛黄: 在while()循环中,先加一句getchar(); 因为,当你输入非数字时,字符会存储到缓存中,如果不清理,则程序会一直读缓存中的字符,导致死循环.程序在输入数据时,先是按字符进行数据接收,符合条件,则读取,不符合则会忽略.在读数字时,只要是非数字信息,就会忽略,继续读下一字符,但非合理字符未清理,就会导致死循环.

尼勒克县18921529092: C语言 我不懂这个程序中的while语句,求解释 -
却洋牛黄: 进入子函数,form和to是两个字符指针,while循环的功能是将from指定字符串中的字符逐个复制到to的存储空间内,直到遇到from中的字符结束符为止.复制操作方法还有: 1、利用系统函数进行字符串复制:strcpy(to,from); 需要连接string.h ...

尼勒克县18921529092: C语言 一个简单小程序问题
却洋牛黄: 首先printf出1这个时候x=1 然后--x = 0,!0 = 1,所以再执行一次while printf出0-2等于-2,这个时候x=-2 --x = -3,!(-3) = 0,while结束 只要测试条件不是0则都满足while的循环条件

尼勒克县18921529092: 用c语言来写!求助求助!1、从键盘输入a和b两个值,再输入“+”或者“*“,如果输入“+”则输出a -
却洋牛黄: #includeint main(){ int a, b; char ch; scanf("%d %d %c", &a, &b, &ch); switch(ch){ case '*': printf("result = %d\n", a * b); break; case '+': printf("result = %d\n", a + b); break; } return 0; } #include int fun(int a, int b){ return a * b; } int main(){ int a, ...

尼勒克县18921529092: 刚学c语言,想用while做个循环,但是有点问题,就是循环体语句会执行两遍,详情如下 -
却洋牛黄: 问题出在scanf("%c",&b); 你肯定每次输入的时候都是Y+回车或者N+回车.当你输入玩Y或者N这两个值会被存在b中,但是后面的回车在这里算是一个字符,前面得的Y和N被存在b中,后面输入的回车就会在下一次循环的时候直接被存在b中,所以第二个你是无法输入的,因为在第一次的时候你已经把回车给了第二次循环的b了,所以循环直接跳到第三次.解决方法是在scanf("%c",&b);下面加一句getchar(); 这样回车会被getchar给得到,而不会影响到下一个寻坏.

尼勒克县18921529092: c语言中for与while的用法区别 不知道的就别扯 -
却洋牛黄: 第二个程序 while(y--);后面有分号 所以他一直执行到y--不为真才输出 只输出一个y=-1 如果把分号去掉 输出结果跟for循环一致

尼勒克县18921529092: 一个c语言关于do……while循环的问题 -
却洋牛黄: //修改 #include <stdio.h> void main() {char c;do{printf("Do you want to go on?(Y/N):");scanf("%c",&c);//因为当你按下回车键时,回车键也是一个字符,它会自动往下等待并给下一个c赋值,所以才会出错getchar();//去处按下的回车键printf("%c\n",c);}while (c=='Y'); }

尼勒克县18921529092: 需要求助的两个C语言问题
却洋牛黄: 1. #define n 10 main() { int a[n],i,j; /*给数组赋值*/ // 输出原数组 for(i=0;i<n;i++) printf("%d\t",a[i]); printf("\n"); //颠倒 for(i=0;i<(int)(n/2);i++) { j = a[i]; a[i] = a[n-1-i]; a[n-1-i] = j; } // 输出 for(i=0;i<n;i++) printf("%d\t",a[i]); printf("\n"); } #...

尼勒克县18921529092: C语言:输入10个数找出最大值和最小值的位数(用while做)注意!是位数 -
却洋牛黄: 看了楼上的程序,感觉都不错,不过还是有一定的繁琐的.这与C语言的效率不符.而且既然楼主向我的团队求助了,我不能不写一个. #include<stdio.h> int main() { int num[10]; //用来接收10个数 int max,min; //用来代表最大值的位数和最小...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网