将值存储在数组中

Storing values in arrays

本文关键字:数组 存储      更新时间:2023-10-16

用户应该输入一个后面跟着等级的名称。当用户点击-1时,将不会为该用户存储更多的分数。当用户键入X时,输入总数,然后输入-1,表示不能再存储分数。我不明白为什么我的for循环以一种奇怪的方式输出。names数组存储的是应该转到numbers数组的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];
  }
 }
}

代码的一个问题是,

 int i = 0, j=0, number;

您在代码中使用未初始化的number

if(number!=-1)

这包含垃圾值,这些垃圾值可以顺便为-1