这个做业属于哪一个课程 | C语言程序设计II |
这个做业要求在哪里 | 2019年春季学期第五周做业 |
我在这个课程的目标是 | 我但愿可以经过学习C语言的知识,编写程序 |
这个做业在哪一个具体方面帮助我实现目标 | 这个做业让我知道了字符串的基本概念及使用方法,理解了字符串与一维字符数组的区别、字符串的存储以及字符串的操做方法。明白了如何正确使用字符串进行程序设计。 |
参考文献 | 字符串 菜鸟教程C 标准库 - <string.h> 《C语言程序设计》指针 |
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数能够是多个。html
输入格式:
输入给出一行字符。编程
输出格式:
在一行中输出单词个数。数组
输入样例:ide
Let's go to room 209.
输出样例:学习
5
#include<stdio.h> #include<string.h> int main(void) { int i, count, len; char ch[1000]; gets(ch); len = strlen(ch); if(ch [0] == ' ') count = 0; else count = 1; for(i = 0;i < len - 1;i ++) { if(ch [i] == ' ' && ch [i+1] != ' ') count ++; } printf("%d", count); return 0; }
7-1 英文单词排序 (25 分)
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。若是长度相同,按照输入的顺序不变。测试
输入格式:
输入为若干英文单词,每行一个,以#做为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。设计
输出格式:
输出为排序后的结果,每一个单词后面都额外输出一个空格。3d
输入样例:指针
blue red yellow green purple #
输出样例:调试
red blue green yellow purple
新增要求:
基础做业
PTA:英文单词排序
要求:
1.在PTA上完成做业
2.博客总结须要将PTA上代码作如下修改:(1)经过以本身名字命名的文件输入英文单词,(2)英文单词输入的结束标记为你学号最后一位数+37所对应的ASCII字符。(例如:你的学号最后一位为9,则结束标记为9+37=46所对应的ASCII字符“.”)(3)在不删除原有内容的状况下,将排序后的单词输出到文件。
#include<stdio.h> #include<stdlib.h> #include<string.h> int main(void) { FILE * fp = fopen("C:\\Users\\LILI\\Desktop\\LX\\lixuan.txt", "a+"); int i=0, j, k; char zf[21][11]; while(1) { fscanf(fp,"%s", &zf[i]); if(zf[i][0] == ',') break; i++; } fprintf(fp,"\n") ; for(j = 1;j <= 10;j ++) { for(k = 0;k < i;k++) { if(strlen(zf[k]) == j) fprintf(fp,"%s ", zf[k]); } } fclose(fp); return 0; }
继续挑战第二周的挑战做业:返回整数数组中最大子数组的和,本周,咱们要求二维数组的子数组必须是矩形的。
具体要求参看邹欣老师博客 现代程序设计做业2
第一步 输入二维数组
第二步 循环进行相邻几行几列相加进行比较大小
第三步 再循环比较大小的同时也不断将最大的几行几列的地址存储在另外一个数组中
第四步 输出最大矩形子数组的和
周/日期 | 这周所花的时间 | 代码行数 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
3/2-3/8 | 20h | 300行 | 数组,指针的大体意义,文件入门 | 数组串的使用,指针 |
3/9-3/15 | 25h | 400行 | 二维数组,文件与数组的结合运用 | 双for循环的流程图(再不上课,光自学感受太艰难了) |
3/16-3/22 | 22h | 450行 | 一维数组,二维数组,几种数组排序法 | 字符串使用 |
3/23-3/29 | 20h | 350行 | 字符串的定义及其使用 | 指针的具体使用 |