---恢复内容开始---
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/MS/homework/2829 |
我在这个课程的目标是 | 熟练的将字符串和数组使用 |
这个作业在那个具体方面帮助我实现目标 | 学会了字符串的知识 |
参考文献 | C语言程序设计(第3版) |
一 2019春第四周作业(预习题)
7-1 统计一行文本的单词个数 (15 分)
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
1.实验代码
#include<stdio.h> int get_word_num(char* buf) { int n = 0; int tag = 1; char* p = buf; for(;*p!=0 && *p!=13 && *p!=10;p++){ if(*p==' ' && tag==0) tag=1; if(*p!=' ' && tag==1) { n++; tag=0; } } return n; } int main() { char buf[1000]; fgets(buf,1000,stdin); printf("%d ", get_word_num(buf)); return 0; }
思维导图
遇到的问题
开头的时候把问题i想简单了
后来换了思路,借鉴了思路
2019春第五周作业—预习、
7-1 英文单词排序 (25 分)
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。
输入格式:
输入为若干英文单词,每行一个,以#
作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:
blue
red
yellow
green
purple
#
输出样例:
red blue green yellow purple
我的代码
#include<stdio.h> #include<string.h> int main(void) { char input[21][11] = { '' }; char snap[11] = { '' }; int i = 0; while (1) { scanf("%s", input[i]); if (input[i][0] == '#') break; i++; } input[i][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; }
思维导图
编辑结果
周/日期 | 这周所花的时间 | 代码行数 | 学到的知识点简介 | 目前比较迷惑大问题 |
---|---|---|---|---|
3/25-3/31 | 15个小时 | 230行 | 定义指针变量和一些基本赋值 | 指针的熟练用法 |