2019春第五周作业

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 2019春第五周作业
我在这个课程的目标是 能够学懂多维数组以及对函数的一些使用
这个作业在那个具体方面帮助我实现目标 strcpy函数的数组转换
参考文献 教材和视频

基础题:英文单词排序

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

输入格式:

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

输出格式:

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

输入样例:

blue
red
yellow
green
purple
#

输出样例:

red blue green yellow purple

编程代码:

#include <stdio.h> 
#include <string.h> 
int main(void) 
{
    char a[21][11]={'\0'}; 
    char b[11]={'\0'}; 
    int i,j; 
    while(1){
        scanf("%s",a[i]); 
        if (a[i][0]=='#')
            break; 
        i++; 
    }
    a[i][0]='\0';
    int count=i;
    for(i=0;i<count;i++) {
        for(j=1;j<count-i;j++) {
            if(strlen(a[j-1])>strlen(a[j])) {
                strcpy(b,a[j-1]); 
                strcpy(a[j-1],a[j]); 
                strcpy(a[j],b); 
            }
        }
    }
    for(i=0;i<count;i++){
	    printf("%s ",a[i]);
    }
    return 0; 
}

编程截图:

编程代码:

#include <stdio.h> 
#include <string.h>
#include <stdlib.h>
int main(void)
{
    FILE * fp; 
    char a[21][11]={'\0'}; 
    char b[11]={'\0'}; 
    int i,j;       //打开文件 
    if ((fp=fopen("E:\\Mozzie Chur3.txt","a+"))==NULL)
    {
        printf("File open error!\n");
        exit(0);
    }
        //读取文件中的数据直到'#'结束 
    while(1){
        fscanf(fp,"%s",a[i]);
        printf("%s\n",a[i]);
        if (a[i][0]=='#'){
            break;
        }
        i++; 
    }
    a[i][0]='\0';
    int count=i;
    for(i=0;i<count;i++){
        for (j=1;j<count-i;j++){
            if (strlen(a[j-1])>strlen(a[j])) {   //利用strcpy函数讲数组交换 
                strcpy(b,a[j-1]); 
                strcpy(a[j-1],a[j]); 
                strcpy(a[j],b); 
            }
        }
    }
    fprintf(fp,"\n");
    for(i=0;i<count; i++){    //读取储存区中的数据并打印到屏幕上 
        fprintf(fp,"%s\n",a[i]);
        printf("%s\n",a[i]);
    }   
        if(fclose(fp)){     //关闭文件 
        printf("Can not close the file!\n");
        exit(0);
    }
   
    return 0;
}

编程截图:

编程流程图:

预习题:

学习进度条:

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
3/4-3/9 6个小时 35行 学到了文件的创建,读取,输入 就是在读入文件的时候有点无法读取,输入文件的数据不正确
3/10-3/15 8个小时 48行 学习了一点二维数组 二维数组还有点不太明白
3/16-3/22 10个小时 38行 学习了数组的排序 对冒泡排序不是很懂
3/23-3/29 5个小时 46行 学习了一点strcpy函数 目前没有

总结&结对编程:这一周的作业感觉上没有很大的问题,但是对于预习题指针这一章还是看不太懂,看了视频感觉还是有点不懂,然后就说帮助吧,这次作业陶祥庭他对于文件打印到屏幕上不太懂,然后我帮助了一下他,教他运用调试,然后他发现了自己的一些错误,感觉这帮助我自己也学到了一些东西,也是通过看他使用strcpy函数,我才了解一点点。对于结对编程我自己没什么问题,另外一个人也没什么问题,所以基本上没什么交流。

posted @ 2019-03-29 19:05  Mozzie邱治文  阅读(186)  评论(0编辑  收藏  举报