c语言第三次博客作业

本文分享了四个C语言编程练习题的实现代码与设计思路,包括性别身高计算、数字序列求和、最小值查找及猜数字游戏等,同时总结了for、while循环的应用技巧及调试经验。

一、PTA实验作业!

题目1

1.实验代码

    int n;
    char sex;
    double height;
    scanf("%d",&n);
    for (int i=0;i<n;i++) {
        scanf("\n%c%lf",&sex,&height);
        if (sex=='M')
            printf("%.2f\n",height/1.09);
        else if(sex=='F') 
            printf("%.2f\n",height*1.09);
        else printf("Error");
    }

2.设计思路

-1.定义一个整型变量n表示用户数,定义一个字符型变量sex表示性别,定义一个浮点型变量height表示身高。
-2.输入用户数n。定义一个初始值为1的整形变量i。
-3.输入性别和身高。
-4.如果是女性,输出height*1.09;如果是男性,输出身高/1.09;其余输出Error。i+=1。
-5.重复步骤4,直到 i==n 。

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

-答案错误1233778-20171102213308388-848708146.png
经过调试发现回车作为字符型变量被输入到sex中.1233778-20171102173026216-1329640196.png

4.PTA提交列表

1233778-20171102172229060-1724691287.png

题目2

1.实验代码

int a,n,sum=0,flag=1;
    scanf("%d %d",&a,&n);
    for(int i=1;i<=n;i++)
    {
        sum=sum+a*flag;
        flag=10*flag+1;
    }
    printf("s = %d",sum);

2.设计思路

-1.定义整型变量n表示项数,数值a,sum储存各项和,flag辅以计算各项值.
-2.输入a和n.定义一个初始值为1的变量i.
-3.累加各项sum=sum+(aflag).
-4.flag=10
flag+1.
-重复步骤3和4,直到 i==n+1.
-输出最后的值sum.

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

-无问题1233778-20171102223351904-821180808.png

4.PTA提交列表

1233778-20171102215808123-1912007275.png

题目3

1.实验代码

    int n,num,min;
    scanf("%d",&n);
    scanf("%d",&num);
    min=num;
    for(int i=1;i<=n-1;i++){
        scanf("%d",&num);
        if(num<min) min=num;
    }
    printf("min = %d",min);

2.设计思路

-1.定义整型变量n表示输入次数,num储存输入的数,min储存最小值.
-2.输入第一个整数num并赋值给min.
-3.输入整数num
-4.如果num<min将num赋值给min.
-5.重复步骤3.4,直到 i==n.
-输出最小值min.

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

-无问题

4.PTA提交列表

1233778-20171102221301341-1632521117.png

题目4

1.实验代码

    int N,mynumber,yournumber,count=0;
    scanf("%d %d",&mynumber,&N);
    while(count<N){
        scanf("%d",&yournumber);
        count++;
        if(yournumber<0) break;
        if(yournumber>mynumber) printf("Too big\n");
        else if(yournumber<mynumber) printf("Too small\n");
        else{
            if(count==1) printf("Bingo!");
            else if(count<=3) printf("Lucky You!");
            else printf("Good Guess!");
            return 0;
        }
    }
    printf("Game Over");
    return 0;

2.设计思路

-1.定义变量N表示最大猜测次数,mynumber表示系统随机数,yournumber表示用户输入的数.count储存已猜测次数(初始值为0).
-2.输入系统数.
-3.用户输入猜测的数字,如果yournumber<0,结束循环,增加一次已猜测次数count++.
-4.如果yournumber>mynumber,输出Too big;如果yournumber<mynumber输出Too small.
-5.如果yournumber=mynumber,判断已猜测次数.只猜一次时,输出Bingo;猜三次以内时,输出Lucky you;否则输出Good Guess.结束程序.
-6.重复步骤3.4,直到达到最大猜测次数(count==N).
-7.输出Game Over

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

-答案错误,具体忘了...
-修改代码,

4.PTA提交列表

1233778-20171102223703513-57082678.png

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

1233778-20171102224058185-53315826.png

三、本周学习总结

1.你学会了什么?

  • 学会了for语句,while语句和do while语句的用法且能够交叉应用于循环嵌套中。
    如对于有限次的循环可以使用for语句。
    而while语句更适合循环次数未知的循环。
    do while语句则能利用其至少会进入一次循环的特性解决一些特殊情况
  • 知道了可以在字符型变量的输入前加个空格处理回车,空格之类的符号,以防输入的不是预计的字符。
  • 渐渐熟悉如何调试以及如何通过调试找出问题。
  • 学会了利用值的交换解决排序问题。
  • 可以定义一个辅助变量来帮助达成一些目的。

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

  • 内容上都有了大致的理解。希望对于同一题型能有多样的,灵活的解答。
  • 还要多熟悉对嵌套循环的使用,以求能更快地想出解题思路。

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

  • 最后一题没将加油量定义为浮点型变量,但以为错误在别的地方,导致该题做了快一个小时还是不能满分.

posted on 2017-11-02 22:53 嗡嗡_嗡 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/wu98/p/7773366.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值