
題目
-題目不難做,問題是如何處理姓名中間的空格,如果不用到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ù)
}
-接下來是大佬的代碼:-)

大佬的代碼截圖
-沒有對比就不會有智商的碾壓,好了,家教去了(??? ? ???)