int Rearrange(int a)
{
long int b,j,i=0,num=0,count=0,arr[100];
while(a>0)
{
b=a%10;a=a/10;
arr[i]=b;
i++;
count ++;
}
j=count;
for(i=0;i<=count/2;i++)
{
t=arr[i];
arr[i]=arr[count-i-1];
arr[count-i-1]=t;
count--;
}
for(i=0;i<j;i+=2)
{
num=num*10 + arr[i]%10;
}
return num;
}
我想在c
rearrange
中编写一个函数,该函数打印给定数字的替代数字。例如:
input:- 12345
output:- 135
谢谢
最佳答案
您的for
循环有问题。将其更改为:
for(i=0;i<=count/2;i++)
{
int t=arr[i];
arr[i]=arr[j]; /* Use j */
arr[j]=t; /* Use j */
/* count--; Dont decrement */
j--;
}
for(i=0;i<count;i+=2) /* Should be count */
{
num=num*10 + arr[i]%10;
}
Demo
有很多替代方法可以解决问题,但我只想向您展示如何正确实施思想过程中的方法。
关于c - 接受数字并打印其备用数字,,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27039546/