整型相除截断的技巧

php中文网
发布: 2016-06-07 15:30:13
原创
1465人浏览过

c++3b6e5e9ef03fc8189c8d3848d>欢迎进入C/C++编程社区论坛,与300万技术人员互动交流 >>进入 该题中主要用到了整型相除截断的技巧。例如,计算行数和输出时候判断是否为最后一列。 [cpp] #include stdio.h #include stdlib.h #include string.h int cmp(const void *_a, const void *_b)

欢迎进入c/c++编程社区论坛,与300万技术人员互动交流 >>进入

    该题中主要用到了整型相除截断的技巧。例如,计算行数和输出时候判断是否为最后一列。

    [cpp]

    #include

    #include

    #include

    int cmp(const void *_a, const void *_b) {

    char *a = (char*)_a;

    char *b = (char*)_b;

    return strcmp(a, b);

    }

    // 根据len长度的字符串,不足以空格补齐

    void print(char st[], int len) {

    int tmp = len - strlen(st);

    printf("%s", st);

    while (tmp--)

    printf(" ");

    }

    int main() {

    int n;

    char s[105][65];

    while (scanf("%d", &n) != EOF) {

    int lMax, c, r;

    lMax = c = r = 0;

    for (int i=0; i

    scanf("%s", s[i]);

    int tmp = strlen(s[i]);

    if (tmp > lMax)

    lMax = tmp;

    }

    c = 62 / (lMax+2);                      // 计算列数

    r = (n+c-1) / c;                        // 计算行数

    qsort(s, n, sizeof (s[0]), cmp);

    printf("------------------------------------------------------------\n");

    for (int i=0; i

    for (int j=0; j

    int tmp = j*r + i;

    if (tmp >= n) continue;

    if (tmp >= ((int)((n-1)/r))*r)  // 如果为最后一列

    print(s[tmp], lMax);

    else

    print(s[tmp], lMax+2);

    }

    printf("\n");

    }

    }

    return 0;

    }

整型相除截断的技巧

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
c++
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号