Rye_Catcher @ 2017-10-03 09:38:33
不知道为何我的代码一分也得不到;
一开始我用math.h和abs它识别不出来,改完之后却数据全错,怎么回事
#include <stdio.h>
int num[12];
int main()
{
int N,n,i=0,k;
scanf("%d",&N);
if(N>0) n=N;
else n=-N;
do
{
if((n<10)&&(i==0)) {
printf("%d",n);
return 0;
}
k=n%10;n=n/10;
printf("%d ",n);
num[i]=k;
i++;
if(n<10) {num[i]=n; break;}
}while(1);
for(k=0;k<=i;k++)
{
if(N<0&&k==0) printf("-");
if(num[0]==0&&k==0) {k++;goto F1;}
F1: printf("%d",num[k]);
}
return 0;
}0.
by Rye_Catcher @ 2017-10-03 09:47:22
好吧刚刚重新检查发现了错误。
这是改正后的:(请忽略math.h 和abs)
#include <stdio.h>
#include <math.h>
int num[12]={0};
int main()
{
int N,n,i=1,k;
scanf("%d",&N);
n=abs(N);
do
{
if((n<10)&&(i==1)) {
printf("%d",n);
return 0;
}
k=n%10;n=n/10;
// printf("%d ",n);
num[i]=k;
i++;
if(n<10) {num[i]=n; break;}
}while(1);
for(k=1;k<=i;k++)
{
if(N<0&&k==1) printf("-");
if(num[k]==0&&num[k-1]==0) {continue;}
printf("%d",num[k]);
F1: ;
}
return 0;
}