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

    2019第五周作业

    2019年春季学期第五周作业


    课程名称:c语言程序设计Ⅱ
    |--|:--
    |作业要求|第五周作业|
    |我的课程目标|学会使用字符数组和字符串|
    |这个作业在哪个方面帮助我实现目标|加深使用C语言|
    |参考文献|课本c语言程序设计Ⅱ|

    基础作业一

    ###7-1 统计一行文本的单词个数 (15 分)
    本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
    输入格式:
    
    输入给出一行字符。
    输出格式:
    
    在一行中输出单词个数。
    输入样例:
    
    Let's go to room 209.
    输出样例:
    
    5
    

    (1)实验代码

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

    (2)设计思路

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

    问题1:不太清楚get char与gets的区别
    解决方法:翻书看,get char表示从标准输入文件读入一个字符,而gets表示读入一串字符

    (4)运行结果截图

    ##作业二
    

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

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

    输入格式:

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

    输出格式:

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

    输入样例:

    blue
    red
    yellow
    green
    purple

    输出样例:

    red blue green yellow purple

    ####(1)实验代码
    

    include <stdio.h>

    include <string.h>

    main()
    {
    char str[20][10],t[20],str1[10];
    int i,j,n=0;
    while(1)
    {
    scanf("%s",str1);
    if(str1[0]=='#')
    {
    break;
    }
    else
    {
    strcpy(str[n],str1);
    n++;
    }
    }
    for(i=0;i<n-1;i++)
    for(j=0;j<n-i-1;j++)
    {
    if(strlen(str[j])>strlen(str[j+1]))
    {
    strcpy(t,str[j]);
    strcpy(str[j],str[j+1]);
    strcpy(str[j+1],t);
    }
    }
    for(i=0;i<n;i++)
    {
    printf("%s ",str[i]);
    }
    }

    ####(2)设计思路
    
    ####(3)实验遇到的问题及解决方案
    问题1:第一次 遇到strcpy,不知道它的含义及用法
    解决方法:查资料上百度大概了解了它的用法
    
    ####(4)运行结果截图
    ![](https://img2018.cnblogs.com/blog/1580433/201903/1580433-20190329200342405-1335196031.png)
    
    
    

    作业三

    ###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
    
  • 相关阅读:
    百度之星资格赛1001——找规律——大搬家
    HDU1025——LIS——Constructing Roads In JGShining's Kingdom
    DP(递归打印路径) UVA 662 Fast Food
    递推DP UVA 607 Scheduling Lectures
    递推DP UVA 590 Always on the run
    递推DP UVA 473 Raucous Rockers
    博弈 HDOJ 4371 Alice and Bob
    DFS(深度) hihoCoder挑战赛14 B 赛车
    Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2)
    DP(DAG) UVA 437 The Tower of Babylon
  • 原文地址:https://www.cnblogs.com/ai010/p/10623681.html
Copyright © 2011-2022 走看看