输入一个整数n,输出数字1到n按字典序排序的序列。如输入13输出1 10 11 12
答案:3 悬赏:40 手机版
解决时间 2021-03-25 09:28
- 提问者网友:佞臣
- 2021-03-25 04:53
输入一个整数n,输出数字1到n按字典序排序的序列。如输入13输出1 10 11 12
最佳答案
- 五星知识达人网友:平生事
- 2021-03-25 05:46
#include
#include
#include
int main(void)
{
int n;
int i,j;
char a[1000][1000];
char t[1000];
int k = 0;
scanf("%d",&n);
for (i = 1; i <= n; i++)
{
_itoa(i,a[k],10); //将数字转换为字符串存入到字符串数组a中
k++;
}
for (i = 0; i < k - 1; i++) //将字符串排序
{
for (j = 0; j < k - 1 - i;j++)
if (strcmp(a[j], a[j + 1]) > 0)
{
strcpy(t, a[j]);
strcpy(a[j], a[j + 1]);
strcpy(a[j+1], t);
}
}
for (i = 0; i < k; i++)//输出排序后的字符串
puts(a[i]);
return 0;
}
全部回答
- 1楼网友:拾荒鲤
- 2021-03-25 07:38
按字符串,使用strcmp比较
~
~
- 2楼网友:罪歌
- 2021-03-25 05:59
#include
int main()
{
int i,j;
scanf("%d",&n);
#define pr(x) if(x<=n)printf("%d ", x);
for(i = 1; i < 10; i ++)
{
j = 1;
while(j*i<=n)
{
for(k=j*i; k pr(k);
j*=10;
}
}
return 0;
}
int main()
{
int i,j;
scanf("%d",&n);
#define pr(x) if(x<=n)printf("%d ", x);
for(i = 1; i < 10; i ++)
{
j = 1;
while(j*i<=n)
{
for(k=j*i; k
j*=10;
}
}
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯