当前位置: 代码迷 >> C语言 >> 输入一个整数要求逆向输出,例如:输入123,输出321,通过编译,结果是不对.
  详细解决方案

输入一个整数要求逆向输出,例如:输入123,输出321,通过编译,结果是不对.

热度:213   发布时间:2008-03-24 16:57:25.0
输入一个整数要求逆向输出,例如:输入123,输出321,通过编译,结果是不对.
我只是想用我的思路用指针来实现.不知道我的思路可行不..思考好久没有想出来.请大家指下我的错误在哪,改一下程序就行.


//将组数中的数,逆向输出,如:输入1 2 3 输出3 2 1
#include "stdio.h"
#define M 5
int main()
{
    int ad[M],i,*k,*m;
    void swap(int* a,int* b);
    k=ad,m=ad+M-1;    //k指向数组首,m指向数组尾.
    for(i=0;i<M;i++)  //给数组赋值
        scanf("%d",k++);
    k=ad;            
    swap(k,m); //交换数组各元素,k指向数组首,m指向数组尾.
    while(k<=m)  //输出数组
    {
        printf("%-4d",*k++);
    }
    return 0;
}
void swap(int* c,int* b)
{
    int t;
    while(c>b)
    {
        t=*c;
        *c=*b;
        *b=t;
        c++,b--;
    }    
}

[[it] 本帖最后由 bianfeng 于 2008-3-24 17:00 编辑 [/it]]
搜索更多相关的解决方案: 整数  int  输出  逆向  

----------------解决方案--------------------------------------------------------
while(c>b)
改成while(c<b)
就对了..疏忽啊
----------------解决方案--------------------------------------------------------
只是这个要求的话strrev就好了
----------------解决方案--------------------------------------------------------
  相关解决方案