第五周作业

Posted on 2019-03-29 22:45  hualikun  阅读(116)  评论(1)    收藏  举报

作业头

这个作业属于那个课程 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文本始终没有变化

重新创建了一个文本,将新地址带入

成功

 挑战作业:

继续挑战第二周的挑战作业:返回整数数组中最大子数组的和,本周,我们要求二维数组的子数组必须是矩形的。
(实在不会做,太难了,见谅)

 
学习进度

 

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