gpt4 book ai didi

c - 语句在 for 循环中不起作用

转载 作者:行者123 更新时间:2023-11-30 14:20:20 24 4
gpt4 key购买 nike

“我遇到的实际问题是,它在给出问题数量后停止运行。我已将“%d%”更正为“%d”,但它仍然存在该问题”

我目前正在开发一个项目,制作一个小型数学游戏。我需要提示难度(简单、困难或退出)级别,然后提示类别(加法、减法、乘法和除法)。我的菜单可以工作,但我似乎无法得到以下任何内容

printf (" How many questions would you like to attempt?\n");
scanf ("%d%", &numofquestions);

去上类。谁能告诉我我做错了什么?下面是到目前为止我的完整代码,其中有一些不必要的项目,但据我所知,它们不是问题。

/* Program Description Goes Here */
#include <stdio.h>
#include <stdlib.h>

/* function main begins program execution */
int main( void )
{
/* Main Code Area For Program */
int difficulty = -1;
int category = 0;
int numofquestions;
int ca = 0; /* Correct Answer */
int cc; /* Correcnt Counter */
int ran1;
int ran2;
int random1 = 0;
int random2 = 0;
int usera;
int i;
/* Welcome mesage */
srand ( time (NULL));

printf ( "Welcome to the math challenge.\n");


while ( difficulty != 1 && difficulty != 2 && difficulty !=0){

printf ("Select 1 for Easy\n");
printf ("Select 2 for Hard\n");
printf ("Select 0 to Quit\n");
scanf ( "%d", &difficulty);
}

while ( category != 1 && category != 2 && category != 3 && category != 4){

category = getchar();
switch (category){
case 'A':
case 'a':
category = 1;
break;
case 'S':
case 's':
category = 2;
break;
case 'M':
case 'm':
category = 3;
break;
case 'D':
case 'd':
category = 4;
break;
case '/n':
case '/t':
case ' ':
break;
default:
printf ("Enter A for Addition\n");
printf ("Enter S for Subtraction\n");
printf ("Enter M for Multiplication\n");
printf ("Enter D for Division\n");
}
}

printf (" How many questions would you like to attempt?\n");
scanf ("%d%", &numofquestions);


for (i = numofquestions; i<=0; --i){/* start for */

if ( difficulty == 1){ /* start if */
random1 = (rand () % 10);
random2 = (rand () % 10);

}/* end if */

if ( category == 1){/* start if */
printf ( "%d + %d = ?" , random1 , random2 );
ca = random1 + random2;
printf ( "Your response\n");
scanf ( "%d", &usera);
}/* end if */

if ( usera == ca ){ /* start if */
printf (" %d\n ", ca);
}/* end if */


/* end for */}


return 0; /* indicate that program ended successfully */
/* end function main */
}

最佳答案

删除重复的%:

scanf("%d%", &numofquestions);

应该是:

scanf("%d", &numofquestions);

关于c - 语句在 for 循环中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15554371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com