Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? 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/

10-11 22:57
查看更多