Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
4年前关闭。
我正在做一个贪婪算法,以计算存储在变量中的美分值中的硬币数量。我已经基本解决了所有问题,但是我无法区分面额的单数和复数(例如,打印“ 1个四分之一”而不是“ 1个四分之一”)以及如何在有条件的情况下按顺序进行处理对于每种面额,我无法对每种硬币进行单数或复数区分,因为它会给我两个季度和一个季度的四分之一而不是一个或两个,所以我尝试使用if else语句,但是它说else语句基本上没有我不了解的if语句。我的编译器还说,由于某种原因,嵌套在另一个语句中的if语句“没有正文”。
不用介意
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
4年前关闭。
我正在做一个贪婪算法,以计算存储在变量中的美分值中的硬币数量。我已经基本解决了所有问题,但是我无法区分面额的单数和复数(例如,打印“ 1个四分之一”而不是“ 1个四分之一”)以及如何在有条件的情况下按顺序进行处理对于每种面额,我无法对每种硬币进行单数或复数区分,因为它会给我两个季度和一个季度的四分之一而不是一个或两个,所以我尝试使用if else语句,但是它说else语句基本上没有我不了解的if语句。我的编译器还说,由于某种原因,嵌套在另一个语句中的if语句“没有正文”。
不用介意
scanf
,一旦我弄清了其余的内容,我将更改为更好的输入法。#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (void)
{
int n;
scanf("%d",&n);
int q = (n/25);
if (n > 24)
{
if (n > 49);
printf("%d quarters\n", q);
else
printf("one quarter\n");
}
return 0;
}
最佳答案
您的代码语法错误。 if (n > 49); {
。这行是错误的,在您的开括号之前不应使用分号。尝试这个。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void) {
int n;
scanf("%d", & n);
int q = (n / 25);
if (n > 24) {
if (n > 49) {
printf("%d quarters\n", q);
} else {
printf("one quarter\n");
}
}
return 0;
}
关于c - C:为什么我的嵌套if语句不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35097558/