zoukankan      html  css  js  c++  java
  • 2019 春第五次作业

    基础作业一

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

    输入格式:

    输入给出一行字符。

    输出格式:

    在一行中输出单词个数。

    输入样例:

    Let's go to room 209.

    输出样例:

    5

    (一)实验代码:

    #include<stdio.h>
    int main()
    {
        int i,number=0,count=0;
        char c,string[10000];
        gets(string);
        for(i=0;(c=string[i])!='';i++) /*只要没有结束符就一直循环下去*/ 
        if(c==' ')
        number=0;   /*有空格单词数为0*/ 
        else if(number==0){
        number=1; /*没有空格时单词数为1,再计数 */ 
        count++;
        }
        printf("%d
    ",count);
        return 0;
    }

    (二)设计思路

    (三)实验遇到的问题及解决方案

    在老师详细的讲解一维字符数组的定义及引用,加入字符串这个东西,本题一遍过。
    (四)运行结果截图

    基础题二

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

    输入格式:

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

    输出格式:

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

    输入样例:

    blue
    red
    yellow
    green
    purple
    #

    输出样例:

    red blue green yellow purple 

    (一)文件代码:

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    int main()
    {
        FILE *fp;
        int i;
        char input[21][20];
        char a[20];
        if((fp = fopen ("D:\yanghucai.txt","r+")) == NULL) 
        {
            printf ("File open error!
    ");
           
        }
            for(i=0;i<20;i++) {
            fscanf (fp,"%s",&input[i]);   //在文件中输入字符串数组
            if (input[i][0] == '&')
                break;
            }
            
         int len = i;
        for (i = 0; i < len; i++)      //计算字符串长度并进行比较 
        {
            for ( int j = 1; j < len - i; j++)
            {
                if (strlen(input[j - 1]) > strlen(input[j]))  //冒泡排序
                {
                    strcpy(a, input[j - 1]);
                    strcpy(input[j - 1], input[j]);
                    strcpy(input[j], a);
                }
            }
        }
        fprintf(fp,"
    ");
        for (i = 0; i < len; i++)
           fprintf (fp,"%s ",input[i]);
           if(fclose (fp) ){
               printf ("Can not close the file!
    ");
          
            }
            return 0;
    }

    (二)设计思路

    (三)实验遇到的问题

    纠正·结果截图

    第五周预习作业

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

    A int a, *x = a;

    B int a, *x = &a;

    Cint *x = &a, a;

    D int a, x = a;

    2-2 int *p 的含义是 (B)

    A p是一个指针, 用来存放一个整型数

    B p是一个指针, 用来存放一个整型数据在内存中的地址

    C p是一个整型变量

    D 以上都不对

    2-3 如果有定义:int m, n = 5, *p = &m; 与m = n 等价的语句是 (B)

    A m = *p;

    B * p = *&n;

    C m = &n;

    D m = **p;

    2-4 变量的指针,其含义是指该变量的( B)

    A 值

    B 地址

    C 名

    D 一个标志

    # 2-5 有如下程序段

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

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

    A 12

    B 11

    C 10

    D 编译出错

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

    void f(int *p)
    {
          *p = 5;
    }
    int main(void)
    {
          int a, *p;
    
          a = 10;
          p = &a;
          f(p);
          printf(“%d”, (*p)++);
    
          return 0;
    }

    A 5

    B 6

    C 10

    D 11

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

    #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;
    }

    A 5, 9

    B 6, 10

    C 5, 10

    D 6, 9

    感悟;本周学习了字符串与一维字符数组的区别、字符串的存储以及字符串的操作方法,对字符串数组还不太会用,还预习了指针,但是指针比较难

  • 相关阅读:
    FFT学习及简单应用(一点点详细)
    Codeforces 1131 (div 2)
    【NOI2012】魔幻棋盘
    【hdu多校联考第二场】Odd Shops
    【Helvetic Coding Contest 2018】B2. Maximum Control (medium)
    解线性同余方程组
    Math teacher's homework
    【NOIP模拟赛】一道挖掉背景的数学题
    逆向基础-模块隐藏之断链
    解决请求筛选模块被配置为拒绝包含的查询字符串过长的请求
  • 原文地址:https://www.cnblogs.com/songjiah/p/10619212.html
Copyright © 2011-2022 走看看