打印星号与数组中的值一样多

时间:2014-05-14 15:11:57

标签: c++ arrays nested-loops

我正在尝试让C ++程序开始创建一个数组并从用户那里获取值,然后打印每个值+ star尽可能多的值。例如:用户输入了5然后输出必须像这个 5 ***** 输入

1

2

3

4

5

6

输出

1 *

2 **

3 ***

4 **** 等等

..帮助:(

#include <iostream> 
using namespace std; 
void main() 
{
    int arr[10]; 
    for (int i = 0; i < 10; i++)
    {
        cin >> arr[i]; 
        int x = arr[i]; 
        for (int j = 0; x <= arr[i]; j++)
        {
            cout<< "*";
        }
    }
}

另一个帮助请你能给我一些有用的链接来练习编程是专业的

2 个答案:

答案 0 :(得分:3)

你的代码错了。使用以下代码:

#include <iostream> 
using namespace std; 
int main()  {
  int arr[10]; 
  for (int i = 0; i < 10; i++)
  {
   cin >> arr[i]; 
   int x = arr[i]; 
   for (int j = 0; j < x; j++){ // your condition was wrong

   cout<< "*";
  }
   cout<<endl; // for better formatting
 }
 return 0;
}

对于已修改的问题

int main()  {
int arr[10];
for (int i = 0; i < 10; i++)
{
    cin >> arr[i];


}
for (int i = 0; i < 10; i++)
{
    int x = arr[i];
    cout << x;
    for (int j = 0; j < x; j++){ // your condition was wrong

        cout << "*";
    }
    cout << endl;
}

return 0;
} 

答案 1 :(得分:0)

#include <iostream> 
using namespace std; 
void main() 
{
    int nbValues = 10;
    int arr[nbValues];

    // First recover the values
    for (int i = 0; i < nbValues; i++)
    {
        cin >> arr[i];
    }

    // Then print the output
    for (int i = 0; i < nbValues; i++)
    {
        int x = arr[i];
        cout << x;// Print the number
        for (int j = 0; j < x; j++)
        {
            cout<< "*";// Then print the stars
        }
        cout << endl;// Then new line
    }
}