zoukankan      html  css  js  c++  java
  • 第五周作业

    预习作业


    看了视频后,还是对指针不是很理解

    7-1 统计一行文本的单词个数 (15 分)
    本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。

    输入格式:
    输入给出一行字符。

    输出格式:
    在一行中输出单词个数。

    输入样例:
    Let's go to room 209.
    输出样例:
    5

    (1)实验代码

    #include<stdio.h>  
    int main()  
    {  
        char str[1001];  
        gets(str);  //输入字符串
        int flag=0;  
        int n=0;  
        while(str[n]==' ') //如果开头有空格的话就会跳过开头的空格,并且n会增加 
            n++;  
        while(str[n]!='')  //直到读取到跳出循环
        {  
            if(str[n]!=' ') //如果是空格,每个空格都会跟着一个单词,但不一定只有一个空格
            {   
                flag++;  
                while(str[n]!=' ') //跳过一个空格后的所有空格
                {  
                    if(str[n]=='')  //如果出现说明到达末尾直接结束break跳出while循环
                        break;  
                    n++;      
                }  
            }  
            else  
            {  
                while(str[n]==' ' )  
                    n++;      
            }  
        }  
        printf("%d
    ",flag);  
        return 0;
    }
    

    (2)设计思路

    (3)问题及解决办法
    这题开始没有思路,看了一下书和别人的代码,知道了大概,要特别注意空格的判断和输出
    (4)运行结果截图

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

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

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

    输入样例:
    blue
    red
    yellow
    green
    purple

    输出样例:
    red blue green yellow purple

    (1)实验代码(文件)

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    int main(void)
    {
    FILE *fp; 
    char str[20][10],m[20],a[10];
    int i,j,n=0;
    if((fp=fopen("E:\pengcande.txt","a+"))==NULL)
        {
            printf("File open error!
    ");
            exit(0);
        }
    while(1)
    {
        fscanf(fp,"%s",a);
        if(a[0]=='#')
        {
            break;
        }
        else
        {
        strcpy(str[n],a);
        n++;
        }
    }
    for(i=0;i<n;i++)
        for(j=0;j<n-i-1;j++)
        {
            if(strlen(str[j])>strlen(str[j+1]))
            {
               strcpy(m,str[j]);
               strcpy(str[j],str[j+1]);
               strcpy(str[j+1],m);
            }
        }
    for(i=0;i<n;i++)
    {
        printf("%s ",str[i]);
        fprintf(fp,"%s ",str[i]);
    }
    if(fclose(fp)){
            printf("Can not close the file!
    ");
            exit(0);
        }
    return 0;
    }
    

    (2)设计思路

    (3)问题及解决办法
    问题:不知道strcpy,strlen,#include<string.h>是什么意思
    解决办法:后面百度一下strcpy是字符串复制 strlen计算字符串长度 #include<string.h>处理字符串的头文件
    还有这题不是很懂,没有很理解,也是在别人的帮助下完成的,希望老师可以在课堂上讲一下
    (4)运行结果截图

    学习进度:

    这周的作业有困难,很多知识不知道,导致写不出来题目,还是要自己多预习和复习,才能掌握好。
    结对编程感悟:结对编程还是可以的,可以相互学习互相帮助,找到自己的不足。

  • 相关阅读:
    蛙蛙推荐:改进了一个DBAccess类,顺便说说啥是线程安全
    蛙蛙推荐:SQLServer优化资料整理
    快速配置Eclipse3.1.1+Tomcat5.0+Lomboz dodo
    建立asp.net应用程序提示:无法与服务器建立连接 dodo
    tomcat连接sqlserver配置 dodo
    如何让DNN页面中的html控件中的文本项显示为中文? dodo
    DropDownList 不能有多个项被选定 dodo
    转换DATAREADER为 dataset dodo
    使用ComponentArt.WebUI.for.Asp.net.3.0的TreeView控件 dodo
    ASP.NET的WEB项目不能添加WEB用户控件的解决 dodo
  • 原文地址:https://www.cnblogs.com/cc82/p/10621297.html
Copyright © 2011-2022 走看看