这个作业属于哪个课程 C语言程序设计2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2824
我的课程目标 运用字符
这个作业在哪个具体方面帮助我实现目标 解决关于字符长度及其比较
参考文献 http://c.biancheng.net/view/1447.html

预习题
认识指针和数组的关系和区别



问题1:指针是否相当于一个字符盒子
问题2:指针怎么用

输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。
代码

#include<bits/stdc++.h>
int main()
{
    char word[20][10],t[20],words[10];
    int i,j,n=0;
   for (i=0; ; i++){
    	scanf("%s",words);
    	if(words[0]=='#')
    		break;
        else
		{
        strcpy(word[n],words);
        n++;
        }
    }
    for(i=0;i<n-1;i++)
    	for(j=0;j<n-i-1;j++)
	    {
            if(strlen(word[j])>strlen(word[j+1]))
		    {
               strcpy(t,word[j]);
               strcpy(word[j],word[j+1]);
               strcpy(word[j+1],t);
            }
        }
    for(i=0;i<n;i++)
	{
        printf("%s ",word[i]);
    }
    return 0;
}

思路

开始想用for写,但这样写得头疼,写不下去;
然后白度了下,要运用strlen和strcpy写;
strcpy(A,B)就是把B的字符串复制给A,这是C语言字符串中的复制函数
strlen()函数的作用是统计给定字符串的长度。
函数原型:unsigned int strlen(char *str);
功 能:统计字符串str中字符的个数,不包括'\0'
返 回 值:返回字符个数

第二题
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
代码

#include<bits/stdc++.h>
int main()
{
  char a[666];
  gets(a);
  int m,i,j;
  m=strlen(a);
  if(a[0]==' ')
	  j=0;
  else
	  j=1;
  for(i=0;i<m-1;i++)
  {
	  if(a[i]==' ' && a[i+1]!=' ')
		  j++;
  }
  printf("%d\n",j);
  return 0; 
}

思路

gets(s)函数与scanf("%s", s)相似, 但不完全相同, 使用scanf("%s", s)

函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束,

空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符

串直到回车为止。

学习进度条

周/日期 这周所花时间 代码行数 学到知识点 目前比较迷惑的问题
3/25-3/29 一天 52 字符的计算和指针 指针的运用