回复 7楼 神机军师
可以通过‘\n'来实现。
回复 楼主 linxwu
。。。那天上完课忘了,现在我在学C++,所以不想写C的程序。写了个C++的给你,大同小异。#include<iostream>
#include<vector>
#include<string>
using namespace std;
int main(void)
{
vector<string> score;
cout<<"plz input the scores and seprate them using space"<<endl;
string word;
while(getline(cin,word))
{
score.push_back(word);
}//这里用ctrl+d 结束输入流。
cin.clear();
cin.sync();
vector<string>::iterator p;
p=score.begin();
for(;p!=score.end();++p)
{
double sum=0;
int s=0,flag=0;
for(int i=0;i<(*p).size();++i)
{ if(isalpha((*p)[i])&&isalpha((*p)[i+1]))
{cout<<"Plz using the right input format"<<endl;
flag=1;
break;
}
if((*p)[i]>70)
{
cout<<"unknown"<<endl;
flag=1;
break;
}
switch((*p)[i])
{
case 'A':
sum=sum+4;
s++;
break;
case 'B':
sum=sum+3;
s++;
break;
case 'C':
sum=sum+2;
s++;
break;
case 'D':
sum=sum+1;
s++;
break;
case 'F':
sum=sum+0;
s++;
break;
case ' ':
break;
default:
break;
}
}
if(flag==0)
cout<<"your gpa is: "<<sum/s<<endl;
}
return 0;
}
[ 本帖最后由 fl8962 于 2014-3-7 02:23 编辑 ]