[蓝蓝计算机考研算法训练二期]-day08

130 阅读1分钟

11、成绩转换

输入一个百分制的成绩M,将其转换成对应的等级,具体转换规则如下: 90100 为 A; 8089 为 B; 7079 为 C; 6069 为 D; 0~59 为 E;

1、思路 switch

2、具体实现

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    switch (n/10)
    {
    case 10:
        cout << "A" << endl;
        break;
    case 9:
        cout << "A" << endl;
        break;
    case 8:
        cout << "B" << endl;
        break;
    case 7:
        cout << "C" << endl;
        break;
    case 6:
        cout << "D" << endl;
        break;
    default:
        cout << "E" << endl;
        break;
    }
    return 0;
}

小结

12 、数值统计

统计给定的n个数中,负数、零和正数的个数。

  • 输入 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。
  • 输出 对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。

1、思路

2、具体实现

#include <iostream>
using namespace std;

int main() {
    int n;
    while(cin >> n){  
        int t;
        int a = 0;
        int b = 0;
        int c = 0;
        for(int i=0; i<n; i++){
            cin >> t;
            if(t < 0){
                a++;
            }else if(t == 0){
                b++;
            }else{
                c++;
            }
        }
        if(n == 0) break;
        else {
            cout << "负数:" << a << "零:" << b << "正数:" << c << endl;
        }
    
    }
    return 0;
}