前言
这个作业属于哪个课程 C语言程序设计
这个作业的要求在哪儿 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass3-2018/homework/2827
在这个课程的目标 练习字符串
这个作业在哪些方面帮助我 字符串类型
参考文献 教材 C语言程序设计
<英文单词排序>
1.实验代码
include <stdio.h>
include <string.h>
int main()
{
char str[20][10],a[20],t[10];/二维数组前面控制的是输入的行数,后面控制的是单词的字母个数/
int i,j,k,temp,index,n;
for(i=0;i<20;i++)/i:单词个数/
{
scanf("%s",&str[i]);
if(str[i][0]=='#')
break;
else
a[i]=strlen(str[i]);
}
for(k=0;k<i;k++)/轮数/
{
index=k;/index用来存放最小值所在的下标/
for(j=k+1;j<i;j++)/j:寻找最小值的所在下标,即移动指标/
{
if(a[j]<a[index])
index=j;
}
temp=a[index];
a[index]=a[k];
a[k]=temp;
strcpy(t,str[index]);/strcpy:字符串复制函数/
strcpy(str[index],str[k]);
strcpy(str[k],t);
}
for(n=0;n<i;n++){
printf("%s ",str[n]);
}
return 0;
}
文本文档
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:\wtt.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.运行截图
<统计一行文本的单词个数>
题目:https://pintia.cn/problem-sets/1107472041692848128/problems/1107472280310996992
1.实验代码
include<stdio.h>
include<string.h>
int main()
{
int a,i,count;
char str[1000];
gets(str);
a=strlen(str);
if(str[0]' ')
count=0;
else
count=1;
for(i=0;i<a-1;i++)
{
if(str[i]' '&&str[i+1]!=' ')
count++;
}
printf("%d",count);
return 0;
}
3.遇到问题及解决方案
问题:空格问题
解决问题:课堂上听老师的讲解。
<预习作业>
1.主要内容
密码开锁;地址和指针;指针变量;指针基本运算;指针变量的初始化;指针作为函数的参数等等。
3.存在的疑惑
冒泡排序
周/日期 这周所花时间 代码行 学到知识点简介 目前比较疑惑问题
3/22-3/29 5天 100 单词排序、指针变量初始化以及其基本运算、strcpy函数、gets函数 最大字数组矩阵排序以及指针变量的运算与初始化的具体操作
累积代码行和博客字数
时间 博客字数 代码行数
第一周 200 40
第二周 250 70
第三周 300 70
第四周 350 90
第五周 400 100
学习感悟:对于strcpy函数以及gets函数的学习有些困难
难点:冒泡排序法
解决方法:上网查寻
结对编程
优点:有利于思维逻辑的更好展开;有利于相互借鉴、资源的互用;有利于同伴默契的提高。
缺点:有时我们一起遇到问题,有点容易放弃。
心得:思维逻辑不太好,还是需要加强题目的练习。
挑战作业:思路主要是把二维数组拆成一维数组进行行、列比较,但我不知道要怎样去合成最后的那个矩阵。