有没有更简单的算法?
这是一个关于分数判断的问题。#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;
}
有没有更简单的? {:10_269:} https://fishc.com.cn/thread-153570-1-1.html 这已经很简单了 你是怎么理解简单的? 本帖最后由 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;
} livcui 发表于 2020-8-2 20:31
你是怎么理解简单的?
你能否给我一个更简单的? 龙影炎玄 发表于 2020-8-2 20:44
你能否给我一个更简单的?
这已经很简单了 龙影炎玄 发表于 2020-8-2 20:44
你能否给我一个更简单的?
三楼六楼都是可以的,有更简单的思路? 本帖最后由 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;
}
{:10_257:}
龙影炎玄 发表于 2020-8-2 21:05
这个怎么样,上面刚修改了一个 #include <iostream>
#include <string>
using namespace std;
int main(){
string grade = {"不及格","不及格","及格","优秀","良好"};
cout << "请输入0~100以内的一个数。" ;
int a;
cin >> a;
cout << grade;
return 0;
} 强行简单 #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:16 编辑
livcui 发表于 2020-8-2 21:56
不谢
对于个位数6-9和100不符合条件 龙影炎玄 发表于 2020-8-2 20:44
你能否给我一个更简单的?
你做梦就可以更简单。 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";}
}
就这样一个输入的想找简单的算法没有意义,因为都差不多。题主可以想想怎么一次输入100,甚至1000个数然后给分数判断。这时候算法才会有用。 时间复杂度都是O(1), 没必要去考虑算法
页:
[1]
2