黑丝yyds 发表于 2022-1-23 12:34:59

c语言初学

本帖最后由 黑丝yyds 于 2022-1-23 12:57 编辑

#include<stdio.h>
//
//int main()
//{
//        char ch;
//
//        printf("请输入你的成绩:");
//        scanf_s("%c", &ch);\\====================此处代码出错
//
//        switch (ch)
//        {
//                printf("你的成绩在90分以上!\n");break;
//                printf("你的成绩在80-90分之间!\n");break;
//                printf("你的成绩在70-80分之间!\n");break;
//                printf("你的成绩在60-70分之间!\n");break;
//                printf("你的成绩在60分以下!\n");break;
//        }
//        return 0;
//}
我用的vs,显示scanf这里参数出错为啥啊,求求大神帮助

傻眼貓咪 发表于 2022-1-23 12:48:02

本帖最后由 傻眼貓咪 于 2022-1-23 12:51 编辑

所以你的 ch 到底是字符还是字符串呢?

// 字符串
char ch;
scanf_s("%s", ch, 100);

// 字符
char ch;
scanf_s("%c", &ch, 1);

大马强 发表于 2022-1-23 12:54:05

你一个字符用字符串的%s不合适吧,试下

#include<stdio.h>

int main()
{
      int ch;

      printf("请输入你的成绩:");
      scanf_s("%d", &ch);
                switch (ch/10)
      {
                    case 10:
                                  printf("你的成绩在90分以上!\n");break;
                case 9:
                          printf("你的成绩在90分以上!\n");break;
                case 8:
                        printf("你的成绩在80-90分之间!\n");break;
                case 7:
                        printf("你的成绩在70-80分之间!\n");break;
                case 6:
                     printf("你的成绩在60-70分之间!\n");break;
                default:
                        printf("你的成绩在60分以下!\n");break;
      }
          return 0;
}

大马强 发表于 2022-1-23 12:54:40

switch函数用法也不对

黑丝yyds 发表于 2022-1-23 12:56:29

不好意思哈打错了应该是%c,但是我改了之后还是没用,我编译不出正确的

#include<stdio.h>

int main()
{
        char ch;

        printf("请输入你的成绩:");
        scanf_s("%c", &ch);

        switch (ch)
        {
                printf("你的成绩在90分以上!\n");break;
                printf("你的成绩在80-90分之间!\n");break;
                printf("你的成绩在70-80分之间!\n");break;
                printf("你的成绩在60-70分之间!\n");break;
                printf("你的成绩在60分以下!\n");break;
        }
        return 0;
}

黑丝yyds 发表于 2022-1-23 12:58:26

大马强 发表于 2022-1-23 12:54
switch函数用法也不对

我用的vs但是我是照着小甲鱼视频上照抄的

黑丝yyds 发表于 2022-1-23 13:00:02

大马强 发表于 2022-1-23 12:54
你一个字符用字符串的%s不合适吧,试下

你这个是我试了也没用

小伤口 发表于 2022-1-23 13:44:31

黑丝yyds 发表于 2022-1-23 13:00
你这个是我试了也没用


#include<stdio.h>

int main()
{
      int ch;
      printf("请输入你的成绩:");
      scanf("%d", &ch);
                int result=ch/10;
      switch (result)
      {
                case 10:
                     printf("你的成绩在90分以上!\n");break;
                case 9:
                     printf("你的成绩在90分以上!\n");break;
                case 8:
                     printf("你的成绩在80-90分之间!\n");break;
                case 7:
                     printf("你的成绩在70-80分之间!\n");break;
                case 6:
                     printf("你的成绩在60-70分之间!\n");break;
                default:
                     printf("你的成绩在60分以下!\n");break;
      }
      return 0;
}

傻眼貓咪 发表于 2022-1-23 13:47:39

因为我看楼主你忽略我,不过没有关系,我再写一次:#include <stdio.h>

int main() {
        char c;
        scanf_s("%c", &c, 1); // <---------- 这里 ----------
        printf("%c", c);
        return 0;
}

傻眼貓咪 发表于 2022-1-23 13:55:18

#include <stdio.h>

int main() {
        int score;
        scanf_s("%d", &score);
        switch (score / 10) {
        case 10:
                printf("你的分数是满分");
                break;
        case 9:
                printf("你的分数90至99分之间");
                break;
        case 8:
                printf("你的分数80至89分之间");
                break;
        case 7:
                printf("你的分数70至79分之间");
                break;
        case 6:
                printf("你的分数60至69分之间");
                break;
        default:
                printf("你的分数60以下");
                break;
        }
        return 0;
}

大马强 发表于 2022-1-23 16:48:15

本帖最后由 大马强 于 2022-1-23 16:50 编辑

scanf_s的问题?
#include<stdio.h>


int main()
{
      int ch;

      printf("请输入你的成绩:");
      scanf("%d", &ch);
                  switch (ch/10)
      {
                  case 10:
                                    printf("你的成绩在90分以上!\n");break;
                case 9:
                            printf("你的成绩在90分以上!\n");break;
                case 8:
                        printf("你的成绩在80-90分之间!\n");break;
                case 7:
                        printf("你的成绩在70-80分之间!\n");break;
                case 6:
                     printf("你的成绩在60-70分之间!\n");break;
                default:
                        printf("你的成绩在60分以下!\n");break;
      }
          return 0;
}

FallenLight 发表于 2022-3-27 14:34:08

别用scanf_s,还有你的switch格式错了
#include <stdio.h>

int main()
{
       char ch;

       printf("请输入你的成绩:");
       scanf("%c", &ch);

       switch (ch)
       {
            case 'A':
                     printf("你的成绩在90分以上!\n"); break;
            
            case 'B':
                      printf("你的成绩在80-90分之间!\n"); break;

            case 'C':
                     printf("你的成绩在70-80分之间!\n"); break;

            case 'D':
                     printf("你的成绩在60-70分之间!\n"); break;
            
            case 'E':
                     printf("你的成绩在60分一下!\n"); break;

            default:
                     printf("很抱歉,没有此评级!\n"); break;
       }

       return 0;
}
页: [1]
查看完整版本: c语言初学