c语言如何一次性输入多组数据

img

这是题目,我所疑惑的是如何像样例输入那样输入数据。
我尝试用一维数组:


#include 
#include 
using namespace std;
int main()
{
    int a[100];
    for(int i=1;i<100;i++)
    {
        cin>>a[i];
    }
    for(int i=1;i<100;i++)
    {
        if(a[i]<=2) cout<<"7"<else if(a[i]>2&&a[i]<=5) cout<<7+5*(a[i]-2)<else if(a[i]>5&&a[i]<=10) cout<<7+15+7*(a[i]-5)<else cout<<7+15+35+9*(a[i]-10)<return 0;
}

这是编译运行的两种情况:

img


这是输入一个数据后回车再输入下一个。

img


这是输入一个数据后空格再输入下一个。

这个代码提交后显示“答案错误”,事实上我并不清楚哪里出错了,如果错因不是我所疑惑的“如何像样例输入那样输入”,恳请各位指点一二!!


#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int a[100], count = 0;
    // for (int i = 1; i < 100; i++)
    //{
    while (cin >> a[count])
        count++;
    //}
    for (int i = 0; i < count; i++)
    {
        if (a[i] <= 2)
            cout << "7" << endl;
        else if (a[i] > 2 && a[i] <= 5)
            cout << 7 + 5 * (a[i] - 2) << endl;
        else if (a[i] > 5 && a[i] <= 10)
            cout << 7 + 15 + 7 * (a[i] - 5) << endl;
        else
            cout << 7 + 15 + 35 + 9 * (a[i] - 10) << endl;
    }
    return 0;
}

Ctrl+Z结束

img

望采纳,已修改,代码如下:

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int a[3];
    for(int i=1;i<4;i++)
    {
        cin>>a[i];
    }
    for(int i=1;i<4;i++)
    {
        if(a[i]<=2) cout<<"7"<<endl;
        else if(a[i]>2&&a[i]<=5) cout<<7+5*(a[i]-2)<<endl;
        else if(a[i]>5&&a[i]<=10) cout<<7+15+7*(a[i]-5)<<endl;
        else cout<<7+15+35+9*(a[i]-10)<<endl;
    }
    return 0;
}
 

img

有没有可能是最后多输出了一个空格的原因

img