| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5407 人关注过本帖
标题:求解,怎样将输入单行的程序改成输入多行
只看楼主 加入收藏
emtfmmd
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-10-25
结帖率:0
收藏
已结贴  问题点数:10 回复次数:3 
求解,怎样将输入单行的程序改成输入多行
求解,怎样将输入单行改为输入多行

题目描述
从键盘输入一学生某科目成绩x,判断学生成绩等级。如果x<0或x>100,输出"Error";如果90<=x<=100,等级为'A';如果80<=x<90,等级为'B';如果在70<=x<80,等级为'C';如果60<=x<70,等级为'D';如果成绩小于60,等级为'E'。

输入
输入5行测试数据,每个测试数据代表一个成绩x,x为单精度浮点型数据。
输出
输入数据小于0或大于100,输出字符串"Error";
输入数据在0到100之间,输出等级,等级为一字符。或为'A';或为'B';或为'C';或为'D';或为'E'。
根据输入的5行测试数据,对应输出5行结果,每个结果输出后要换行。
样例输入
99.99
100.7788
81
55
-5.7

样例输出
A
Error
B
E
Error


单行的代码如下
#include <stdio.h>
int main()
{
    int s;
    float x;
    scanf("%f",&x);
    if(x<0||x>100)
    printf("Error");
    else
    {s=x/10;
    switch(s)
    {
        case 9:printf("A");break;
        case 8:printf("B");break;
        case 7:printf("C");break;
        case 6:printf("D");break;
        default :printf("E");
    }
    }
    return 0;
}
搜索更多相关主题的帖子: 字符串 键盘 
2016-10-26 08:15
cazhxi
Rank: 2
等 级:论坛游民
威 望:1
帖 子:18
专家分:96
注 册:2014-10-12
收藏
得分:4 
也不知道你是不是想要这种结果,我就按照你给的样例基础上,又增加了点友好的提示功能,你要是感觉和样例不像就把那几个printf去掉
至于判断条件,由于你的意思可能是要输入多个分数,所以我就写了个函数void fun(float Num);专门用于处理评分标准。
#include <stdio.h>
void fun(float Num);
int main()
{
    int s;
    float x,y,z;
    printf("请输入语文的成绩: ");
    scanf("%f", &x);
    printf("请输入数学的成绩: ");
    scanf("%f", &y);
    printf("请输入英语的成绩: ");
    scanf("%f", &z);
   
    printf("语文成绩: ");
    fun(x);
    printf("数学成绩: ");
    fun(y);
    printf("英语成绩: ");
    fun(z);

    return 0;
}

void fun(float Num)
{
    int s = 0;
    if (Num<0 || Num>100)
        printf("Error");
    else
    {
        s = Num / 10;
        switch (s)
        {
        case 9:printf("A\n");break;
        case 8:printf("B\n");break;
        case 7:printf("C\n");break;
        case 6:printf("D\n");break;
        default:printf("E\n");
        }
    }
}
2016-10-26 08:39
a969798593
Rank: 2
等 级:论坛游民
威 望:1
帖 子:21
专家分:70
注 册:2016-10-13
收藏
得分:4 
什么是输入多行 是直接输入一堆成绩然后得出结果吗 这样的话需要设置一个停止的flag 输入这个flag自动停止赋值并且得到答案
还是可以多次输入 多次输入用while(scanf()!=EOF)就行
2016-10-26 08:43
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
收藏
得分:4 
你要想输入多行数据,最后再一起输出结果,就需要一个数组来保存结果,最后一次性输出
2016-10-26 09:49
快速回复:求解,怎样将输入单行的程序改成输入多行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036672 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved