|这个作业属于那个课程 |C语言程序设计7.3 |
|------------------------------------ --- |--------------- | |这个作业要求在哪里 || |我在这个课程的目标是 |加强逻辑思维与学会流程图 | |这个作业在那个具体方面帮助我实现目标 | 学习了一些字符串方面的应用 | |参考文献 |书本与一些大佬的代码 |输入格式:输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
输出格式:输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:blueredyellowgreenpurple#
输出样例:red blue green yellow purple
代码:
#include#include int main(void){ char input[21][11] = { '\0' }; char snap[11] = { '\0' }; int i = 0; while (1) { scanf("%s", input[i]); if (input[i][0] == '#') break; i++; } input[i][0] = '\0'; int len = i; int j = 0; for (i = 0; i < len; i++) { for (j = 1; j < len - i; j++) { if (strlen(input[j - 1]) > strlen(input[j])) { strcpy(snap, input[j - 1]); strcpy(input[j - 1], input[j]); strcpy(input[j], snap); } } } for (i = 0; i < len; i++) printf("%s ", input[i]); return 0;}
文件模式
#include#include int main(void){ FILE*fp; char input[21][11] = { '\0' }; char snap[11] = { '\0' }; int i = 0; if((fp=fopen("D:\\pz.txt","r+"))==NULL) { printf("File open error!\n"); exit(0); while (1) { scanf("%s", input[i]); if (input[i][0] == '#') break; i++; } input[i][0] = '\0'; int len = i; int j = 0; for (i = 0; i < len; i++) { for (j = 1; j < len - i; j++) { if (strlen(input[j - 1]) > strlen(input[j])) { strcpy(snap, input[j - 1]); strcpy(input[j - 1], input[j]); strcpy(input[j], snap); } } } for (i = 0; i < len; i++) printf("%s ", input[i]); if(fclose(fp)){ printf("Can not close the file!\n"); exit(0); return 0;}
在c++上重新编译了一遍是正确的,更改了一些编译法最后是正确的
预习题
周/日期 | 这周所花时间 | 代码行数 | 学到的知识点 | 目前比较迷惑的问题 |
---|---|---|---|---|
3/25-3/29 | 两天 | 24 | 编译字符串 | 回文什么的搞不懂 |
感悟:
感觉编程越来越困难,有时候真的是没有思路怎样去做题,没有思路去构建流程回路。结对感想:
两个人的思路会有不同,互相指出了一些问题,比起单独编程还是能提高学习的效率。