《求助》我看了好久没看出来哪里错了,555

求大佬看下,大一有点不懂,最近刚学了循环想做个猜数字的游戏试下。

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int a = rand() % 101, b,d;
	char c;
	printf("*****要来一把猜数字游戏吗?(yes/no)\n");
	scanf_s("%c", &c);
	if(c="yes");
	    printf("*****好的,游戏开始………………\n");
	    printf("小花正在出题中…………\n");
	    printf("请猜一个0-100的数:\n");
		scanf_s("%d", &b);
	for (d = 0; d < 100; d++)
			if (b < a)
				printf("哎哟,你猜的太小啦!\n");
		printf("再试一次吧");
		scanf_s("%d", &b);
			if (b > a)
				printf("哎哟,你猜的太大啦!\n");
			if (b == a)
				printf("恭喜你,猜对啦!!!\n");
			printf("你一共猜了%d次", d);
		    printf("还要再玩一次吗?(yes/no)");
		scanf_s("%c", &c);
		return 0;
}

 

if(c="yes");这条语句是错误的,要用==,还有c是字符型变量,只能输入一个字符,比如y,n

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a = rand() % 101, b,d;
    char c;
    printf("*****要来一把猜数字游戏吗?(y/n)\n");
    scanf("%c", &c);
    if(c=='y')
    {
        printf("*****好的,游戏开始………………\n");
        printf("小花正在出题中…………\n");
        printf("请猜一个0-100的数:\n");
        scanf("%d", &b);
        for (d = 0; d < 100; d++)
        {
            if (b < a)
                printf("哎哟,你猜的太小啦!\n");
            printf("再试一次吧");
            scanf("%d", &b);
            if (b > a)
                printf("哎哟,你猜的太大啦!\n");
            if (b == a)
                printf("恭喜你,猜对啦!!!\n");
            printf("你一共猜了%d次", d);
            printf("还要再玩一次吗?(y/n)");
            scanf("%c", &c);
        }
    }
    return 0;
}

if判断句,==

char是字符,最好把yes/no换成y/n

scanf_s("%c", &c);----既然是%c,能读入"yes"串吗?

if(c="yes");---if里面赋值吗?完全看不出这句要干啥,太乱了

应该是 if(c=="yes")

{

printf("*****好的,游戏开始………………\n");

printf("小花正在出题中…………\n");

printf("请猜一个0-100的数:\n");

scanf_s("%d", &b);

}

吧?

 

for循环连大括号都没有

if(c="yes");这条语句是错误的,c是字符型变量,只能输入一个字符,比如y,n

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a = rand() % 101, b,d;
    char c[30];
    printf("*****要来一把猜数字游戏吗?(yes/no)\n");
    scanf_s("%s", &c);
    while(c=="yes") {
        printf("*****好的,游戏开始………………\n");
        printf("小花正在出题中…………\n");
        printf("请猜一个0-100的数:\n");
        scanf_s("%d", &b);
        for (d = 0; d < 100; d++) {
            if (b < a) 
                printf("哎哟,你猜的太小啦!\n");
            if (b > a)
                printf("哎哟,你猜的太大啦!\n");
            if (b == a) {
                printf("恭喜你,猜对啦!!!\n");
                break;
            }
            printf("再试一次吧");
            scanf_s("%d", &b);
        }
        printf("你一共猜了%d次", d);
        printf("还要再玩一次吗?(yes/no)");
        canf_s("%s", &c);
    }
    return 0;
}

    
 

int main()

 

{

 

int b,d;

 

char c;

 

printf("*****要来一把猜数字游戏吗?(y/n)\n");

 

scanf_s("%c", &c);

 

while(c=='y')

{

printf("*****好的,游戏开始………………\n");

 

printf("小花正在出题中…………\n");

 

printf("请猜一个0-100的数:\n");

int a = rand() % 101;

scanf_s("%d", &b);

 

for (d = 0; d < 100; d++)

{

if(b==a)

{

printf("恭喜你,猜对啦!!!\n");

break;

}

else

{

if (b < a)

{

printf("哎哟,你猜的太小啦!\n");

}

else

{

printf("哎哟,你猜的太大啦!\n");

}

printf("你一共猜了%d次", d);

 

}

printf("还要再玩一次吗?(y/n)");

 

scanf_s("%c", &c);

}

return 0;

 

}

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y