这个怎么用C语言编写(输出字符串用%s)

题目描述
学习成绩的百分制和等级制、GPA之间有一个对应关系,如下

百分制成绩 等级制成绩 学分绩点(GPA)
93-100 A 4
90-92 A- 3.67
87-89 B+ 3.33
83-86 B 3
80-82 B- 2.67
77-79 C+ 2.33
73-76 C 2
70-72 C- 1.67
66-69 D+ 1.33
60-65 D 1
<60 F 0
特殊要求

输入
百分制成绩(整数)

输出
第一行:百分制成绩,用%5.2f格式

第二行:等级制成绩,用%s表示字符串

第三行:GPA成绩,用%5.2f格式

样例输入
99
样例输出
99.00
A
4.00

提示
注意if/else if的使用

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include<stdio.h>

int main()
{
    int sc;
    float fc,gpa;
    char *s;
    scanf("%d",&sc);
    fc = (float)sc;
    if (sc>=93 && sc<=100) {
        s = "A";
        gpa = 4;
    } else if (sc>=90 && sc<=92) {
        s = "A-";
        gpa = 3.67;
    } else if (sc>=87 && sc<=89) {
        s = "B+";
        gpa = 3.33;
    } else if (sc>=83 && sc<=86) {
        s = "B";
        gpa = 3;
    } else if (sc>=80 && sc<=82) {
        s = "B-";
        gpa = 2.67;
    } else if (sc>=77 && sc<=79) {
        s = "C+";
        gpa = 2.33;
    } else if (sc>=73 && sc<=76) {
        s = "C";
        gpa = 2;
    } else if (sc>=70 && sc<=72) {
        s = "C-";
        gpa = 1.67;
    } else if (sc>=66 && sc<=69) {
        s = "D+";
        gpa = 1.33;
    } else if (sc>=60 && sc<=65) {
        s = "D";
        gpa = 1;
    } else if (sc<60) {
        s = "F";
        gpa = 0;
    }
    printf("%5.2f\n",fc);
    printf("%s\n",s);
    printf("%5.2f\n",gpa);
    return 0;
}

来段简单一点的代码

#include <stdio.h>
#define SIZE 11
int main()
{
    int score[SIZE] = {93,90,87,83,80,77,73,70,66,60,0};
    char *grade[SIZE] = {"A","A-","B+","B","B-","C+","C","C-","D+","D","F"};
    float gpa[SIZE] = {4,3.67,3.33,3,2.67,2.33,2,1.67,1.33,1,0};
    int n,i;
    scanf("%d",&n);
    for(i=0;i<SIZE;i++)
    {
          if(n>=score[i])
          {
                printf("%5.2f\n",(float)n);
                printf("%s\n",grade[i]);
                printf("%5.2f\n",gpa[i]);
                break;
          }
    }
    return 0;
}