打印规定的输出

时间:2015-03-28 19:30:28

标签: c++ arrays

#include<iostream>
#include<math.h>
#include<stdlib.h>
using namespace std;
main()
{
    int q,a,b,i,number;
    cin>>q;
    while(q--)
    {
        cin>>a>>b;
        int a[b];
        int number=1;
        for(i=0;i<b;i++)
        {
            if(i==0)
            {
                a[i]=number;
                number++;
            }

            a[i]=number;
            if(number>0)
            number=number*-1;
        }
    }
}
/*the above code i tried a little bit , but it's incomplete and may be incorrect too, you may help
i want to print the sequence as 1,2,-2,3,-3,3,4,-4,4,-4,5,-5,5,-5,5..... till n , where n is size of array in c++?*/

厨师的小孩,初级厨师喜欢玩不同的系列。厨师对他儿子的好奇心印象深刻,在他生日那天送给他一个特别的系列S. S = 1,2,-2,3,-3,3,4-,-4,4,-4,............. 现在厨师,急于检查他儿子的智慧,给他q问题解决。每个查询包含两个位置a和b,并且需要Junior_chef来计算a到b中所有整数的总和。 输入

输入的第一行包含一个整数q,表示查询的数量。接下来的q行由两个整数a和b组成。 输出

以单行打印答案。 约束

1&lt; = q&lt; = 10,1&lt; = a,b&lt; = 10 ^ 12 样本输入

1 1 4 样本输出

4 说明:由于系列是1,2,-2,3,因此总和将为4。

1 个答案:

答案 0 :(得分:1)

你的意思是以下几点吗?

#include <iostream>

int main() 
{

    while ( true )
    {
        std::cout << "Enter a non-negative number (0-exit): ";

        int n = 0;
        std::cin >> n;

        if ( n <= 0 ) break;

        for ( int i = 1; i <= n; i++ )
        {
            for ( int j = 0; j < i; j++ ) std::cout << ( j % 2 ? -i : i ) << ' ';
        }

        std::endl( std::cout );
    }

    return 0;
}

如果要按顺序输入1 2 3 4 5 6 7 0,则输出将为

Enter a non-negative number (0-exit): 1
1 
Enter a non-negative number (0-exit): 2
1 2 -2 
Enter a non-negative number (0-exit): 3
1 2 -2 3 -3 3 
Enter a non-negative number (0-exit): 4
1 2 -2 3 -3 3 4 -4 4 -4 
Enter a non-negative number (0-exit): 5
1 2 -2 3 -3 3 4 -4 4 -4 5 -5 5 -5 5 
Enter a non-negative number (0-exit): 6
1 2 -2 3 -3 3 4 -4 4 -4 5 -5 5 -5 5 6 -6 6 -6 6 -6 
Enter a non-negative number (0-exit): 7
1 2 -2 3 -3 3 4 -4 4 -4 5 -5 5 -5 5 6 -6 6 -6 6 -6 7 -7 7 -7 7 -7 7 
Enter a non-negative number (0-exit): 0