注册 登录
编程论坛 C语言论坛

c语言的单循环问题

frecklesss 发布于 2020-03-17 11:51, 2243 次点击
只有本站会员才能查看附件,请 登录


上面是题目,下面是我写的代码,无法输出结果,请问该怎么改呢?光是看题目头都晕了

程序代码:
#include<stdio.h>
#include<stdlib.h>
int main(){
    int s,x,t,max,max1,num,num1;
    float y;
    printf("请输入奖金总额:\n");
    scanf("%d",&s);
    num=0;
    printf("请输入要猜的数额:\n");
    while(1){
        scanf("%d",&x);
        max=s-x;
        max1=abs(max);
        if(t<max1){
            t=max1;
            num=1;
        }
        else if(t==max)
            num++;
            num1+=num;
    }
    printf("共猜中%d人",num);
    y=s/num;
    printf("可分的奖金:%.2f元",y);
    return 0;
}
7 回复
#2
纯蓝之刃2020-03-17 12:59
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int s,x,t,max,num,num1;
    printf("请输入奖金总额:\n");
    scanf("%d",&s);
    t=s;
    printf("请输入要猜的数额:\n");
    while(scanf("%d",&x)!=EOF)
    {
        max=abs(s-x);
        if(t>max)
        {
            t=max;
            num=1;
        }
        else if(t==max)
            num++;
    }
    printf("共猜中%d人",num);
    printf("可分的奖金:%.2f元",(float)s/num);
    return 0;
}
#3
frecklesss2020-03-17 13:48
回复 2楼 纯蓝之刃
请问这个要怎么退出循环呢?
#4
return_02020-03-17 14:30
if 和 break
#5
return_02020-03-17 14:33
记住,break的意思是退出循环,continue的意思是跳出本次循环,具体用法呢:
程序代码:

while(1){
    break;
}
while(1){
    continue;
}

实在不行就试试goto,这个比较好玩(ง •_•)ง
#6
return_02020-03-17 14:34
具体代码我就不写了,只要在break语句外套if,if里面就写终止条件。
#7
frecklesss2020-03-17 15:05
回复 6楼 return_0
Thanks♪(・ω・)ノ
#8
frecklesss2020-03-17 15:06
回复 2楼 纯蓝之刃
感谢♪(・ω・)ノ
1