第五周作业


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

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

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

输入样例:
blue
red
yellow
green
purple

输出样例:
red blue green yellow purple

实验代码

include <stdio.h>

include <string.h>

main()
{
char str[20][10],t[20],str1[10];
int i,j,n=0;
while(1)
{
scanf("%s",str1);
if(str1[0]=='#')
{
break;
}
else
{
strcpy(str[n],str1);
n++;
}
}
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
{
if(strlen(str[j])>strlen(str[j+1]))
{
strcpy(t,str[j]);
strcpy(str[j],str[j+1]);
strcpy(str[j+1],t);
}
}
for(i=0;i<n;i++)
{
printf("%s ",str[i]);
}
return 0;
}

流程图

3.遇到的问题即解决方案
1:对strcpy函数不熟悉,不太会灵活运用
解决方案:上网查询,询问会做的同学。
2:对于复杂题目时,使用for循环语句老是出错。
解决方案:在dev-c++里面编译多次,同时注意符号和单词错误。

运行结果截图

第五周预习作业
1.主要内容
指针程序设计中的指针与数组,指针与字符串。此外还有结构程序设计。

第四周的预习

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

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

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

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

实验代码

include<stdio.h>

include<stdlib.h>

include<string.h>

int main()
{
int i,j=0,sign=0;
char str[10000];
gets(str);
if(str[0]!=' ')
{
sign=1;
}
for(i=0;i<strlen(str)-1;i++)
{
if(str[i]==' '&&str[i+1]!=' ')
{
sign++;
}
}
printf("%d ",sign);
system("pause");
return 0;
}

.遇到问题及解决方案
问题:对于gets函数及strlen函数的不熟悉,
解决问题:课堂上听老师的讲解,请教同学。

运行结果

学习体会;主要学习了字符串、单词排序、指针数组的学习、strcpy函数以及gets函数的学习。
难点:多组函数的混合使用就不知道灵活使用。
解决方法:上网查寻,询问结对同学及听老师讲解
对于结对编程
优点:1.有利于相互借鉴、资源的互用。
2.能更好的发现问题,解决问题。
3.有利于同伴默契的提高,以便以后参加工作提前适应。
缺点:各自都有事情,时间不好统一。
学习心得:对于上课打瞌睡我已做了深刻的反省,之后必定打起百分之三百的精神听课。对于提高逻辑能力有待加强。多去学习网上优秀博客的解题思路和经验,充实自己。再者加强for语句的灵活运用。继续撸起袖子加油干!!!

原文地址:https://www.cnblogs.com/huanglexing/p/10620979.html