zoukankan      html  css  js  c++  java
  • 第五周学习总结

    这个作业属于哪个课程 C语言程序设计Ⅱ
    这个作业要求在哪 https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2824
    我在这个课程的目标 能够进一步巩固之前学过的知识
    这个作业让我在哪个方面具体帮助我实现了目标 字符串的运用
    参考文献 C语言程序设计

    7-1 统计一行文本的单词个数 (15 分)

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

    输入格式:

    输入给出一行字符。

    输出格式:

    在一行中输出单词个数。

    输入样例:

    Let's go to room 209.

    输出样例:

    5

    实验代码

    #include <stdio.h>
    int main()
    {
        int i=0, count=0;
        char str[1001];
        gets (str);
        while (str[i]==' ')
              i++;
        while (str[i]!='')
        {
            if (str[i]!=' ')
            {
                count++;
                while (str[i]!=' ')
                {
                    if (str[i]=='')
                       break;
                    i++;
                }
            }
            else
            {
                while (str[i]==' ')
                    i++;
            }
        }
        printf ("%d
    ",count);
        return 0;
    }

    设计思路

    3.本题调试中遇到的问题及解决办法

    4,运行结果截图

    7-1 英文单词排序 (25 分)

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

    输入格式:

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

    输出格式:

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

    输入样例:

    blue
    red
    yellow
    green
    purple
    #

    输出样例:

    red blue green yellow purple

    实验代码

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

    改写成文件格式

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    int main(void)
    {
        FILE *fp;
        char a[21][11] = { '' };
        char s[11] = { '' };
        int i, j = 0, len;
        
        fp=fopen("D:\tzw.txt","a+");
            
        while (1) {   
            scanf("%s", a[i]);
            fscanf(fp,"%s", &a[i]);
            
            if (a[i][0] == ',')
                break;
            i++;
        }
        len = i; 
        for (i = 0; i < len-1; i++)
        {
            for (j = i; j < len - i-1; j++)
            {
                if (strlen(a[j - 1]) > strlen(a[j]))
                {
                    strcpy(s, a[j - 1]);
                    strcpy(a[j - 1], a[j]);
                    strcpy(a[j], s);
                }
            }
        }
        
        for (i = 0; i < len; i++)
            printf("%s ", a[i]);
            
        fprintf(fp,"
    ");
        
        for(i = 0; i < len; i++)
            fprintf(fp,"%s ", a[i]);
            
        fclose(fp);
    
        return 0;
    }

    设计思路

    3.本题调试中遇到的问题及解决办法

    问题一堆,在使用for循环语句中没打大括号输出字符数组和在文件中输出字符数组时,程序只执行了前一步,导致文件没有输出来。

    4,运行结果截图

    选择题

    2-1

    下列语句定义 x 为指向 int 类型变量 a 的指针,正确的是()。 (2分)

    作者: 张泳
    单位: 浙江大学城市学院
    2-2

    int *p 的含义是 (2分)

    作者: 李廷元
    单位: 中国民用航空飞行学院
    2-3

    如果有定义:int m, n = 5, *p = &m; 与m = n 等价的语句是 () 。 (1分)

    作者: 张泳
    单位: 浙江大学城市学院
    2-4

    变量的指针,其含义是指该变量的( )。 (1分)

    作者: 张泳
    单位: 浙江大学城市学院
    2-5

    有如下程序段

    int *p,a=10,b=1;
    p=&a; a=*p + b;
    

    执行该程序段后,a的值是 (2分)

    作者: 李廷元
    单位: 中国民用航空飞行学院
    2-6

    对于下列程序,正确的是() 。 (2分)

    void f(int *p)
    {
          *p = 5;
    }
    int main(void)
    {
          int a, *p;
    
          a = 10;
          p = &a;
          f(p);
          printf(“%d”, (*p)++);
    
          return 0;
    }
    
    作者: 张泳
    单位: 浙江大学城市学院
    2-7

    执行如下程序段,打印输出的内容是: (2分)

    #include <stdio.h>
    void fun (int c, int *d) {
        c++;
        (*d)++;
    }
    int main ( ){
        int a=5, b=9;
        fun(a, &b);
        printf("%d, %d", a, b);
        return 0;
    }
    
    作者: 周强
    单位: 青岛大学

     结对编程:

    两个人对编写程序的熟练度都不高,也很容易出现一些小问题,或者根本就不知道某些地方该怎么写,后来向大佬求助,才慢慢的到好转,总体来说还可以。

    学习进度条

      周/日期 这周所花时间 代码行数 学到的知识点 目前比较疑惑的问题
    第一题 3,26-3,27 3h 25行 字符串的运用 二维数组的运用
    第二题 3,26-3,28 5h 38行 strcpy语句的用法 +1
  • 相关阅读:
    LoadRunne遇到的一些问题FAQ(持续更新...)
    LoadRunner11下载、安装与破解
    LoadRunner之录制你的第一个脚本
    appium+Linux环境安装配置
    appium-FAQ(持续更新...)
    appium启动运行log分析
    利用Unity3D与Oculus实现机器情绪安抚师的一种方案
    利用Unity3D实现多平台增强现实网络游戏的一种方案
    Ubuntu16.04安装NVIDIA驱动时的一些坑与解决方案
    你的计算机也可以看懂世界——十分钟跑起卷积神经网络(Windows+CPU)
  • 原文地址:https://www.cnblogs.com/tzw1026/p/10620941.html
Copyright © 2011-2022 走看看