练习场hit1011:UNIX ls(有的二货罗马也用不着去debug了)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了练习场hit1011:UNIX ls(有的二货罗马也用不着去debug了),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1666字,纯文字阅读大概需要3分钟。
内容图文
题目:
输入一串文件名字,排序后格式化输出
思路:
排序后格式化输出
方案:
排序后格式化输出
代码:
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5#define MAX 100 6#define NAME_LEN 60 7 8void SortFile(char **file_name,int n); 9int comp(constvoid *a,constvoid *b); 1011int main() 12{ 13int n,i,len; 14char **file_name=(char **)malloc(sizeof(char *)*MAX); 15for(i=0;i<=MAX-1;++i) 16 file_name[i]=(char *)malloc(NAME_LEN); 1718while(scanf("%d",&n)!=EOF) 19 { 20for(i=0;i<=n-1;++i) 21 { 22 memset(file_name[i],0,NAME_LEN); 23 gets(file_name[i]); 24if(strlen(file_name[i])==0) 25 --i; 26 } 2728 SortFile(file_name,n); 29 } 30return0; 31} 3233void SortFile(char **file_name,int n) 34{ 35 qsort(file_name,n,sizeof(char *),comp); 3637int i,max_len=strlen(file_name[0]); 38for(i=1;i<=n-1;++i) 39if(strlen(file_name[i])>max_len) 40 max_len=strlen(file_name[i]); 41int c_cnt=62/(max_len+2); 42int r_cnt; 43if(n%c_cnt==0) 44 r_cnt=n/c_cnt; 45else46 r_cnt=n/c_cnt+1; 4748 printf("------------------------------------------------------------\n"); 49int r_cur,c_cur; 50for(r_cur=0;r_cur<=r_cnt-1;++r_cur) 51 { 52for(c_cur=0;c_cur<=c_cnt-1;++c_cur) 53if(r_cnt*c_cur+r_cur<=n-1) 54 { 55 printf("%s",file_name[r_cnt*c_cur+r_cur]); 56if(r_cnt*(c_cur+1)+r_cur<=n-1) 57for(i=strlen(file_name[r_cnt*c_cur+r_cur])-1;i<=max_len;++i) 58 printf(""); 59 } 6061 printf("\n"); 62 } 63} 6465int comp(constvoid *a,constvoid *b) 66{ 67return strcmp(*(constchar **)a,*(constchar **)b); 68 }
备注:
pe一生黑。懒得管了,没啥技术含量,纠结于pe没用,pass。
原文:http://www.cnblogs.com/keepcalmandcarryon/p/3592633.html
内容总结
以上是互联网集市为您收集整理的练习场hit1011:UNIX ls(有的二货罗马也用不着去debug了)全部内容,希望文章能够帮你解决练习场hit1011:UNIX ls(有的二货罗马也用不着去debug了)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。