zoukankan      html  css  js  c++  java
  • C语言第三次博客作业---单层循环结构

    一、PTA实验作业

    题目1:

    1.实验代码

    int N,i;//N为用户数,i为循环变量
    double high1,high2;//用high1表示输出变量,用high2表示输变量
    char ch;
    scanf("%d",&N);
    for(i=1;i<=N;i++){
    scanf(" %c%lf",&ch,&high2);
    switch(ch){
    case 'F':
    high1 = 1.09*high2;
    break;
    case 'M':
    high1 = high2/1.09;
    break;
    }
    printf("%.2f ",high1);
    }
    return 0;

    2.设计思路

    • 第一步:首先定义整型变量N,i,双精度浮点型变量height1,height2,字符型变量ch。
    • 第二步:输入N的值,给出循环的次数。
    • 第三步:利用for语句进行循环,并输入用户的男女性别和其身高。
    • 第四步:用公式(女方的身高)×1.09 =(男方的身高),计算出对应情侣的身高,并再次循环。
    • 第五步:输出对应情侣的身高。

    3.本题调试过程碰到问题及解决办法

    • 这题我纠结了很久,因为输入并不像PTA题目中的一样,可以直接输入俩人的身高,而是输出一个便输入一个,我想了很久,只能去问舍友,然后他告诉我不是像题目中所说的,就是输入一个输出一个,然后重新写了一遍代码,就对了。


    4.本题PTA提交列表

    题目2:

    1.实验代码

    int a,b,n,s,i;//b为每次循环所需要加的数 
    i=1;s=0;b=0;
    scanf("%d %d",&a,&n);
    while(i<=n){
    	b=b*10+a;
    	s=s+b;
    	i++;
    }
    printf("s = %d",s);
    return 0;
    

    2.设计思路

    • 第一步:定义变量a,b,n,s,i。
    • 第二步:给i赋值为1,再分别把b和s的值归零,并输入a和循环的次数n。
    • 第三步:进入循环计算a+aa+aaa++.....++aaaaa(n个a)之和,并把值赋予s,i加一防止进入死循环。
    • 第四步:输出计算得出得结果s。

    3.本题调试过程碰到问题及解决办法

    • 因为本题比较简单所以没有遇到什么问题。









    4.本题PTA提交列表

    题目3:

    1.实验代码

    int i,n,count,min;//n代表次数,count存放输入得数字,min存放最小得数字。
    scanf("%d",&n);
    i=1;
    if(n>1){
    do{scanf("%d",&count);
    if(min>count)
    min=count;
    i++;
    }while(i<=n);}
    else
    {scanf("%d",&count);
    min=count;}
    printf("min = %d",min);
    return 0;

    2.设计思路

    • 第一步:定义变量i,n,count,min。
    • 第二步:输入变量n,给出循环得次数,比较n的值与1的大小关系。
    • 第三步:进入循环,比较min和count中更小的数字,再把小的数字存入min中,i加一,防止进入死循环。
    • 第四步:如果n小于1的话输入的count就为最小值,再把小的数字存入min中,输出最小值min。

    3.本题调试过程碰到问题及解决办法

    • 本题主要遇到的问题是第一次打代码的时候没有想到n=1的情况,所以只有部分正确,然后在提交过后题目给出的提示是没有考虑n=1的情况,所以我就在循环语句外面加了一个判断语句,最后输出了正确的结果。

    4.本题PTA提交列表

    题目4:

    1.实验代码

    int number,yournumber,i,N; //number表示系统随机产生数,yournummber表示猜的数,N控制循环次数
    scanf("%d%d",&number,&N);
    for(i=1;i<=N;i++){
    scanf("%d",&yournumber);
    if(yournumber<0) {printf("Game Over");break;}//判断输入数字的正负
    else if(yournumber>number) printf("Too big ");
    else if(yournumber<number) printf("Too small ");
    else if(yournumbernumber&&i1) {printf("Bingo!");break;}
    else if(yournumbernumber&&i>1&&i<=3) {printf("Lucky You!");break;}
    else if(yournumber
    number&&i>3) {printf("Good Guess!");break;}}
    if(yournumber!=number&&i>N) printf("Game Over");
    return 0;

    2.设计思路

    • 第一步:定义变量 number,yournumber,i,N。
    • 第二步:输入变量number和N的值,number表示系统随机产生数,N控制循环次数。
    • 第三步:进入循环语句判断输入的数与系统随机产生数的大小,如果在第一次就猜中就输出Too big,在前三次猜中就输出Lucky You!,在规定次数内猜中就输出Good Guess!,如果太大就输出Too big,太小就输出Too small,在游戏次数超过或者输入超出范围就输出Game Over。

    3.本题调试过程碰到问题及解决办法

    • 本题所碰到的困难主要在Too big和Too small后面的“ ”换行符上,之前没有打入换行符一直都是部分正确,检查了很多遍也都没有发现错误的所在,然后在同学的指点下,改正了错误,他一下就找到了,是因为他和我的错误一样。

    4.本题PTA提交列表

    二、截图本周题目集的PTA最后排名。

    三、本周学习总结

    1.你学会了什么?

    • 本周学会了蛮多东西的,学习了循环嵌套的语句,认识到了循环内还可以循环,感觉到了代码真的是一个非常神奇的东西,可以用一个简短的程序打出九九乘法表,杨辉三角;学会了如何用调试来检查自己的错误,并改正自己的错误,现在发现调试非常好用,特别是对于细节性的错误。

    2.本周的内容,你还不会什么?

    • 循环嵌套语句,虽然是学了,但是还是带点朦胧感,有些题目很快就能解决,有些题目想了很久都无法解决,有前面的细节性的内容会忘记,简言之就是不熟,希望能忙完这一阵子,能真正的静下心来学习。

    3.分支结构上机考试总结。

    • 对于上周的上机考试,我对自己的成绩是不满意的:
      • 第一:所有的题目没有全对,卡在最后一道题目上。
      • 第二:最后一道题目的错误在于scanf的输入格式没有和题目所给出的一样,检查了很久,又碍于自己能行的强大信念,一直卡了20分钟,直到下课铃响。
      • 第三:总而言之就是:不仔细,不细心;这总低级错误,我定要将它避免,深刻的体会到了细节决定成败!!!
    • 虽然一次考试不能代表什么,但是可以反映出我这段时间的学习情况,一般情况下都是对着书打代码,以至于我的细节上的漏洞在平时无法体现,到了考试就凸显,从考试后的每一次作业我都尽力去不借助书的帮助,自己打出正确的代码。
  • 相关阅读:
    Triangle
    Pascal's Triangle II
    Pascal's Triangle
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
    [c++]this指针理解
    [oracle]一个最简单的oracle存储过程"proc_helloworld"
    Oracle 的 INSERT ALL和INSERT FIRST
    Linux2.6 内核的 Initrd 机制解析
    /boot/grub/menu.lst详解
  • 原文地址:https://www.cnblogs.com/bigll666/p/7766678.html
Copyright © 2011-2022 走看看