在c语言中打印一个整形的数组是否一定要用循环?如果不是的话,应该怎么做?比如a[]={1,2,3,4,5,6,7}

来源:百度知道 编辑:UC知道 时间:2024/06/22 22:12:40
输入4
打印
1
12
123
1234

这样的,我的思路是将这些1,2,3放入一个数组里面,一次打印出来就可以避免一次循环.我才学c呢~

你不喜欢循环的话,我的方法是递归。

#include <stdio.h>

void func(int v)
{
if(!v) return;
func(v-1);
printf("%d",v);
}
void func2(int n)
{
if(!n) return;
func2(n-1);
func(n);
printf("\n");
}
int main()
{
int n;
scanf("%d",&n);
func2(n);
return 0;
}

4
1
12
123
1234

可以不用循环, 但是不建议那样用。 因为算法是自己写的,循环语句也是多种语句集合成的。使用循环语句很方便也直接,你不用也说的过去, 你可以用递归甚至嵌入汇编来做,但那没有必要,好比编译器已经提供了很多函数,你可以不用它的自己写,有可能比它自带的函数算法还好,但是除了做研究以外有必要那样吗?
回答LZ,可以不用循环来实现,但是不可取。

void print(int *a)
{
i=0;
j=0;
while(a[i]!='\0'){
for(i=0;i<=j;i++)
printf("%d",a[i]);
printf("\n");
i++;
j++;
}
printf("\n");
}
不太明白你的意思,这是我用循环写的,可以实