C++循环体中的局部变量怎样在每次循环后内存清零,进行下次循环的时候再重新赋值 5
在做一道题依次输入每个人的名字然后输入成绩,每个名字后面都跟着每个人的成绩,不是把人名输完再输成绩。然后要求统计每个人几次成绩的和,依次输出每个人姓名以及他们的总成绩。这...
在做一道题
依次输入每个人的名字然后输入成绩,每个名字后面都跟着每个人的成绩,不是把人名输完再输成绩。
然后要求统计每个人几次成绩的和,依次输出每个人姓名以及他们的总成绩。这个怎么做?
#include
#include
#include
using namespace std;
int main()
{
int r; vector name;
cout<<"人数:";
cin>>r;
int *sum = new int[r];
int p=0;int w=0;
while(w!=r)
{
typedef vector::size_type longing;
cout<<"姓名:";
int count=-1;
string n;
while (cin>>n) {
name.push_back(n);
count++;
p++;
cout << "请输成绩:";
int x;
vector<int> grades;
typedef vector<double>::size_type longing;
while (cin>>x)
{
grades.push_back(x);
}
int Sum=0;
longing l=grades.size();
for(int i=0;i!=l;i++)
{
Sum=grades[i]+Sum;
if (i==l-1) {
int e=count;
sum[e]=Sum;
}
}
}
w++;
}
for (int i=0;i!=r;i++) {
cout<<name[i]<<" "<<sum[i]<<endl;
}
delete [ ] sum;
return 0;
}
第二次循环的时候n还是第一次输入的名字,这个怎么办
如何在一次循环结束的时候把n变成新的n在重新让用户给它输入赋值? 展开
依次输入每个人的名字然后输入成绩,每个名字后面都跟着每个人的成绩,不是把人名输完再输成绩。
然后要求统计每个人几次成绩的和,依次输出每个人姓名以及他们的总成绩。这个怎么做?
#include
#include
#include
using namespace std;
int main()
{
int r; vector name;
cout<<"人数:";
cin>>r;
int *sum = new int[r];
int p=0;int w=0;
while(w!=r)
{
typedef vector::size_type longing;
cout<<"姓名:";
int count=-1;
string n;
while (cin>>n) {
name.push_back(n);
count++;
p++;
cout << "请输成绩:";
int x;
vector<int> grades;
typedef vector<double>::size_type longing;
while (cin>>x)
{
grades.push_back(x);
}
int Sum=0;
longing l=grades.size();
for(int i=0;i!=l;i++)
{
Sum=grades[i]+Sum;
if (i==l-1) {
int e=count;
sum[e]=Sum;
}
}
}
w++;
}
for (int i=0;i!=r;i++) {
cout<<name[i]<<" "<<sum[i]<<endl;
}
delete [ ] sum;
return 0;
}
第二次循环的时候n还是第一次输入的名字,这个怎么办
如何在一次循环结束的时候把n变成新的n在重新让用户给它输入赋值? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询