格式
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass1-2018/homework/2828
我在这个课程的目标是 完全掌握数组
这个作业在那个具体方面帮助我实现目标 学会用代码对英文单词进行排序
参考文献 在课堂结束时拍下课件内容
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
include
include
int main()
{
int i,c=0;
char a[10000];
gets(a);
if(a[0]==' ')
c=0;
else
c=1;
for(i=0;a[i]!='\0';i++)
{
if(a[i]==' ' && a[i+1]!=' ' && a[i+1]!='\0')
{
c++;
}
}
printf("%d\n",c);
return 0;
}
输入格式:
输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:
blue
red
yellow
green
purple
输出样例:
red blue green yellow purple
博客园附加要求:
(1)通过以自己名字命名的文件输入英文单词
(2)英文单词输入的结束标记为你学号最后一位数+37所对应的ASCII字符。(例如:你的学号最后一位为9,则结束标记为9+37=46所对应的ASCII字符“.”)
(3)在不删除原有内容的情况下,将排序后的单词输出到文件。
include
include
include
int main()
{
FILE*fp;
int i,j,index,n,c;
char s1[21][11],temp[11];
n=0;
if((fp=fopen("c:\text\JCclub\txt","a+"))==NULL
{
printf("File open error!\n");
exit(0);
}
while(1)
{
scanf("%s",s1[n]);
if(s1[n][0]=='#')
{
break;
}
n++;
}
s1[n][0]='\0';
for(i=0;i
for(j=0;j
if(strlen(s1[j])>strlen(s1[j+1])) //strlen检测字符长度//
{
strcpy(temp,s1[j]);
strcpy(s1[j],s1[j+1]);
strcpy(s1[j+1],temp);
}
}
}
for(i=0;i
fprintf(fp,"%s ",s1[i]);
}
fprintf(fp,"*",c);
if(fclose(fp)){
printf("Can not close the file!\n);
exit(0);
}
return 0;
}
问题,for语句中初始值不一样;
解决方法,dev进行调试,初始化值更换;
周/日期 这周所用时间 代码行 学到的知识点简介 目前比较迷惑的问题
3/9-3/15 12小时左右 240左右 二维数组 对矩阵的上下三角形的一些规律,运用的不熟练
3/16-3/22 8小时左右 200左右 选择排序法 对题目进行思路分析不够全面
3/23-3/29 10小时30分钟左右 在定义指针变量时需要使用指针声明符 * ,但指针声明符并不是指针的组成部分 指针变量的初始化