• 第五周作业


    这个作业属于那个课程

    C语言程序设计II

    这个作业要求在哪里

    https://edu.cnblogs.com/campus/zswxy/computer-scienceclass4-2018/homework/2826

    我在这个课程的目标是

    熟悉指针

    这个作业在那个具体方面帮助我实现目标

    使用字符串来完成编程作业

    参考文献

    C语言程序设计II

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

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

    实验代码:

    #include<stdio.h>
    #define max 1000
    int main(void)
    {
     int count=0,flag=1;
     char str[max];
     char *p;
     gets(str);
     for(p=str;;p++)
     {
      if(*p=='')
       break;
      if(*p==' ')
       flag=1;
      if(*p!=' '&&flag==1)
      {
       count++;
       flag=0;
      }
     }
     printf("%d",count);
     return 0;
    }

    思路:

    碰到的问题及解决办法:

    问题:开始想的太简单;

    春第五周作业—预习
    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;
    }
    

     第五周基础题

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

    输入格式:

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

    输出格式:

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

    输入样例:

    blue
    red
    yellow
    green
    purple
    #
    

    输出样例:

    red blue green yellow purple 
    

    实验代码:

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

    思路:

    碰到的问题:

    问题:如何交换字符数据;

    解决办法:看书解决的。

    运行结果截图:

  • 相关阅读:
    SQL基础 union的用法
    VSCore的使用方法
    k8s——了解kubernetes机理
    电子科大啦
    19款程序员最爱的开发框架
    Exp1 PC平台逆向破解(5)M
    电子阅读
    Python学习记录:基础知识1
    WCF使用小结:(1)WCF接收HTTP POST数据的处理方法
    Linux配置经验总结:(3)禁用笔记本触摸屏
  • 原文地址:https://www.cnblogs.com/shigedidi/p/10623275.html
Copyright © 2020-2023  润新知