C语言:在一组数(个数不定)指定位置插入一个数,输出结果。 求思路,个数不定应该怎么终止输入?

C语言:在一组数(个数不定)指定位置插入一个数,输出结果。
求思路,个数不定应该怎么终止输入?在一组整数(个数不定)中,在指定位置插入一个整数,并输出插入后的结果。
输入:第一行为插入的数和位置,第二行为一组数,用空格隔开。
输出:插入后的一组数。
例:输入:
23 3
12 22 13 15 35
输出:
12 22 23 13 15 35

用EOF来判断输入结束

#include <stdio.h>
int main()
{
    int a[1000];
    int n;
    
    int m, v;
    int i;
    scanf("%d%d",&v, &m);
    n=0;
    while(scanf("%d",&a[n]) != EOF) n++;
    for(i=n-1; i>=m-1; i--)
        a[i+1] = a[i];
    a[m-1]=v;
    for(i = 0; i<n+1;i++)
        printf("%d ", a[i]);
    return 0;
}

自己测试时,输入完数据,回车,输入ctrl Z 回车. 结束输入.

平台自动测试的时候, 会有自动的EOF的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-15
while(scanf("%d",&n) != EOF){//这样子就可以循环输入
}
相似回答