c语言重复循环语句
2022-11-29阅读(233)
问:c语言用循环语句实现重复循环
- 答:不能单纯地使用if,可以配合函数或者goto跳转来实现。比如
int
start
=
1;
int
end
=
100;
int
s
=
0;
//以上是通用定义,我就不写多次了
//第一种方法,用goto
begin:
if(start<=end)
{
s
+=
start;
start++;
goto
begin;
}
//第一种方法结束
//第二种方法,函数递归
int
function(int
start,int
end)
{
if(start
<=
end)
return
start
+
function(start+1,end);
else
return
0;
}
以上两种方法可以在不使用for和while的前提下实现累加,但是单纯用if是无法实现的。 - 答:#include
#include
int
main(){
int
c;
int
flag=0;
do{
if(flag==1)
break;
else{
scanf("%d",&c);
switch(c)
{
case
0:
printf("thank
you\n");
flag=1;
break;
case
1:
printf("please
input\n");
break;
case
2:
printf("please
input
number\n");
break;
default:
printf("error\n");
break;
}
}
}while(c);
getchar();
return
0;
}
这样添加一个判断标志可以实现,但是我觉得最好先判断每次的输入是否满足要求,不满足直接输出error,满足的话分情况输出thans
you
什么的 - 答:你可以用while来实现循环输入,没必要用goto,这个语句已经不建议使用了,楼上的正解
问:C语言程序重复执行的语句
- 答:if代码段前后用while(1){}包括在里面即可。
- 答:1.,“这个程序运算完一次后再弹出输入框输入数据继续运算”,看来是要做成循环,但是你有什么循环条件吗?循环多少次停止?还是遇到什么条件停止?例如:
for(int k;k<10;k++)
{
int a,v;
printf("请输入立方体的边长:");
scanf("%d",&a);
if(a>0)
v=a*a*a;
else
exit(0);
printf("立方体体积为%d\n",v);
}
这样应该会循环,看条件k<10;k++,只要k<10就循环,之后k增加一,直到10,循环结束;
2"输入数字为0时,程序弹出",你意思是循环过程中输入0时程序结束?例如:
for(int k;k<10;k++)
{
int a,v;
printf("请输入立方体的边长:");
scanf("%d",&a);
if (a==0)
break;
else
{
if(a>0)
v=a*a*a;
else
exit(0);
printf("立方体体积为%d\n",v);
}
}
break用于跳出当前循环。
你自己试一试,仅供参考。 - 答:#include"stdio.h"
int main()
{
int a,v;
while(a!=0)
{
if(a>0) v=a*a*a;
else exit(0);
printf("立方体体积为%d\n",v);
printf("请输入立方体的边长:");
scanf("%d",&a);
}
} - 答:#include<stdio.h>
#include <stdlib.h>
int main()
{
int a,v;
while (1)
{
printf("请输入立方体的边长:");
scanf("%d",&a);
if(a>0)
v=a*a*a;
else
exit(0);
printf("立方体体积为%d\n",v);
}
}
添加一个while(1)循环就行了,就实现的你想要的效果 - 答:我会的编程是cnc编程,不是c语言
- 答:你加个循环?循环退出的条件就是 输入 0.
比如while(1){printf("请输入立方体的边长:"); scanf("%d",&a); if(a==0) break;.....} - 答:输入0就退出你程序本身就可以做到
方法有几个,1.在第一个printf的前面插入loop:行,然后最后在最后}前面加上goto loop;
2.用一个while(1)将第一个printf到}之前包起来 - 答:#includeint main(){ int a,v; while(1){printf("请输入立方体的边长:"); scanf("%d",&a); if(a>0) v=a*a*a; else exit(0); printf("立方体体积为%d\n",v);}}
- 答:#include<stdio.h>
int main()
{
int a, v;
printf("请输入立方体的边长: ");
while(scanf("%d",&a))
{
if(a>0)
v=a*a*a;
else
return 0;
printf("立方体体积为%d\n",v);
printf("请输入立方体的边长: ");
}
return 0;
} - 答:例如:
#include<stdio.h>
intmain(void)
{
charc;
c=getchar();
while(c!='')//输入空格退出
{
printf("%c",c);//这里改成你需要的那个函数做相应的工作就可以了
c=getchar();
}
return0;
}
扩展资料
C语言循环控制语句
#include<stdio.h>
intmain(){
inta;
/*forloopexecution*/
for(a=10;a<20;a=a+1)
{
printf("valueofa:%d\n",a);
}
return0;
}
C编程语言中do...while循环的语法是-
do{
statement(s);
}while(condition);
问:c语言用循环语句实现重复循环
- 答:你的思路没问题,有问题的可能是这一句while(c);,假如你输入的是非零的c,那么存在隐式转换就可能变成while(1);了,所以就退出了。
另外我想说一句的是,我很长时间没接触c语言,现在全都是和c#,说的对不对的你多试试。再就是编程序不要为了简化而简化,更不要为了显示“水平”而简化,程序写的越详细,注释越多越好(有点极端),就像你刚才写的while(c);规范的格式应该是while(c==0);我说这些你不要觉得不屑,随着你写程序越来越多,时间越来越长,你就会感觉这样做的必要性。有问题在留言吧 - 答:不能单纯地使用if,可以配合函数或者goto跳转来实现。比如
int start = 1;
int end = 100;
int s = 0;
//以上是通用定义,我就不写多次了
//第一种方法,用goto
begin:
if(start<=end)
{
s += start;
start++;
goto begin;
}
//第一种方法结束
//第二种方法,函数递归
int function(int start,int end)
{
if(start <= end)
return start + function(start+1,end);
else
return 0;
}
以上两种方法可以在不使用for和while的前提下实现累加,但是单纯用if是无法实现的。 - 答:程序没有问题,可能是你输入有问题,输入0之后是不可能再输入其他数的,
实际测试结果如图: - 答:int main(){
int c=0;//防止输入出错,c没有赋值!
do{
scanf("%d",&c);
switch(c)
{
case 0://c==0,函数返回,也可以用 goto 跳出循环,或者加标志进入下一轮前先判断!
printf("thank you\n");
while('q'!=getch());
return 0;//函数在这里返回
case 1:
printf("please input\n");
break;
case 2:
printf("please input number\n");
break;
default:
printf("error\n");
break;
}
}while(1);//不管c是否为零!
return 0;//函数返回,这个是无用代码,不写会有警告,或出错!
} - 答:#include<stdio.h>
#include<stdlib.h>
int main(){
int c;
int flag=0;
do{
if(flag==1)
break;
else{
scanf("%d",&c);
switch(c)
{
case 0:
printf("thank you\n");
flag=1;
break;
case 1:
printf("please input\n");
break;
case 2:
printf("please input number\n");
break;
default:
printf("error\n");
break;
}
}
}while(c);
getchar();
return 0;
}
这样添加一个判断标志可以实现,但是我觉得最好先判断每次的输入是否满足要求,不满足直接输出error,满足的话分情况输出thans you 什么的