要求
题的意思是有n位数,让你从1输出到n为数的最大一位,
例如:n = 2,也就是输出到二位数的最大位数99;
这道题主要意思是给定一个函数,让我们实现返回一个int数组;
实现
1.首先我们需要求出需要打印多少个数字,这里的数字总量其实就是等于n位数最大值,
这个最大数不就是等于10^n-1嘛,所以我们使用函数pow来计算最大值求出最大值。
2.创造总数*int类型的空间,相当于是创造一个有总数个元素的数组,
3.然后再依次把1到pow(10,n)-1个数赋值给这个数组即可
代码为:
#include <stdio.h>
#include <math.h>
int * printNumbers(int n,int* returnSize)
{
int i = 0;
*returnSize = pow(10,n)-1;
int *arr=(int*)malloc(*returnSize*sizeof(int));
for(i=0;i<*returnSize;i++)
{
arr[i]=i+1;
}
return arr;
}