龙影炎玄 发表于 2020-8-2 20:29:03

有没有更简单的算法?

这是一个关于分数判断的问题。

#include<iostream>
using namespace std;
int main(){
        cout<<"请输入0~100以内的一个数。";
        int a;
        cin>>a;
        if (a<60) cout<<"不及格";
        else if (a>=60) if(a<80) cout<<"及格";
             else if (a>=90) cout<<"优秀";
            else cout<<"良好";
        return 0;
}
有没有更简单的?

龙影炎玄 发表于 2020-8-2 20:29:42

{:10_269:}

zltzlt 发表于 2020-8-2 20:30:07

https://fishc.com.cn/thread-153570-1-1.html

zltzlt 发表于 2020-8-2 20:30:12

这已经很简单了

livcui 发表于 2020-8-2 20:31:31

你是怎么理解简单的?

baige 发表于 2020-8-2 20:35:53

本帖最后由 baige 于 2020-8-2 20:37 编辑

#include<iostream>
using namespace std;
int main()
{
         cout << "请输入0~100以内的一个数。";
         int a;
         cin >> a;
         if (a<60) cout<<"不及格";
         else if(a<80)cout << "及格";// 此时已经不需要判断小于60的情况,下面类似
         else if(a<90)cout << "良好";
         else cout << "优秀";
         return 0;
}

龙影炎玄 发表于 2020-8-2 20:44:22

livcui 发表于 2020-8-2 20:31
你是怎么理解简单的?

你能否给我一个更简单的?

zltzlt 发表于 2020-8-2 20:44:42

龙影炎玄 发表于 2020-8-2 20:44
你能否给我一个更简单的?

这已经很简单了

livcui 发表于 2020-8-2 20:53:00

龙影炎玄 发表于 2020-8-2 20:44
你能否给我一个更简单的?

三楼六楼都是可以的,有更简单的思路?

baige 发表于 2020-8-2 20:58:45

本帖最后由 baige 于 2020-8-2 21:12 编辑

#include <iostream>
#include <string>
using namespace std;

int main(){
         string grade = {"不及格","不及格","不及格","不及格","不及格","不及格","及格","及格","良好","优秀","优秀"};
         cout << "请输入0~100以内的一个数。" ;
         int a;
         cin >> a;   
         cout << grade;
         return 0;
}

龙影炎玄 发表于 2020-8-2 21:05:47

{:10_257:}

baige 发表于 2020-8-2 21:11:24

龙影炎玄 发表于 2020-8-2 21:05


这个怎么样,上面刚修改了一个

baige 发表于 2020-8-2 21:21:55

#include <iostream>
#include <string>
using namespace std;

int main(){
      string grade = {"不及格","不及格","及格","优秀","良好"};
      cout << "请输入0~100以内的一个数。" ;
                int a;
                cin >> a;
                cout << grade;
      return 0;
}

baige 发表于 2020-8-2 21:35:53

强行简单

livcui 发表于 2020-8-2 21:56:13

#include<iostream>
using namespace std;
int main() {

    cout << "请输入0~100以内的一个数:";
    char a;
    cin.get(a).get();
    switch (a) {
    case '6':
      cout << "及格";
      break;
    case '7':
      cout << "中等";
      break;
    case '8':
      cout << "良好";
      break;
    case '9':
      cout << "优秀";
      break;
    default:
      cout << "不及格";
    }

    return 0;
}
不谢

baige 发表于 2020-8-2 22:04:34

本帖最后由 baige 于 2020-8-2 22:16 编辑

livcui 发表于 2020-8-2 21:56
不谢
对于个位数6-9和100不符合条件

永恒的蓝色梦想 发表于 2020-8-3 10:10:45

龙影炎玄 发表于 2020-8-2 20:44
你能否给我一个更简单的?

你做梦就可以更简单。

405794672 发表于 2020-8-4 15:21:15

int main()
{ cout<<"请输入得分:\n";
   int a;
   cin>>a;
   switch(a/10)
   { case 9:
      case 10:cout<<"优秀\n";break;
      case 8: cout<<"良好\n";break;
      case 6:
      case 7:cout<<"及格\n";break;
      default:cout<<"不及格\n";}
}
      
      

xiaozhangxuexi 发表于 2020-8-9 13:56:40

就这样一个输入的想找简单的算法没有意义,因为都差不多。题主可以想想怎么一次输入100,甚至1000个数然后给分数判断。这时候算法才会有用。

baige 发表于 2020-8-9 23:29:57

时间复杂度都是O(1), 没必要去考虑算法
页: [1] 2
查看完整版本: 有没有更简单的算法?