将结果存储在c中的数组中

时间:2018-07-08 17:39:05

标签: c arrays

在此代码中,我生成n位数字并将其存储在数组中 但是当我存储它们时,只会从数组中打印出最后一位数字

<button type="button"
   onclick="document.getElementById('demo').innerHTML = Date()">
   Click me to display Date</button>
<p id="demo"></p>

1 个答案:

答案 0 :(得分:1)

请按照以下格式设置代码:

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

int numbergenerator(int N){
    for(int number = pow(10, N-1); number < pow(10, N); number++) //find all the n digit numbers{
        return number;
    }
}

int main(){

    int number;
    int a[100];
    int N,i;
    scanf("%d",&N);

    for(i=0;i<99;i++){
        a[i]=numbergenerator(N);
    }

    for(i=0;i<99;i++){
      printf("%d \n",a[i]);
    }
}

关于您的问题:

for(int number = pow(10, N-1); number < pow(10, N); number++) //find all the n digit numbers{
    return number;
}

这将返回您要进入for循环的第一个数字。因此它将返回pow(10, N-1)

您同样可以写:

int numbergenerator(int N){
    return pow(10, N - 1);
}

我想这不是您想要的。 顺便说一句,测试一下如果给函数赋0或负数会发生什么情况。

编辑:

for(i=0;i<99;i++){...}

这将从0到98进行迭代。因此,数组的最后一个字段将保持单位化值。