赞
踩
从键盘输入一个长整数(不超过10位),从高位开始逐位分割并输出。
正整数n,不含前导零。
分割的整数序列,各整数之间用空格格开。 注意,最后一个数字后面没有空格!
654321
6 5 4 3 2 1
这确实是一个简单题,但下面的代码不能过(10203040愿因未知)想复杂了
- #include <stdio.h>
- int main()
- {
- int a[10],i=0,j,t;
- long long int b;
- scanf("%lld",&b);
- while(1)
- {
- if(b==0)
- break;
- a[i]=b%10;
- b/=10;
- i++;
- }
- for(j=0;j<=i/2;j++)
- {
- t=a[j];
- a[j]=a[i-j-1];
- a[i-j-1]=t;
- }
- printf("%d",a[0]);
- for(j=1;j<i;j++)
- printf(" %d",a[j]);
- return 0;
- }
下面是正确代码
- #include<stdio.h>
- #include <string.h>
- int main()
- {
- char s[100]={'0'};
- int b[100]={0},m;
- int i;
- gets(s);
- m=strlen(s);
- for(i=0;i<m;i++)//注意其中中间不能写s[i],因为遇到(102030)这种情况遇到0就停止了
- b[i]=s[i]-48;
- printf("%d",b[0]);
- for(i=1;i<m;i++)
- printf(" %d",b[i]);
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。