練習(xí)0.0.0

題目

-題目不難做,問題是如何處理姓名中間的空格,如果不用到getline函數(shù),你就要寫上一大段代碼去處理空格,(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();        // 輸入數(shù)據(jù)
    student.calculate();    // 計算平均成績
    student.output();       // 輸出數(shù)據(jù)
}

-接下來是大佬的代碼:-)


大佬的代碼截圖

-沒有對比就不會有智商的碾壓,好了,家教去了(??? ? ???)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容