第四周预先作业+第五周基础作业
第四周预习作业
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
1. 代码块
#include<stdio.h>
int main()
{
int flag=0,sum=0;
char op;
while((op=getchar())!='\n')
{
if(op==' '){
flag=0;
}
else if(flag==0){
sum++;
flag=1;
}
}
printf("%d",sum);
return 0;
}
2. 思路流程图
3. 存在问题和解决办法:
问题1:
解决方法:和室友一起讨论尝试不同的判断条件。最后发现else if可以解决;
心得:这道题让我对if和else if有更好的了解
4. 运行图
第五周基础作业
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-class1-2018/homework/2825 |
我在这个课程的目标是 | 无 |
这个作业在那个具体方面帮助我实现目标 | 无 |
参考文献 | 无 |
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。
输入格式:
输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:
blue
red
yellow
green
purple
#
输出样例:
red blue green yellow purple
想法:
此题大概我开始没有用二维数组。就一直用上周预习作业的方法去做。开始我就想通过写字符去写,这样便于计数,便于排序。就抱着这样的想法去编写。编写完,就面对了残酷的现实。遇到好多问题,其中有一个问题就是题目要求我们输出字母。而我这样写就算排序了,又该如何去输出字母呢?就这样卡在这里。然后询问室友。才知道要用二维数组,且用字符串去写会比较好些。大概就知道这么一点。