一、作业
这个作业属于哪个课程 | C语言程序设计ll |
---|---|
这个作业要求在哪里 | (https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2824) |
我在这个课程的目标是 | 掌握字符(串)数组的相关知识 |
这个作业在哪个具体方面帮助我实现目标 | 这次作业让我大概了解了使用字符串编程,加强了进一步的学习 |
参考文献 | (https://www.jb51.net/article/37456.htm) |
预习题
7-1 统计一行文本的单词个数
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
1、实验代码
#include<stdio.h>
#include<string.h>
int main(void)
{
int i, num, sum;
char str[1000];
gets(str);
num = strlen(str);
if(str[0] == ' ')
{
sum = 0;
}
else
{
sum = 1;
}
for(i=0; i<num-1; i++)
{
if(str[i] == ' '&&str[i+1] != ' ')
{
sum++;
}
}
printf("%d", sum);
return 0;
}
2、设计思路
3、本题调试过程碰到问题及解决办法:
问题:
1.定义数组是数组长度不够
2.输出时的空格没注意
解决办法:
第二个问题我是通过对比琛姐的代码,发现的。
4、运行结果截图:
基础题
7-1 英文单词排序
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。
输入格式:
输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:
blue
red
yellow
green
purple
输出样例:
red blue green yellow purple
1、实验代码
#include<stdio.h>
#include<string.h>
int main(void)
{
char len[10];
char input[21][10], a[20];
int i=0, k, num;
while(1)
{
scanf("%s", &a);
if(a[0]=='#')
{
break;
}
else{
strcpy(input[num], a) ;
num++;
}
i++;
}
num=i;
input[i][0]=' ';
for(i=0; i<num; i++)
{
for(k=1; k<num-i; k++)
{
if(strlen(input[k-1])>strlen(input[k]))
{
strcpy(len,input[k-1]);
strcpy(input[k-1],input[k]);
strcpy(input[k],len);
}
}
}
for(i=0; i<num; i++)
{
printf("%s ", input[i]);
}
return 0;
}
2、设计思路
3、本题调试过程碰到问题及解决办法:
问题:出现了段错误,但是找不到原因
找大佬解决的
4、运行将结果截图
预习题
(1)预习的主要内容
指针
(2)完成情况截图
二、学习进度条
周/日期 | 这周所花的时间 | 代码行数 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
2/25-3/3 | 48h | 45 | 数组的认识及用法 | 数组长度的理解 |
3/4-3/10 | 36h | 37 | 编写程序时处理文件 | fscanf与fprintf的具体用法 |
3/11-3/17 | 46h | 55 | 定义文件,以及文件的导入导出和读写 | 二维数组的用法、上三角的判断及文件的处理 |
3/17-3/22 | 15h | 66 | 选择排序法、二分查找法 | 不清楚选择排序法和冒泡排序法的区别 |
3/25-3/29 | 39h | 73 | 字符串的定义及其使用 | 指针的具体使用 |
3、学习感悟
(1) 学习内容:
- 字符串与一维字符数组的区别
- 字符串的存储以及字符串的操作方法
收获:自从上周自己完全靠自己的思路写出了一个程序后,发现自己比上个学期懵懵懂懂编程的状态好多了,现在比较能够明确的知道自己的思路,也可以更快的找出一些错误。本周学会了字符串及其的使用。
4、结对编程感想
感觉自身的能力不足,拖累了我的队友,有许多的事情都是麻烦我队友解决的,我也要多多学习,希望能有更加大的进步!