整型相除截断的技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了整型相除截断的技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1442字,纯文字阅读大概需要3分钟。
内容图文
![整型相除截断的技巧](/upload/InfoBanner/zyjiaocheng/530/5ac57f40dfcd413f9ea61dbf2eb0a84d.jpg)
欢迎进入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<n; 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<r; i++) {
for (int j=0; j<c; 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;
}
内容总结
以上是互联网集市为您收集整理的整型相除截断的技巧全部内容,希望文章能够帮你解决整型相除截断的技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。