如何在for循环中存储从rand()函数获得的数字?

时间:2014-09-06 16:11:09

标签: c arrays for-loop

请告诉我如何存储从g获得的数字并打印出来:
示例:2,2,6

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

int main(int argc, char* argv[]) {
    int nrzaruri;
    int g;
    int valori;
    int array[g];
    printf("cate zaruri arunci?\n");
    scanf("%d", &nrzaruri);
    for (int i = 1; i <= nrzaruri; i++) {
        g = (rand() % 6) + 1;
        printf("zarul %d\n are valoarea %d\n", i, g);
    }
}

1 个答案:

答案 0 :(得分:1)

如果我已正确理解您需要的是以下内容

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

int main(void)
{    
    int nrzaruri;

    printf( "cate zaruri arunci?\n" );
    scanf( "%d", &nrzaruri );

    int array[nrzaruri];

    for ( int i = 0; i < nrzaruri; i++ ) 
    {
        int g = ( rand() % 6 ) + 1;
        array[i] = g;
    }

    for ( int i = 0; i < nrzaruri; i++ ) 
    {    
        printf( "zarul %d\n are valoarea %d\n", i + 1, array[i] );
    }

    return 0;
}

您可以替换这两个陈述

        int g = ( rand() % 6 ) + 1;
        array[i] = g;

这个

        array[i] = ( rand() % 6 ) + 1;

我只是使用你的变量。

或者如果您需要在一行中输出数组的元素,那么您可以使用以下循环

int i = 0;
do
{    
    printf( "%d", array[i] );
} while (  ++i < nrzaruri &&  printf( ", " ) > 0 );

输出看起来像

2, 5, 4, 2, 6, 2, 5, 1, 4, 2