c语言 设计一个输出stdout和stderr的程序

等待应该一行输入一个(可以包含空格)的无符号整数,作为stdout输出。
将不符合这个形式的输入除去 并作为stderr输出。

输入例
1
2

3 4

5 6 7
8

输出例(stdout)
1
2
8

输出例(stderr)
3 4

5 6 7

不知道该怎么办。。。我们连stdout stderr是什么怎么控制都没学过
求大神解答

仅供参考:

 #include<stdio.h>
#include<string.h>

#define MAX_LINE 10

int main()
{
    char right_arr[MAX_LINE][32],wrong_arr[MAX_LINE][32];
    int i, flag, a = 0, b = 0;
    char buffer[32];
    while(gets(buffer))
    {
        for(i = 0,flag=1; i < strlen(buffer); i++)
        {
            if(buffer[i] <= '0' || buffer[i] >= '9')
            {
                flag = 0;
                break;
            }   
        }
        if(flag)
            strcpy(right_arr[a++], buffer);
        else
            strcpy(wrong_arr[b++], buffer);

    }

    //打印stdout
    printf("stdout:\n");
    for(i = 0; i < a; i++)
        printf("%s\n", right_arr[i]);

    //打印stderr
    printf("stderr:\n");
    for(i = 0; i < b; i++)
        printf("%s\n", wrong_arr[i]);
}

图片说明