博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言第三次博客作业---单层循环结构
阅读量:5112 次
发布时间:2019-06-13

本文共 3398 字,大约阅读时间需要 11 分钟。

一,PTA实验作业

题目一

1.代码

int N,i;    double  h;       //h定义身高    char sex;           //sex代表性别    scanf("%d",&N); //N代表查询的用户数    for(i=0;i

2.设计思路

  • (1)定义浮点型变量h代表身高,字符型变量sex代表性别,“F”表示女性、“M”表示男性
  • (2)输入前来查询的用户数N
  • (3)输入性别和身高
  • (4)如sex=='F',输出最佳情侣身高(h*1.09),结果保留两位小数
  • (5)如sex=='M',输出最佳情侣身高(h/1.09),结果保留两位小数
  • (6)如果i<N,循环(3),直到i>=N

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

    1232142-20171030203821668-798950407.jpg

1232142-20171030203836605-196401219.png

  • (1)在scanf输入时%c前面未用空格间隔开,导致在输出时回车键被当作数据吸收了,后来看群里面有同学提出来,长知识了。

    4.本题PTA提交列表

    1232142-20171030204315918-1985632581.png

题目二

1.代码

int a,n,s,i,sum;  //n代表n个a,sum用来存放第I项的数值,s用来存放总数值    scanf("%d%d",&a,&n);    s=0;    sum=0;    for(i=1;i<=n;i++){     sum=sum*10+a; //表示各项的和     s=s+sum;           //表示总和

2.设计思路

  • (1)定义变量a,n,s,i,sum,n代表n个a,sum用来存放第I项的数值,s用来存放总数值
  • (2)初始化s=0;sum=0;
  • (3)输入a,n;
  • (4)i<=n进入循环,第i项为sum=sum*10+a,总数值为s=s+sum;
  • (5)i>时循环结束,否则继续循环(4)
  • (6)输出s

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

    1232142-20171030205730136-1802183605.jpg

  • (1)本题主要是理解题目,理解就容易懂了,没有疑难

    4.本题PTA提交列表

    1232142-20171030210029855-1592747993.png

    题目三

    1.代码

int n,min,i,number;  //min代表最小值,num表示输入的数值    scanf("%d",&n);    min=number;    if(n>1){    for(i=1;i
number) //判断两者的大小 min=number; //根据条件进行互换 } printf("min = %d",min);} else if(n==1){ scanf("%d",&number); //当输入值为一个数值的情况 printf("min = %d",number);} else printf("no"); return 0;

2.设计思路

  • (1)定义number表示输入的数值,min代表最小值
  • (2)给min初始值min=number
  • (3)输入number
  • (4)若min>number,则min与number互换数值
  • (5)若min<number,则min保留原来数值
  • (6)当i>=n时输出min,否则继续循环(3)(4)(5)

    3.本题调试过程碰到问题及解决办法1232142-20171101181447216-1937295967.jpg

  • (1)本题主要不懂在循环里面进行大小互换,因为之前进行大小比较都是比较大小,而不要求互换,但书本里面有相似的例题,看了例题就懂得了

    4.本题PTA提交列表

    1232142-20171101182017279-1757513490.png

题目四

1.代码

int num,N,flag;  //N代表猜的次数,num代表系统的数值,yournumber代表自己猜的数值    int yournumber;    flag=0;    int count;    scanf("%d%d",&num,&N);    do{        scanf("%d",&yournumber);        count++;    //count代表猜的第i次,并根据数据的输入进行累加        if(yournumber<0){            printf("Game Over\n");  //小于0的情况            flag=1;        }        else if(yournumber
num){ //大于系统值的情况 printf("Too big\n"); } else{ if(count==1){ //表示第一次猜中 printf("Bingo!\n"); } else if(count<=3){ //表示在三次在内猜中 printf("Lucky You!\n"); } else{ //表示大于3次和猜中的输出 printf("Good Guess!\n"); } flag=1; } if(count==N){ // 当第i项等于猜的次数时的输出情况 if(!flag ){ printf("Game Over\n"); flag=1;

2.设计思路

  • (1)定义num表示系统的数值,N代表猜的次数,yournumber代表猜的数值,flag来控制循环的继续与结束,count表示第i次猜的数
  • (2)输入系统的值和猜的次数
  • (3)输入猜的值
  • (4)如果yournumber<0,输出Game Over,并结束本次循环
  • (5)如果yournumber<num,输出Too small,并结束本次循环
  • (6)如果yournumber>num,输出Too big,并结束本次循环
  • (7)如果yournumber=num,并且count=1,输出Bingo,并结束本次循环
  • (8)如果yournumber=num,并且count <=3,输出Lucky You,并结束本次循环
  • (9)如果yournumber=num,并且count >3,输出Good Guess,并结束本次循环
  • (10)如果yournumber不等于number并且i等于N,输出Game Over,并结束本次循环
  • (11)否则继续循环(3)(4)(5)(6)(7)(8)(9)(10)

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

    1232142-20171101190807138-457947600.jpg

  • (1)不懂得如何结束循环,上课后知道可以用break和flag=1,flag=0来结束循环
  • (2)猜中时的次数为1和小于3的情况不懂得分支,请教同学,同学说这样设计太过复杂,但是还是坚持下来了,也懂得了分支里面在分支的应用

    4.本题PTA提交列表

    1232142-20171101192420435-948130492.png

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

1232142-20171101192612935-851685197.png

三,本周学习总结

1.你学会了什么?

  • (1)本周学到了循环结构的应用,还有while和for语句之间的差别
  • (2)学到了提前结束循环的方法
  • (3)也懂得了如何用调试来找出自己的错误在哪里

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

  • (1)镶嵌循环的运用,现在只有参照书本才能勉强进行设计算法和具体编译
  • (2)continue语句老师上课虽然讲过,自己也懂得它代表的意思,但具体编译起来还是得慢慢回想和参考书本

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

  • (1)平时写PTA不懂就翻书,到了考试没有书本,导致最基础的单词都写错
  • (2)不够细心,题目看个大概就开始敲代码,结果也是答案部分正确,
  • (3)被时间转换的那道题卡住,因为不懂得字符:如何输入
  • (4)针对这次考试,我发现了自己的太多问题也学到了很多东西,不够认真,不够细心,也对自己很失望,学到了字符的输入,分支与循环的结合运用。在以后的学习中我会将这些错误改正过来,掌握好所学知识,订个小目标,下次要提前完成考试。

posted on
2017-11-01 20:09  阅读(
...) 评论(
...) 收藏

转载于:https://www.cnblogs.com/peng075078/p/7756621.html

你可能感兴趣的文章
虚拟主机与虚拟目录学习小结
查看>>
hlg1414安装雷达【贪心】
查看>>
Blog文章待看
查看>>
Golang flag包使用详解(一)
查看>>
python文件IO
查看>>
regsvr32简介
查看>>
升级到 .NET Core 2.1
查看>>
C#多线程交替赋值取值
查看>>
对Java前四章的感受
查看>>
【Linux】ping命令详解
查看>>
对团队成员公开感谢博客
查看>>
密码学总结
查看>>
java学习第三天
查看>>
jq 通配符,模糊查询
查看>>
python目录
查看>>
django+uwsgi+nginx+sqlite3部署+screen
查看>>
Andriod小型管理系统(Activity,SQLite库操作,ListView操作)(源代码下载)
查看>>
在Server上得到数据组装成HTML后导出到Excel。两种方法。
查看>>
浅谈项目需求变更管理
查看>>
经典算法系列一-快速排序
查看>>