C语言while循环的问题

使用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;
}

追问

谢谢,请问如果不使用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;
}
}
}
第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
第4个回答  2020-01-01
while的语法就是while(条件){
循环内容}
语法规定,随意是没有分号的
欢迎采纳

相关了解……

你可能感兴趣的内容

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