zoukankan      html  css  js  c++  java
  • 第七周

    这个作业属于哪个课程 C语言程序设计2
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2935
    我的课程目标 运用指针·调用函数和删除字符
    这个作业在哪个具体方面帮助我实现目标 用函数解决问题
    参考文献 https://zhidao.baidu.com/question/130073455.html

    第一题

    6-2 每个单词的最后一个字母改成大写 (10 分)

    代码

    void fun( char *p )
    {
      int i;
      for(i=0;p[i]!='';i++)
      {
        if(p[i+1]==' ')      
        p[i]=p[i]-32;  
      }
    }
    

    思路


    问题

    第二题

    7-2 自动售货机 (30 分)

    代码

    #include<stdio.h>
    int main(void)
    {
      char a[10][20] = {"Table-water","Table-water","Table-water","Coca-Cola","Milk","Beer","Orange-Juice","Sprite","Oolong-Tea","Green-Tea"};
      int b[11] = {0};
      int c[100];
      int i=1, k,sum=0,money,amount=0,change;
      
      scanf("%d",&money);
      for(;money!=-1;)
      {
        sum = sum + money;
        scanf("%d",&money);
      }
      
      scanf("%d",&c[i]);
      for(;c[i]!=-1;)
      {
        switch(c[i])
        {
          case 1: case 2: case 3:amount=amount+1;break;
          case 4: case 5: amount=amount+2;break;
          case 6: case 7: case 8: amount=amount+3;break;
          case 9: case 10: amount=amount+4;break;
          default:break;
        }
        i++;
        scanf("%d",&c[i]);
      }
      change = sum-amount;
      i = 1;
      while(c[i]!=-1)
      {
        switch(c[i])
        {
          case 1: b[1]++;break;
          case 2: b[2]++;break;
          case 3: b[3]++;break;
          case 4: b[4]++;break;
          case 5: b[5]++;break;
          case 6: b[6]++;break;
          case 7: b[7]++;break;
          case 8: b[8]++;break;
          case 9: b[9]++;break;
          case 10: b[10]++;break;
          default:break;
        }
        i++;
      }
        if(amount>sum)
          printf("Insufficient money");
      if(amount<sum)
      {
        printf("Total:%dyuan,change:%dyuan
    ",sum, change);
        for(i=1; i<=10; i++)
        {
          if(b[i]==0)
            continue;
          else
          {
            printf("%s:%d;",a[i-1],b[i]);
          }
        }
      }
      
      return 0;
    }
    

    思路



    开始我想调用函数,可写了一半不会写了,之后我问了别人,手可一用swith函数写,

    但我的问题来了怎么数出东西和数量呢,之后我明白了要用三个数组来写

    第三题

    7-1 使用函数删除字符串中的字符 (10 分)

    代码

    #include<stdio.h>
    void delchar(char *str, char c)
    {
        int p,l=0;
        for(p=0;str[p]!='';p++){
            if(str[p]!=c){
                str[l]=str[p];
                l++;
            }
        }
        str[l]='';
    }
    int main(void)
    {
        int repeat,i;
        char str[100],c;
        scanf("%d
    ",&repeat);
        for(i=1;i<=repeat;i++){
            gets(str);
            c=getchar();
            delchar(str,c);
            printf("result: %s
    ",str);
        }
        return 0;
    }
    

    思路

    问题

    此题我不会写,是看着别人的写出来的,我想知道的是为神么要用getchar这个

    原来是为消除输入回车键带来的影响,保护字符串

    周/日期 这周所花时间 代码行数 学到知识点 目前比较迷惑的问题
    4/8-4/12 一整天 101 指针和函数 指针的运用和函数的调用

    5学习感悟

    这次的作业好难的,因此我知道自己还缺乏对其他函数的认识

    六、结对编程感想

    在一写问题上也可以互相讨论,代码可能会相似

  • 相关阅读:
    ubuntu android jdk问题
    android adb ubuntu问题
    常用命令
    svn info
    TaskRecord分析
    moveTasktoBack 把当前任务放入后台
    WatchDog机制
    双系统安装
    制作安装U盘
    android 小游戏 ---- 数独(二)
  • 原文地址:https://www.cnblogs.com/huangxing123/p/10697965.html
Copyright © 2011-2022 走看看