这个作业属于哪个课程:C语言程序设计
这个作业的要求:https://edu.cnblogs.com/campus/zswxy/computer-scienceclass3-2018/homework/2827
在这个课程的目标:更好的巩固字符串的相关知识点
这个作业在哪些方面帮助我:这个题目主要是字符串类型的题目
参考文献:C语言程序设计
1.实验代码
#include<stdio.h>
#include<string.h>
int main()
{
char a[888];/*定义一个数组*/
gets(a);/*得到字符串附给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
", j);/*输出*/
return 0;
}
2.设计思路
3.遇到的问题及解决方法
问题:(1)虽说这个问题与老师讲的有相似之处,都是与字符串相关的知识点,但感觉看了很多遍,思考了很久还是没有什么思路。
(2)有想法之后不知道是什么原因编译错误。
解决方法:自己查询资料,询问同学,上网查找。
4.运行结果截图
题目:英文单词排序
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。
1)通过以自己名字命名的文件输入英文单词,(2)英文单词输入的结束标记为你学号最后一位数+37所对应的ASCII字符。(例如:你的学号最后一位为9,则结束标记为9+37=46所对应的ASCII字符“.”)(3)在不删除原有内容的情况下,将排序后的单词输出到文件。
输入格式:
输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:
blue
red
yellow
green
purple
输出样例:
red blue green yellow purple
1.实验代码
#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]);
}
}
文本文档
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
FILE*fp;
char str[20][10],a[20],t[10];
int i,j,k,temp,index,n;
if((fp=fopen("C:\buxiu.txt","a+"))==NULL)
{
printf("File open error!");
exit(0);
}
for(i=0;i<20;i++)
{
fscanf(fp,"%s",&str[i]);
scanf("%s",&str[i]);
if(str[i][0]=='%')
break;
else
a[i]=strlen(str[i]);
}
for(k=0;k<i;k++)
{
index=k;
for(j=k+1;j<i;j++)
{
if(a[j]<a[index])
index=j;
}
temp=a[index];
a[index]=a[k];
a[k]=temp;
strcpy(t,str[index]);
strcpy(str[index],str[k]);
strcpy(str[k],t);
}
for(n=0;n<i;n++){
printf("%s ",str[n]);
}
for(n=0;n<i;n++)
{
fprintf(fp,"%s ",str[n]);
}
if(fclose(fp))
{
printf("Can not close the file!");
exit(0);
}
return 0;
}
2.设计思路
3.遇到的问题及解决方法
问题:不是很清楚应如何排序
解决方法:询问同学,一起商讨,自己上网查询
4.运行结果截图
预习作业
1.主要内容
密码开锁;地址和指针;指针变量;指针基本运算;指针变量的初始化;指针作为函数的参数等等
2.完成情况截图
3.预习中存在的疑惑
(1)有些知识点自己预习感觉还不是很懂
(2)有些知识点明白了做题还是会错
学习进度表
折线图
心得:砥砺前行,如何希望自己以后可以多抽一些时间学习C语言,这次耗时将近两个下午和一个晚上。
结对编程优缺点
优点:可以互相讨论,共同进步。
缺点:有时候会有意见分歧。