一、PTA实验作业

题目1

1.代码

  int N,i;
double height; //height代表身高
char sex; //代表男女性别
scanf("%d",&N);
for(i=1;i<N;i++){
scanf("%c%f",&sex,&height);
getchar();
if(sex=='M'){
printf("%.2lf",hight/1.09);
}
else{
printf("%.2lf",hight*1.09);
}
getchar();

2.实验思路

  • (1)定义两个整形变量N、i,N代表输入的个数,定义一个浮点型变量height代表身高。定义一个字符类型sex代表性别。
  • (2)在第一行输入N,height。
  • (3)当sex'M'时,输出height/1.09的结果,并保留两位小数 。当sex'F'时,输出height*1.09的结果,并保留两位小数 。

3.调试问题

该题需要输入多个数据,但当我调试时总时不能输入第二行输据,按回车键时直接输出结果为0,改了很多处都无法解决这个问题,后来经过询问同学和百度后才知道系统把回车键当作一个字符吸收了,从而无法识别后面的字符。后来我在输入%c的前面加了一个空格,才解决了这个问题。

4.PTA提交列表

题目2.特殊a串数列求和

1.代码

 int a,n,i;
double sum,item; //sum用来存放各项之和 //item用来存放每一项
scanf("%d%d",&a,&n);
sum=0;
item=0;
for(i=1;i<=n;i++){
item=a*pow(10,i-1)+item;
sum=sum+item;
}
printf("s = %.0lf",sum);

2.实验思路

  • (1)定义三个整形变量a,n.i,两个浮点型变量sum,item,sum用来存放各项之和,item用来存放每一项。
  • (3)输入两个整数a,n。
  • (4)令i=1,i<=n,每执行一次循环i++,循环体为: item=a*pow(10,i-1)+item;sum=sum+item。
  • (5)循环结束时输出sum,同时保留两个有效数字。

3.调试问题

这题比较简单,就是一开始看错题目了,把题目中的aa看成了a*a,导致写出了错误的代码。还写代码时引用了数学函数,但没有在代码前声明。最后通过调试发现了错误。公式没写正确,公式中应为i-1,而我写成了i,后来通过断点调试改正了错误。



4.PTA提交列表

题目3.找出最小值

本题要求编写程序,找出给定一系列整数中的最小值。

1.代码

int n,result,i,min;        //result代表用户输入的数据      //min用来存放最小值
scanf("%d",&n);
scanf("%d",&result);
min=result;
for(i=1;i<n;i++){
scanf("%d",&result);
if(min>result){
min=result;
}
}
printf("min = %d",min);

2.实验思路

  • (1)定义四个整形变量 n,result,i,min,result代表用户输入的数据,min用来存放最小值。
  • (2)在一行中输入一个正整数n,之后是n个整数。
  • (3)令i=1,i<=n,每执行一次循环i++。循环体为; scanf("%d",&result); if(min>result),令 min=result。
  • (4)循环结束时,输出min的值。

3.调试问题及解决方法

第一次写的时候没设中间变量min,直接把最小值赋给了n,最后输出最小值n时答案总是不正确。通过设段点调试时才发现n发生变化时循环的条件也发生了改变,所以不能直接改变n的值,要通过一个中间变量来储存要最小值。

4.PTA提交列表

题目4. 猜数字游戏

猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。

1.代码

int mynumber,younumber,n,i;       //mynumber、younumber分别代表用户输入的数字与系统产生的被猜数
scanf("%d%d",&younumber,&n);
scanf("%d",&mynumber);
if(mynumber>=0&&i<=n){
for(i=1;i<=n;i++){
if(younumber<mynumber){
printf("Too big\n");
}
else if(younumber>mynumber){
printf("Too small\n");
}
else{
if(i==1){
printf("Bingo!");
break;
}
else if(i<=3){
printf("Lucky You!");
break;
}
else if(i<=n){
printf("Good Guess");
break;
}
else{
printf("Game Over");
break;
}
}
scanf("%d",&mynumber);
}
}
else{
printf("Game Over");

2.实验思路

  • (1)定义三个整形变量 mynumber,younumber,n,i,
  • (2)第一行输出mynumber与n,之后每行输入一个mynumber。
  • (3)令i=1,i<=n,每执行一次循环i++。在循环中当younumber<mynumber时,输出"Too big\n";当younumber>mynumber时,输出"Too small\n";否则,不满足上述时:i=1时,输出"Bingo!";i>1&&i<=3时,输出"Lucky You!";i<=n时,输出"Good Guess"。循环输入mynumber。
  • (4)当不满足上述循环时,直接输出"Game Over"。

3.调试问题及解决方法

这题是写得最久的一题,因为该循环太长了,导致犯了很多错误,例如把 else{ printf("Game Over");这句放到了循环内,导致调试时系统多输出了一句Game Over,一些语句中的break忘了加。

4.PTA提交列表

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

三、本周学习总结

1.你学会了什么?

  • 在这次作业中我试着不翻课本,独自地完成每一道编程,发现了自己的好多毛病。虽然效率真的慢了好多,但通过拿自己的代码跟课本上的作对比,及时发现了自己的不足。之前太依赖课本,我觉得这不利于自己的思维,因为每道题目的做法有很多种,有些课本上的题不一定是最简便的。
  • 弄懂了for循环语句和while循环语句的不同点和相同点,如果给定循环次数时,首选for语句。当要先进入循环条件,再判断循环是否结束时,用do-while,但在大多数情况下,两者可以通用。

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

  • 这次PTA题目有些我觉得有点难,例如龟兔赛跑那题,写了好久都没思路。我觉得可能是练得不够多吧,遇到陌生的题就感觉无从下手。
  • 不太会用devc设段点这个方法来找自己代码的错误。

3.分支结构上机总结。

  • 哪些地方错了,为什么?

    调用那几种数学函数的单词记混了,导致用devc调试好久都得不到正确答案。还有那天那个swich语句格式忘了,调了几次改用if语句才写得出来。

    我觉得是因为我之前打代码都太依赖课本了,导致一些语句的格式都没记住。
  • 后续要怎么找程序错误?

    以后学着用devc设段点来观察变量。
  • 对自己的成绩满意吗?不满意的话要怎么改进?

    不满意,以后要多练,争取熟能生巧。

c语言的第三次---单程循环结构的更多相关文章

  1. C语言程序设计第六次作业——循环结构(2)

    C语言程序设计第六次作业--循环结构(2) 之前的博客园图片没处理好,对大家说一声抱歉.希望大家能够多多指出我的错误,我来认真修改 ^ - ^ !. (1)改错题 序列求和:输入一个正实数eps,计算 ...

  2. C语言程序设计第五次作业——循环结构

    (一)改错题 1.题目:输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如下: c = 5 ...

  3. c语言:第二次作业,循环结构

    1.本章学习总结(2分) 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 循环相比分支和顺序结构难了许多,相对的来说我的c语言的基础比之前有提高,但是还是很多题想了很久也 ...

  4. C语言程序设计第五次作业——循环结构(1)

    一.改错题 1.题目 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如下:c = 5×( ...

  5. C语言程序设计第五次作业--循环结构(1)

    (一)改错题 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如下: c = 5×(f-3 ...

  6. C语言程序设计第六次作业--循环结构(2)

    (一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数). 输入输出样例: Input e ...

  7. C语言程序设计第六次作业--循环结构2

    (一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数). 输入输出样例: Input e ...

  8. (三)js循环结构

    1.循环结构 a)    当循环 语法:while(condition){         code...     }     do(){         code...     } while(); ...

  9. 网易云课堂_程序设计入门-C语言_第三周:循环_2数字特征值

    2 数字特征值(5分) 题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作 ...

随机推荐

  1. Error Curves HDU - 3714

    Josephina is a clever girl and addicted to Machine Learning recently. She pays much attention to a m ...

  2. python中的递归函数

    在python中,函数可以调用其他函数,如果函数调用的是它本身,则称这样的函数为递归函数. 1.利用递归函数计算阶乘 递归函数最简单的例子就是计算阶乘. 阶乘:通项公式为n! = n * (n-1)! ...

  3. 常用的freemark语法(三)

    一,符号的意义 1.0,单问号 ?后面要加关键字,例如:<#if object?exists>object对象不为空</#if> <#if str??>${str? ...

  4. JVM 调优系列之图解垃圾回收

    摘要: jvm必知系列,总结一些常见jvm回收机制,方便查阅 对于调优之前,我们必须要了解其运行原理,java 的垃圾收集Garbage Collection 通常被称为"GC", ...

  5. Redis入门必读,The Little Redis Book中文版

    csdn的博客都要搬到这里了 The Little Redis Book中文版 入门 The Little Redis Book中文版 第一章 - 基础知识 The Little Redis Book ...

  6. 《Master Bitcoin》学习笔记01

    前言 关于比特币入门,其运行原理(理解性描述),什么是挖矿,还有一些学习资料的整理,详见此博客链接 第一章讲比特币的历史,算是导入,上面的博客链接有概括. 第二章举了使用比特币交易的例子,其中介绍了一 ...

  7. 【BZOJ2428】均分数据(模拟退火)

    [BZOJ2428]均分数据(模拟退火) 题面 BZOJ 题解 先说说黄学长的做法: 当温度比较高的时候,贪心 每次随机一个数,把他放进当前和最少的那一组里面 温度足够低的时候就完全随机然后转移 这样 ...

  8. 【BZOJ4653】【NOI2016】区间(线段树)

    [BZOJ4653][NOI2016]区间(线段树) 题面 BZOJ 题解 \(NOI\)良心送分题?? 既然是最大长度减去最小长度 莫名想到那道反复减边求最小生成树 从而求出最小的比值 所以这题的套 ...

  9. 几道很Interesting的偏序问题

    若干道偏序问题(STL,分块) 找了4道题目 BZOJ陌上花开(权限题,提供洛谷链接) Cogs2479偏序 Cogs2580偏序II Cogs2639偏序++ 作为一个正常人,肯定先看三维偏序 做法 ...

  10. [Luogu2057]善意的投票

    题目戳我 题目描述 幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉.对他们来说,这个问题并不是很重要,于是他们决定发扬谦让精神.虽然每个人都有自己的主见,但是为了照顾一下自己朋友的想法,他们也可以投 ...