用户应输入名称,然后输入成绩。当用户点击-1时,不能为该个人存储更多等级。当用户键入X时,他/她输入总数,然后输入-1表示不能存储更多等级。我不明白为什么我的for循环以奇怪的方式输出。 names数组存储了应该转到数字数组的int值。
例如,输入应如下所示:
Jane 3 4 -1
Lane 4 5 -1
X 10 10 -1
输出应如下所示:
Jane 3 4
Jane had a 7/20
Lane 4 5
Lane had a 9/20
到目前为止,这是我的工作:
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int main()
{
string name = " ";
string names[20];
int numbers[20];
int i = 0, j=0, number;
do
{
cin >> name;
names[i]=name;
i++;
j=0;
if(number!=-1)
{
cin>> number;
numbers[j]=number;
j++;
}
}while(name!="X");
for(int x = 0; x <= i; x++)
{
for(int y = 0; y <= j; y++)
{
cout << names[x];
}
}
}
答案 0 :(得分:0)
您的代码存在一个问题,
int i = 0, j=0, number;
您在代码中使用未初始化的number
if(number!=-1)
这包含垃圾值,同时为-1