一个有关用C语言生成数字列表的问题
发布网友
发布时间:2022-09-16 08:18
我来回答
共3个回答
热心网友
时间:2023-10-12 16:35
如果生成的列表是用来打印的:
int i,n; char fmt[80]; scanf("%d,%d",&n,&k);
sprintf(fmt,"%%0%dd,",n); for ( i=0;i<k;i++ ) printf(fmt,i+1);
如果生成的列表需要保存:
int i,n,k; char fmt[80],mlist[1024][10];
scanf("%d,%d",&n,&k); if ( k>1024 ) k=1024; if ( n>9 ) n=9;
sprintf(fmt,"%%0%dd,",n); for ( i=0;i<k;i++ ) sprintf(mlist[i],fmt,i+1);
热心网友
时间:2023-10-12 16:35
#include <stdio.h>
#include <math.h>
void main()
{int a,j,n=0,c=1,i=0;
printf("Input a:");
scanf("%d",&a);
while(c!=0) \\这个循环用来计算a的位数
{c=a/(pow(10,i));
i++;
n++;
}
n--;
for(i=1;i<a;i++)
printf("%*.*d,",n,n,i);
printf("%*.*d\n",n,n,a);
}
热心网友
时间:2023-10-12 16:36
/*判断你要输出的数字有几位*/
int digitofNumber(int number){
int i=number, digit=0;
while(i!=0){
++digit;
i=i/10;
}
return digit;
}
void print(int n, int N){
for(int i=0; i<N; ++i){
int digit=digitofNumber(i);
/*print our 0*/
/*输出前面的0*/
for(int j=0; j<n-digit; ++j)
/*print out 0 here*/
/*输出数字*/
/*print out i here*/
}
}
自己写个主程序,楼主觉得怎么样?