练习0.0.0

作者: 三笠_149f | 来源:发表于2018-01-14 01:23 被阅读0次
题目

-题目不难做,问题是如何处理姓名中间的空格,如果不用到getline函数,你就要写上一大段代码去处理空格,(QAQ),以下就是作死的代码,虽然AC了,但emmmm

#include <bits/stdc++.h>
using namespace std;
class Student  {
public:
    void input(){
        int i=0,count=0,j,flag=0;
        while(cin>>name[i]){
            for(j=0;name[i][j]!='\0';j++){
                if(name[i][j]==',')
                    count++;
                if(count==3){
                    int k=0,d=0;
                    for(int n=j+1;name[i][n]!='\0';n++){

                        if(name[i][n]==','){
                            k++;
                            d=0;
                            continue;
                        }
                        grade[k][d++]=name[i][n];
                    }
                    flag=1;
                    break;
                }
            }
            i++;
            if(flag)
                break;
        }
     m=i;
}

    void calculate(){
        double sum=0;
        for(int i=0;i<4;i++)
            sum+=atof(grade[i]);
        average_grade=sum/4;
    }

    void output(){
        int count=0,flag=0;
        if(m==1){
            for(int i=0;name[0][i]!='\0';i++){
                cout<<name[0][i];
                if(name[0][i]==',')
                    count++;
                if(count==3)
                    break;
            }
        }
        else{
            for(int i=0;i<m;i++){
                if(i<m-1)
                    cout<<name[i]<<' ';
                else{
                    for(int j=0;name[i][j]!='\0';j++){
                        cout<<name[i][j];
                        if(name[i][j]==',')
                            count++;
                        if(count==3){
                            flag=1;
                            break;
                        }
                    }
                    if(flag)
                        break;
                    }
            }
        }
        cout<<average_grade<<endl;
    }
private:
    int m;
    char name[20][25];
    char grade[4][3];
    double average_grade;
};

int main() {
    Student student;        // 定义类的对象
    student.input();        // 输入数据
    student.calculate();    // 计算平均成绩
    student.output();       // 输出数据
}

-接下来是大佬的代码:-)


大佬的代码截图

-没有对比就不会有智商的碾压,好了,家教去了(๑•́ ₃ •̀๑)

相关文章

网友评论

    本文标题:练习0.0.0

    本文链接:https://www.haomeiwen.com/subject/nxohoxtx.html