第三次作业

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

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

#include<stdio.h>
int main(void)
{
  printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n");
    int a, k;
    for(a=0;a<=4;a++){
        scanf("%d",&k);
        if(k==0){
            break;
        }
        switch(k){
            case 1:printf("price = 3.00\n");
            break;
            case 2:printf("price = 2.50\n");
            break;
            case 3:printf("price = 4.10\n");
            break;
            case 4:printf("price = 10.20\n");
            break;
            default:printf("price = 0.00\n");
            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\n");
            i++;
        }
        else if(yournumber < number && yournumber >= 0)
        {
            printf("Too small\n");
            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/   杜巽

posted @ 2018-12-01 10:31  浮生尽  阅读(188)  评论(9编辑  收藏  举报