2621079457 发表于 2021-7-27 22:02:18

帮忙看看哪里出问题了

帮忙看看哪里出问题了,输入0的时候才会输出小了,否则都只会输出大了
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
        srand (time(0));
int a = rand()%100+1;
int x;
int n=0;
        do{
scanf("%f",&x);
        n ++;
        if(a>x){
        printf("小了");
}
        else if (a<x){
        printf("大了");
        }
        }
while(a!=x);       
printf("历经%d次猜中了",n);
return 0;
}

人造人 发表于 2021-7-27 22:06:39

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{ srand (time(0));
int a = rand()%100+1;
int x;
int n=0;
do{ scanf("%d",&x);
n ++;
if(a>x){
printf("小了"); } else if (a<x){
printf("大了"); } } while(a!=x);
printf("历经%d次猜中了",n);
return 0;}

qiuyouzhi 发表于 2021-7-27 22:13:23

a > x打印小了..你是不是写反了

solseasky 发表于 2021-7-27 22:37:55

你在scanf函数那儿出错,int 类型用%d或%i,%f读取一个单、双精度浮点数(需要使用 lf),前边可以加上符号(+ 或 -)表示正负,你debug一下代码会发现x的值不是你输入的值

2621079457 发表于 2021-7-28 08:36:27

哦完蛋了,我一开始写的是float所以才写的%f,后来改成int忘记改回来了啊好尴尬

2621079457 发表于 2021-7-28 08:37:05

qiuyouzhi 发表于 2021-7-27 22:13
a > x打印小了..你是不是写反了

啊这个倒是没错,x是输入值小于随机数确实应该是 小了
页: [1]
查看完整版本: 帮忙看看哪里出问题了