第五周作业及其总结

本周作业头:
这个作业属于那个课程: C语言程序设计II
这个作业要求在哪里: https://www.cnblogs.com/pengchen511/p/10564067.html
我在这个课程的目标是: 学习字符串以及文件输入输出
这个作业在那个具体方面帮助我实现目标: 帮我加深了如何使用文件输出数据,使自己更熟练了,以及自己对字符串有了一定的认识和理解。
参考文献: 该题目的代码参考了某位大佬的代码:https://blog.csdn.net/mathew_leung/article/details/80382098

基础作业
PTA:英文单词排序
要求:
1.在PTA上完成作业
2.博客总结需要将PTA上代码做以下修改:(1)通过以自己名字命名的文件输入英文单词,(2)英文单词输入的结束标记为你学号最后一位数+37所对应的ASCII字符。(例如:你的学号最后一位为9,则结束标记为9+37=46所对应的ASCII字符“.”)(3)在不删除原有内容的情况下,将排序后的单词输出到文件。

1、实验代码。

include<stdio.h>

include<string.h>

include<stdlib.h>

int main(void)
{
FILE * fp;
char input[50][25] = { '' };
char snap[25] = { '' };
int i = 0;
if ((fp=fopen("C://Users//tom//Desktop//szl5//szl5.txt","r+"))==NULL)
{
printf ("File open error! ");
exit (0);
}
while (1) {
scanf("%s", input[i]);

	if (input[i][0] == '(')
		break;
	i++;
}
input[i][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++)
	fprintf(fp," %s ", input[i]);
	for (i = 0; i < len; i++)
	printf("%s ", input[i]) ;
	if (fclose (fp))
	{
		printf ("Can not close the file! 
");
		exit (0);
	}

return 0;

}
2、设计思路,既是流程图。

3、本题调试过程中所遇到的问题及解决办法。
1、在最后运行结果和打印文件时,只打印了输出结果,自己输入的数据不见了。
解决办法:自己查看书籍,把fprintf(fp,"%s", input[i]);与printf("%s", input[i]) ;调换了位置,把w+改为了r+再加了条for (i = 0; i < len; i++)
然后解决了问题。
2、在输出运行结果时,以及在文件中输出时,格式出现了错误。
解决办法:自己摸索慢慢尝试,问了杨浩成大佬,fprintf(fp,"%s", input[i])改为了fprintf(fp," %s ", input[i]);把printf("%s", input[i]) ;改为了printf("%s ", input[i]) ;
然后解决了输出格式的问题。

预习作业:
1、预习内容
1、学习了解了地址与指针的概念。
2、学习了该如何进行指针变量的定义,以及一些定义指针的含义。
3、通过预习题以及书本学习了对指针的运算。

2、学习进度条

3、感悟。
我觉得结对编程还是挺有用的,能互帮互助,彼此增进双方的实力,但也存在着一些小问题,最重要的时两个人之间的讨论,更能增加双方的学习兴趣。
第四周总结
7-1 统计一行文本的单词个数 (15 分)

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5

一、实验代码。

include<stdio.h>

int main(void)
{
char a [10000];
int i,num=0,word=0;
char c;
gets(a);
for(i=0;(c=a[i])!='';i++)
if(c' ')
word=0;
else if(word
0)
{
word=1;
num++;
}
printf("%d ",num);
return 0;
}
二、设计思路流程图。

原文地址:https://www.cnblogs.com/neir/p/10616409.html