• 第三次作业


    作业要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2292

    第七次作业7-4查询水果价格

    #include<stdio.h>
    int main(void)
    {
      printf("[1] apple
    [2] pear
    [3] orange
    [4] grape
    [0] exit
    ");
        int a, k;
        for(a=0;a<=4;a++){
            scanf("%d",&k);
            if(k==0){
                break;
            }
            switch(k){
                case 1:printf("price = 3.00
    ");
                break;
                case 2:printf("price = 2.50
    ");
                break;
                case 3:printf("price = 4.10
    ");
                break;
                case 4:printf("price = 10.20
    ");
                break;
                default:printf("price = 0.00
    ");
                break;
            }
        }
        return 0;
    }

    第一步:将每个水果名称编号

    第二步:设定四次循环

    第三步:将输入编号的对应价格设为输出结果

    第四步:程序运行完毕,归零。

     出现的错误:运行超时

    调试如下:

    总结错因:未在每个步骤后加入终止指令导致程序无限循环。

    改正方式:在每个步骤后加入break;

    第八次作业8-1求奇数和

    #include<stdio.h>
    int main()
    {
      int num,a;
      for(;;){
      scanf("%d",&a);
      if(a<=0){
        break;
      }
      if(a%2!=0){
      num=num+a;
      }
      }
      printf("%d",num);
      return 0;
    }

    第一步:输入num,输入a

    第二步:判定,若a>0,进行下一步,若a<0,结束循环

    第三步: 判定,若a为奇数,num加和,否则直接进入下一循环

    第四步:循环结束,输出奇数和

    流程图如下:

     

    出现的错误:本题并未出现错误。

    注意:条件a>=0为a%2!=0的前提,一定要分清前后顺序。

    第十次作业  7-2猜数字游戏

    #include<stdio.h>
    int main()
    {
        int number, yournumber = 0, n, i = 0;
        scanf("%d %d", &number, &n);
        while(1)
        {
            scanf("%d",&yournumber);
            if(yournumber == number)
            {
                if(i == 0)
                {
                    printf("Bingo!");
                }
                else if(i > 0 && i < 3)
                {
                    printf("Lucky You!");
                }
                else
                {
                    printf("Good Guess!");
                }
                break;
            }        
            else if(yournumber > number)
            {
                printf("Too big
    ");
                i++;
            }
            else if(yournumber < number && yournumber >= 0)
            {
                printf("Too small
    ");
                i++;
            }
            if(i >= n || yournumber < 0)
            {
                printf("Game Over");
                break;
            }
            
        }
        return 0;
    }

     缩略图如下:

    第一步:输入要猜的数字,次数

    第二步:输入猜测的数字

    第三步:判定数字是否正确

    第四步:若正确,根据输入次数输出不同结果

    第五步:若错误,根据所猜数大小输出过大或过小的提示,若次数未用完进行下一循环,若次数用完或输入负数,则输出游戏结束

    出现错误:部分正确

    分析原因:由于结束语句与判定并列,导致循环时未经过该判定,导致系统不限制猜数次数。

    解决方案:36行else if改为if

    总结:通过这个月的学习,我发现要多加注意各个步骤的先后顺序和各个重要语句的优先性,现在的学习已经不止步于按照格式将代码罗列了,更要注意思考,发现规律。

     https://www.cnblogs.com/liuweiliuwei/p/10016885.html#4127450     刘伟

    https://www.cnblogs.com/asdfghjklasdfghjkl/p/10003892.html        孙成龙

    http://www.cnblogs.com/DX552ZYM557/   杜巽

  • 相关阅读:
    数组同时求极值
    约瑟夫环
    使用流迭代器,&nbsp;sort,&nbsp;co…
    Emacs 使用TAGS阅读源码
    Making Emacs Work For Me
    gnu libc 源码分享
    JavaSE 键盘事件类(KeyEvent)实现
    老子《道德经》第二十三章
    linux 系统没有默认的目录
    老子《首德经》第二十二章
  • 原文地址:https://www.cnblogs.com/dengwendi/p/10048569.html
Copyright © 2020-2023  润新知