作业头
| 这个作业属于那个课程 | C语言程序设计II |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/computer-scienceclass1-2018/homework/2828 |
| 我在这个课程的目标是 | 跟上大家,别落后就好,以后应用于生活中 |
| 这个作业在那个具体方面帮助我实现目标 | 我知道了字符串的基本概念及使用方法 |
| 参考文献 | https://www.csdn.net/ |
基础作业
第四周作业预习题
题目.1
统计一行文本的单词个数
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
我的代码:
#include<stdio.h>
int main()
{
char a[1000];
int i,num=0,word=0;
char c;
gets(a);
for(i=0;(c=a[i])!='\0';i++)
if(c==' ') word=0;
else if(word==0)
{
word=1;
num++;
}
printf("%d\n",num);
return 0;
}
我的思路:

运行结果

遇到的错误
我是做不出问的结对编程队友黄安,他手把手教我写的,除了一些基本的格式问题,其他无错误
选择题



一到四题只要看了教材和老师发的视频就应该都没什么问题
五六题我是代数据进去跑,对了的就选了
第七题我是真不会,直接在dev上面跑了答案出来哈哈哈
但是做完后还是不懂那个fun()函数怎么用
第三题
英文单词排序
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。
输入格式:
输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:
blue
red
yellow
green
purple
#
输出样例:
red blue green yellow purple
我的代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
FILE * fp = fopen("C:\\Users\\13514\\Desktop\\czy.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;
}
运行结果
![]()

编译中遇到的问题
即使程序在dev上运行成功,txt文本始终没有变化
重新创建了一个文本,将新地址带入
成功
挑战作业:
继续挑战第二周的挑战作业:返回整数数组中最大子数组的和,本周,我们要求二维数组的子数组必须是矩形的。
(实在不会做,太难了,见谅)
学习进度
![]()

学习总结
自己还是在思路方面有欠缺,总是容易吧问题想的复杂化
结对编程还是有好处的,我能够有学习别人的编程方式,对双方都有利


浙公网安备 33010602011771号