gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 14:47:27 24 4
gpt4 key购买 nike

在此代码中,我生成 n 位数字并希望将它们存储在数组中但是当我存储它们时,仅从数组中打印最后一个数字

#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]);
}
}

最佳答案

请将您的代码格式化如下:

#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。因此数组的最后一个字段将保持为统一值。

关于c - 将结果存储在c中的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51234524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com