这个作业属于的课程 |
第五周编程总结 |
我在这个课程的目标是 |
学习二维数组和指针 |
这个昨天在哪个具体方面帮我实现目标 |
综合利用数组和指针解决问题 |
参考文献 |
C语言程序设计
|
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
1).实验代码
#include<stdio.h> #include<string.h> int main (void) { int i, len,num; char a[1000]; gets(a); len = strlen(a); if (a[0]==' ') num=0; else num=1; for(i=0;i<len-1;i++) { if(a[i]==' '&&a[i+1]!=' ') num++; } printf("%d",num); return 0; }
2)设计思路
3)本题做对过程碰到问题及解决办法
1.定义数组的数组长度不够,导致运行错误,后改为1000。
2.在判断第一个字符是否为空格时,使用了“=”,应改为“==”。
正确截图
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。
输入格式:
输入为若干英文单词,每行一个,以#
作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:
blue
red
yellow
green
purple
#
输出样例:
red blue green yellow purple
1).实验代码
#include<stdio.h> #include<string.h> int main (void) { int i,j,n=0; char str[20][10],str1[10],t[20]; while(1) { scanf("%s",str1); if(str1[0]=='#') { break; } else { strcpy(str[n],str1); n++; } } for(i=0;i<n-1;i++) for(j=0;j<n-i-1;j++){ if(strlen(str[j])>strlen(str[j+1])){ strcpy(t,str[j]); strcpy(str[j],str[j+1]); strcpy(str[j+1],t); } } for(i=0;i<n;i++){ printf("%s ",str[i]); } }
2)设计思路
3)本题做对过程碰到问题及解决办法
1.并未注意到题目要求每个单词后面都额外输出一个空格,而出现错误。
正确截图
2019春第五周作业—预习
1.主要预习了指针变量的定义和指针的基本运算。
疑惑;指针在编程中的作用,怎样使用。如何利用指针来更好的解决问题。
挑战作业:
继续挑战第二周的挑战作业:返回整数数组中最大子数组的和,本周,我们要求二维数组的子数组必须是矩形的。
具体要求参看邹欣老师博客 现代程序设计作业2
设计思路
作业评价
除了挑战题,其他的感觉还不错。但有些题还是要做一个多小时,还要加油。
本周学习总结
本周继续学习了数组,也预习了指针,感觉指针还是不太懂。
关于本周的结对编程
本周我和结对的队员在一起进行了编程,虽然没能完成作业,但俩个人的讨论还是带来了不一样的效果,能够一起交流学到的知识。
学习进度条
周 |
这周所花的时间 |
代码行 |
学到的知识点 |
遇到的问题 |
第二周 |
8h |
100 |
文件指针的定义 |
指针的具体用法 |
第三周 |
12h |
120 |
二维数组的定义和用其编程 |
如何使用指针对二维数组进行处理。 |
第四周 |
12h |
134 |
利用数组对一组数进行排序 |
把一些简单的问题复杂化,不能找到最佳的方法。 |
第五周 |
10h |
125 |
综合利用指针和数组解决问题 |
指针在编程中的作用 |