为什么输出会这样,我想输出 1 12 123 1234 12345

如题所述

//直接给你改了
//下次请切记:直接贴代码!!!!
//重要的事情说三遍:无论哪位求助,请直接贴代码!!!!
//重要的事情说三遍:无论哪位求助,请直接贴代码!!!!
//重要的事情说三遍:无论哪位求助,请直接贴代码!!!!
#include<stdio.h>
#define NUM 6
int main(void)
{
int i;
int k[NUM]={0};
for(i=1;i<NUM;i++)
{
k[i]=k[i-1]*10+i;//这里是关键,k[0]=0,k[1]=1,k[2]=1*10+2,...//以此类推,但是,如果NUM超过10就有问题啦.不信,请自行改一下NUM的值看看输出
//超过10后就要看输出要求,再作相应判断与更改了
printf("%d\n",k[i]);
}
return 0;
}
//见有空,再改了一个
#include<stdio.h>
#define NUM 60//长度任加
int main(void)
{
int i,j,n;
char k[NUM];//用字符娄组存放,不会因数字存储长度影响
for(i=1;i<NUM;i++)
{
n=i%10;//只存余数.超过10的去掉10,保留个位数
k[i]=n+'0';
for(j=1;j<=i;j++) //输出.因为数组里只保存一个字符,所以每次输出
//只能从头输出,才能形成1,12,123,1234,12345...这种形式,这个数位长度任加
printf("%c",k[j]); 
printf("\n");//输出完一行后,断行
}
return 0;
}

追问

不好意思,可能我没表达清楚,那个第二行的12不是十二,而是1与2,第三四五行也是数字1,2,3,4,5

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-20
问题出现在12句printf那里,一般情况下数组是用for循环一个一个的输出的,目前我还不知道怎么输出全部数组,字符数组但是可以用%s全部输出,可以修改如下
for(i=0;i<NUM;i++)
printf("%d",KK[NUM]);
printf("/n");

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网