《Programming Pearls》 column 2中问题二中解法 (不知道对不对哦)

/*
 * author: lx
 * date: 2011-09-16
 * brief: programming pearls column2
 */
#include <stdio.h>
#include <stdlib.h>
 
 
void
move_vector( char* b, int m, int n )
{
        int i = 0;
        int j;
        char temp;
        for ( ; i < n ; i++ )
        {
                for ( j = i; j < m; j += n )
                {
                        if ( j == i )
                                temp = *( b + j );
                        else
                                *( b + j - n ) = *( b + j) ;
                }
                printf( "temp is %c %d\n", temp, j );
                *( b + j - n ) = temp;
        }
 
        /*
         * this is especially.
         *
         */
        if ( m % n != 0 )
                move_vector( b + m - n , n, n - m%n );
         
}
 
 
int
main()
{
        char a[8] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'};
        char b[12] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l' };
 
        move_vector( a, 8, 3 );
 
        int i;
        for ( i = 0; i < 8; i++ )
                printf( "%c\n", *( a + i ) );
 
        printf( "b is .............\n" );
        move_vector( b, 12, 3 );
 
        for ( i = 0; i < 12; i++ )
                printf( "%c\n", *( b + i ) );
 
        exit( 0 );
}

  

posted @   lxgeek  阅读(180)  评论(0)    收藏  举报
编辑推荐:
· 长文讲解 MCP 和案例实战
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
· Android编译时动态插入代码原理与实践
· 解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
阅读排行:
· 工良出品 | 长文讲解 MCP 和案例实战
· 一天 Star 破万的开源项目「GitHub 热点速览」
· 多年后再做Web开发,AI帮大忙
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 别再堆文档了,大模型时代知识库应该这样建
点击右上角即可分享
微信分享提示