使用while循环,持续输入数字,直到相加之和大于10以上,退出循环输出和。如果输入中出现负数,直接退出循环输出错误。例
数值:2
数值:3
数值:4
数值:5
和:14
数值:1
数值:-1
输入错误
#include<stdio.h>
int main( )
{
int num,sum=0;
while(1)
{
printf("数值:");
scanf("%d",&num);
if(num<0)
{
printf("输入错误\n");
break;
}
sum=sum+num;
if(sum>10)
{
printf(" 和:%d\n",sum);
break;
}
}
return 0;
}追问
int main( )
{
int num,sum=0,flag=1;
while(flag)
{
printf("数值:");
scanf("%d",&num);
if(num<0)
{
printf("输入错误\n");
flag=0;
}
else
{
sum=sum+num;
if(sum>10)
{
printf(" 和:%d\n",sum);
flag=0;
}
}
}
return 0;
}
int main( )
{
int num,sum=0;
while(1)
{
printf("数值:");
scanf("%d",&num);
if(num<0)
{
printf("输入错误\n");
break;
}
sum=sum+num;
if(sum>10)
{
printf(" 和:%d\n",sum);
break;
}
}
return 0;
}追问
谢谢,请问如果不使用break可以做到吗?
追答不用break。
#include<stdio.h>int main( )
{
int num,sum=0,flag=1;
while(flag)
{
printf("数值:");
scanf("%d",&num);
if(num<0)
{
printf("输入错误\n");
flag=0;
}
else
{
sum=sum+num;
if(sum>10)
{
printf(" 和:%d\n",sum);
flag=0;
}
}
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-05-31
int in=0;
int count=0;
while(true)
{
scanf(%s,&in);
if(in<0)
{
printf("输入错误\n");
break;
}else{
count=count+in;
if(count>10)
{
printf("和:%d",count);
break;
}
}
}
int count=0;
while(true)
{
scanf(%s,&in);
if(in<0)
{
printf("输入错误\n");
break;
}else{
count=count+in;
if(count>10)
{
printf("和:%d",count);
break;
}
}
}
第2个回答 2019-12-31
同学,很高兴为你解答!如果你是要表示判断,应该使用while(k==1),而你的题目中是k=1,这个表达式的值为1,即c语言里面的“真”,所以会一直循环下去!你这里是赋值语句,不是判断语句!
第3个回答 2019-05-29
while(a--);
//
注意有一个分号,循环体是空的
每次执行while时先判断a的值,然后a--
直到a=0是while结束,a--,a的值为-1
输出a为-1
//
注意有一个分号,循环体是空的
每次执行while时先判断a的值,然后a--
直到a=0是while结束,a--,a的值为-1
输出a为-1
第4个回答 2020-01-01
while的语法就是while(条件){
循环内容}
语法规定,随意是没有分号的
欢迎采纳
循环内容}
语法规定,随意是没有分号的
欢迎采纳