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/

10-11 23:10
查看更多