我正在编写介绍并努力完成此任务,感谢任何帮助!这是代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int cardNum(int firstCard, int secondCard;
int highLow;
int score;
score = 0;
srand(time(NULL));
printf("The current card is a %d\n" ,firstCard(2,14));
printf("\n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
scanf("%d" ,highLow);
if (cardNum > 1 && cardNum < 11)
{
printf ("The card is: %d ,secondCard.");
}
else if (cardNum == 11)
{
printf ("The card is: Jack");
}
else if (cardNum == 12)
{
printf ("The card is: Queen");
}
else if (cardNum == 13)
{
printf ("The card is: King");
}
else if cardNum == 14)
{
printf ("The card is: Ace");
}
{
if (highLow == 1 && secondCard > firstCard) || (highLow == 2, && secondCard < firstCard)
{
score = score + 1;
printf ("\n You have guessed correctly.");
printf ("\n Your current score is %d ,score!\n");
printf("The current card is a ("%d" ,cardOne). \n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
}
else if (highLow == 1, && secondCard < firstCard) || (highLow == 2, && secondCard > firstCard)
{
score = score - 1;
printf ("The card is: %d ,secondCard.");
printf ("\n You have guessed incorrectly.");
printf ("\n Your current score is %d ,score!\n");
printf ("The current card is a %d ,cardOne.");
printf ("\n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
}
else if (secondCard == firstCard)
{
printf ("\n Matching cards, no change in score");
}
else if (highLow == 0)
{
printf ("\n Thanks for playing! Your final score is %d, score.");
}
else
{
printf ("\n Incorrect input. Please enter 0, 1 or 2");
}
}
return(0);
}
这些是错误:
a3.c: In function ‘main’:
a3.c:24:5: error: expected declaration specifiers or ‘...’ before ‘score’
a3.c:25:5: error: expected declaration specifiers or ‘...’ before ‘srand’
a3.c:27:5: error: expected declaration specifiers or ‘...’ before ‘printf’
a3.c:28:5: error: expected declaration specifiers or ‘...’ before ‘printf’
a3.c:29:5: error: expected declaration specifiers or ‘...’ before ‘scanf’
a3.c:31:5: error: expected declaration specifiers or ‘...’ before ‘if’
a3.c:52:9: error: ‘highLow’ undeclared (first use in this function)
a3.c:52:9: note: each undeclared identifier is reported only once for each function it appears in
a3.c:52:25: error: ‘secondCard’ undeclared (first use in this function)
a3.c:52:38: error: ‘firstCard’ undeclared (first use in this function)
a3.c:52:49: error: expected expression before ‘||’ token
我知道未申报的部分,因为我应该随机编号并存储它们,但我仍然没有完全弄明白(任何建议都很棒)但主要是我关注预期的声明说明符的广泛列表。任何帮助将不胜感激!
答案 0 :(得分:1)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int cardNum, int firstCard, int secondCard;
int highLow;
int score;
score = 0;
srand(time(NULL));
printf("The current card is a %d\n", firstCard(2,14));
printf("\n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
scanf("%d" ,highLow);
if (cardNum > 1 && cardNum < 11)
{
printf ("The card is: %d ,secondCard.");
}
else if (cardNum == 11)
{
printf ("The card is: Jack");
}
else if (cardNum == 12)
{
printf ("The card is: Queen");
}
else if (cardNum == 13)
{
printf ("The card is: King");
}
else if cardNum == 14)
{
printf ("The card is: Ace");
}
{
if ((highLow == 1 && secondCard > firstCard) || (highLow == 2 && secondCard < firstCard))
{
score = score + 1;
printf ("\n You have guessed correctly.");
printf ("\n Your current score is %d ,score!\n");
printf("The current card is a ("%d" ,cardOne). \n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
}
else if ((highLow == 1 && secondCard < firstCard) || (highLow == 2 && secondCard > firstCard))
{
score = score - 1;
printf ("The card is: %d ,secondCard.");
printf ("\n You have guessed incorrectly.");
printf ("\n Your current score is %d ,score!\n");
printf ("The current card is a %d ,cardOne.");
printf ("\n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
}
else if (secondCard == firstCard)
{
printf ("\n Matching cards, no change in score");
}
else if (highLow == 0)
{
printf ("\n Thanks for playing! Your final score is %d, score.");
}
else
{
printf ("\n Incorrect input. Please enter 0, 1 or 2");
}
}
return(0);
}
答案 1 :(得分:1)
1)int cardNum(int firstCard, int secondCard;
而不是这样你应该写
int cardNum, int firstCard, int secondCard;
因为你要声明变量
2)if (highLow == 1 && secondCard > firstCard) || (highLow == 2, && secondCard < firstCard)
而不是下面给出的写声明
if (highLow == 1 && secondCard > firstCard) || (highLow == 2 && secondCard < firstCard)
3)else if (highLow == 1, && secondCard < firstCard) || (highLow == 2, && secondCard > firstCard)
你应该写
else if (highLow == 1 && secondCard < firstCard) || (highLow == 2 && secondCard > firstCard)
答案 2 :(得分:0)
看看这一行:
int cardNum(int firstCard, int secondCard;
我想它应该是:
int cardNum, int firstCard, int secondCard;
if语句也是错误的。我想它应该是:
if ((highLow == 1 && secondCard > firstCard) || (highLow == 2, && secondCard < firstCard))
和
else if ((highLow == 1 && secondCard < firstCard) || (highLow == 2 && secondCard > firstCard))
你应该从零开始学习C.
答案 3 :(得分:-1)
只需使用任何Integrated development environment (IDE)突出显示语法错误。我们不想成为您的编辑。
这是一些有用的链接(显然任何C ++ IDE都会检查C语法):
快乐的编码!