0428ao 发表于 2022-1-24 14:34:21

求助!!!

#include<stdio.h>
int main()
{
        int iNumber;
        printf("请输入1:代表选择红玫瑰\n");
        printf("请输入2:代表选择白玫瑰\n");
        printf("请输入3:代表选择粉玫瑰\n");
        printf("请输入4:代表选择蓝玫瑰\n");
        printf("请输入您的选择:\n");
        scanf("%d",&iNumber);
       
        switch(iNumber)
        {
                case1:
                        printf("您选择的是红玫瑰\n");
                        printf("它代表“我爱你、热恋,希望与你永恒相爱”\n");
                        break;
                case2:
                  printf("您选择的是白玫瑰\n");
                        printf("它代表“纯洁、谦卑、尊敬、我们的爱情是纯洁的爱”\n");
                        break;
                case3:
                  printf("您选择的是粉玫瑰\n");
                        printf("它代表“初恋,喜欢你那灿烂的笑容,年轻漂亮”\n");
                        break;
                case4:
                  printf("您选择的是蓝玫瑰\n");
                        printf("它代表“憨厚、善良”\n");
                        break;
                default:
                  printf("输入错误\n");
                        break;
       }
       return 0;
}







输入这上面代码后虽然没有提示错误,但在运行的时候,无论输入数字1~4中的任意一个,都只会显示“输入错误”,这是为什么呢?

番杰 发表于 2022-1-24 14:52:28

你的switch里面的case和分支条件之间没有空格,正确应该是case 1:是有空格的;
所以导致你输入1-4,在程序看来,你输入的不符合任何一个分支,所以都走了default这个分支,所以都是输入错误。
#include<stdio.h>
int main()
{
      int iNumber;
      printf("请输入1:代表选择红玫瑰\n");
      printf("请输入2:代表选择白玫瑰\n");
      printf("请输入3:代表选择粉玫瑰\n");
      printf("请输入4:代表选择蓝玫瑰\n");
      printf("请输入您的选择:\n");
      scanf("%d",&iNumber);
      
      switch(iNumber)
      {
                case 1:// 注意有空格
                        printf("您选择的是红玫瑰\n");
                        printf("它代表“我爱你、热恋,希望与你永恒相爱”\n");
                        break;
                case 2: // 注意有空格
                  printf("您选择的是白玫瑰\n");
                        printf("它代表“纯洁、谦卑、尊敬、我们的爱情是纯洁的爱”\n");
                        break;
                case 3: // 注意有空格
                  printf("您选择的是粉玫瑰\n");
                        printf("它代表“初恋,喜欢你那灿烂的笑容,年轻漂亮”\n");
                        break;
                case 4: // 注意有空格
                  printf("您选择的是蓝玫瑰\n");
                        printf("它代表“憨厚、善良”\n");
                        break;
                default:
                  printf("输入错误\n");
                        break;
         }
         return 0;
}

0428ao 发表于 2022-1-24 15:02:14

番杰 发表于 2022-1-24 14:52
你的switch里面的case和分支条件之间没有空格,正确应该是case 1:是有空格的;
所以导致你输入1-4,在 ...

#include<stdio.h>
int main()
{
        int rose;
        printf("输入1:代表选择红玫瑰\n");
        printf("输入2:代表选择白玫瑰\n");
        printf("输入3:代表选择粉玫瑰\n");
        printf("输入4:代表选择蓝玫瑰\n");
        printf("请输入您的选择:\n");
        scanf("%d",&rose);
        if(rose==1)
        {
                printf("----------------------------------------------------\n");
                printf("|      您选择的是红玫瑰                           |\n");
                printf("|   它代表我爱你、热恋,希望与你泛起激情的爱      |\n");
                printf("----------------------------------------------------\n");
        }
        else if (rose == 2)
        {
                printf("★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★\n");
                printf("★         您选择的是白玫瑰                      ★\n");
                printf("★它代表纯洁、谦卑。尊敬,我们的爱情是纯洁的爱   ★\n");
                printf("★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★\n ");
        }
        else if (rose == 3)
        {
                printf("▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽\n");
                printf("         您选择的是粉玫瑰                  \n");
                printf("它代表初恋,喜欢你那灿烂的笑容,年轻漂亮\n");
                printf("△ △ △ △ △ △ △ △ △ △ △ △ △ △ △ △ \n");
        }
        else if (rose == 4)
        {
                printf("≈ ≈ ≈ ≈ ≈ ≈ ≈\n");
                printf(" 您选择的是蓝玫瑰\n");
                printf(" 它代表憨厚、善良\n");
                printf("≈ ≈ ≈ ≈ ≈ ≈ ≈\n");
        }
        else
        {
                printf("& & & & & & & & & & & & & & &\n");
                printf("& 对不起,没有您选择玫瑰花&\n");
                printf("& & & & & & & & & & & & & & &\n");
        }

        return 0;
}
页: [1]
查看完整版本: 求助!!!