#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct message{
string selfname;
int selfmoney;
int selfdisnum;
int selfgains=0;
int selfpains=0;
};
int main(){
int n;
string name;
message people[10];
cin>>n;
for(int i=0;i<n;i++){
cin>>people[i].selfname;
}
while(n--){
cin>>name;
for(int i=0;i<n;i++){
if(name.compare(people[i].selfname)==0){
cin>>people[i].selfmoney>>people[i].selfdisnum;
if(people[i].selfdisnum==0) continue;
for(int j=0;j<people[i].selfdisnum;j++){
cin>>name;
for(int z=0;z<n;z++){
if(name==people[z].selfname){
int temp = people[i].selfmoney/people[i].selfdisnum;
people[i].selfpains=temp*people[i].selfdisnum;
people[z].selfgains+=temp;
break;
}
}
}
break;
}
}
}
for(int i=0;i<n;i++){
cout<<people[i].selfname<<" "<<people[i].selfgains-people[i].selfpains<<endl;
}
return 0;
}

大佬给菜菜看一下这个程序哪里有毛病吧,运行结果不正确?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- w-haiS 2019-05-30 14:38关注
while循环的时候不能用n--作为判定条件,因为你在循环中用n--的时候,n的值改变会导致你循环体中的n值也变,
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报