2019春第五周作业

第五周学习总结

这个作业属于哪个课程 C语言程序设计ll
这个作业要求在哪 2019年春季学期第五周作业
我在这个课程的目标 搞懂字符数组以及其用法
这个作业让我在哪个方面具体帮助我实现了目标 了解字符串与字符串复制
参考文献 c语言第三版

题目一

7-1 统计一行文本的单词个数 (15 分)

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

输入格式:
输入给出一行字符。

输出格式:
在一行中输出单词个数。

输入样例:
Let's go to room 209.
输出样例:
5

1.实验代码

#include<stdio.h>
int main()
{
  char string[1000];
  int i,num=0,word=0;
  char c;	
  gets(string);
  for(i=0;(c=string[i])!='\0';i++)
      if(c==' ') word=0;
      else if(word==0){
              word=1;
              num++;
  }
  printf("%d\n",num);
   return 0;
}

2.设计思路流程图

3.运行截图

题目二

7-1 英文单词排序 (25 分)

本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。

输入格式:
输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。

输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。

输入样例:
blue
red
yellow
green
purple

输出样例:
red blue green yellow purple

1.实验代码

#include<stdio.h>
#include<string.h>
int main(void)
{
	char input[21][11] = { '\0' };
	char snap[11] = { '\0' };
	int i = 0;
	while (1) {
		scanf("%s", input[i]);
		if (input[i][0] == '#')
			break;
		i++;
	}
	input[i][0] = '\0';
	int len = i;
	int j = 0;
	for (i = 0; i < len; i++)
	{
		for (j = 1; j < len - i; j++)
		{
			if (strlen(input[j - 1]) > strlen(input[j]))
			{
				strcpy(snap, input[j - 1]);
				strcpy(input[j - 1], input[j]);
				strcpy(input[j], snap);
			}
 		}
	}
	for (i = 0; i < len; i++)
		printf("%s ", input[i]);
 
	return 0;
}

2.设计思路流程图

3.运行截图

预习题

(1)预习的主要内容
预习了指针的第1小节密码开锁,程序中定义了变量x来存放密码,再定义一个特殊的指针变量p,用于存放变量x的地址。
(2)完成情况截图

学习进度条

周/日期 这周所花的时间 代码行 学习的知识点 目前比较迷惑的问题
3/2-3/8 两天 30 文件的处理 文件指针的用法
3/9-3/15 三天 45 数组的使用 数组的下标
3/16-3/22 两天 110 1.二维数组与矩阵 2.选择排序法 不是很懂二分查找法
3/23-3/29 两天 78 判断回文、一维字符数组的用法、使用字符串编程 使用字符串编程
posted @ 2019-03-29 15:29  tanghongsheng  阅读(213)  评论(2编辑  收藏  举报