小羊爱吃小草 发表于 2023-11-5 13:07:29

switch

#include <stdio.h>


int main()
{
        char grade;
        printf("您的等级是:\n");//这行位置有问题,怎么修改呢?
        scanf("%c", &grade);
        printf("您的分数段是:\n");

        switch(grade)
        {
        case'A':printf("85~100\n");break;
        case'B':printf("70~84\n");break;
        case'c':printf("60~69\n");break;
        case'D':printf("<60\n");break;
        default:printf("enter data error!\n");
        }
        return 0;
}

isdkz 发表于 2023-11-5 13:12:40

问题:程序中的printf语句位置不正确,应该如何修改?

解决方案:将printf语句移动到正确的位置。

修改后的代码如下:

#include <stdio.h>

int main()
{
    char grade;
    printf("请输入您的等级:\n");
    scanf("%c", &grade);
    printf("您的分数段是:\n");

    switch(grade)
    {
      case 'A': printf("85~100\n"); break;
      case 'B': printf("70~84\n"); break;
      case 'C': printf("60~69\n"); break;
      case 'D': printf("<60\n"); break;
      default: printf("输入数据错误!\n");
    }
    return 0;
}


在原代码中,printf语句的位置在scanf语句之前,这会导致用户在输入等级之前就看到了提示信息。修改后的代码将printf语句移动到了正确的位置,确保用户先输入等级,然后再显示分数段。此外,还修正了switch语句中字母C的大小写错误,以及default语句的输出信息。

小甲鱼的二师兄 发表于 2023-11-5 18:08:19

怎么我看不出有问题?
页: [1]
查看完整版本: switch