1

'N' と L(行数) を指定すると、scanf と array[2*3] を使用して、L 行から最初の N 個の数値を受け取る必要があります。誰でも助けることができますか?

N=2, L=3 INPUTS =>
2   3   7 8  9
5 6 8 9  8
5 2
9 8 7
OUTPUT =>
array[0]=2
array[1]=3
array[2]=5
array[3]=6
array[4]=5
array[5]=2

これを試しましたが、正しい出力が得られませんでした:

    for(j=0; j<L; j++)
    for(i=0; i<N; i++)
        if(i == 0)
            scanf("\n%d", &array[r++]);
        else
            scanf(" %d", &array[r++]);


ありがとう

4

1 に答える 1

1
#include <stdio.h>
#include <stdlib.h>

int main(void){
    int N,L;
    int *a;
    int i,j,count=0;
    char dummy;

    printf("N=");
    scanf("%d", &N);
    printf("L=");
    scanf("%d", &L);
    printf("N=%d, L=%d INPUTS =>\n", N, L);
    a =(int*)calloc(N*L, sizeof(int));
    for(i=0;i<L;++i){
        for(j=0;j<N;++j){
            scanf("%d ", &a[count++]);
        }
        scanf("%*[^\n]%c", &dummy);
    }
    printf("OUTPUT =>\n");
    for(i=0;i<count;++i){
        printf("array[%d]=%d\n", i, a[i]);
    }
    free(a);

    return 0;
}
于 2012-05-04T16:09:41.993 に答える