c语言的第三次---单程循环结构
一、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语言的第三次---单程循环结构的更多相关文章
- C语言程序设计第六次作业——循环结构(2)
		C语言程序设计第六次作业--循环结构(2) 之前的博客园图片没处理好,对大家说一声抱歉.希望大家能够多多指出我的错误,我来认真修改 ^ - ^ !. (1)改错题 序列求和:输入一个正实数eps,计算 ... 
- C语言程序设计第五次作业——循环结构
		(一)改错题 1.题目:输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如下: c = 5 ... 
- c语言:第二次作业,循环结构
		1.本章学习总结(2分) 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 循环相比分支和顺序结构难了许多,相对的来说我的c语言的基础比之前有提高,但是还是很多题想了很久也 ... 
- C语言程序设计第五次作业——循环结构(1)
		一.改错题 1.题目 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如下:c = 5×( ... 
- C语言程序设计第五次作业--循环结构(1)
		(一)改错题 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如下: c = 5×(f-3 ... 
- C语言程序设计第六次作业--循环结构(2)
		(一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数). 输入输出样例: Input e ... 
- C语言程序设计第六次作业--循环结构2
		(一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数). 输入输出样例: Input e ... 
- (三)js循环结构
		1.循环结构 a) 当循环 语法:while(condition){ code... } do(){ code... } while(); ... 
- 网易云课堂_程序设计入门-C语言_第三周:循环_2数字特征值
		2 数字特征值(5分) 题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作 ... 
随机推荐
- Unity3D 引擎基础 C# (数据结构入门) Unity3D 界面 UI(NGUI)(动画系统,导航系统)(委托与事件,常用设计模式)
			Geomagic Sculpt 2016.2 Windows Software 11个月前 (01-17) 0评论 Geomagic Sculpt 触觉式三维设计 触碰您的设计使用三维工具做三维设计. ... 
- 【BZOJ1207】【HNOI2004】打鼹鼠(动态规划)
			[BZOJ1207][HNOI2004]打鼹鼠 题面 BZOJ题面 题解 考虑到m的范围只有10000 O(m^2)的复杂度是可以接受的 所以直接暴力DP 每次枚举前面出现的鼹鼠 检查是否能够转移过来 ... 
- MySQL根据出生日期计算年龄的五种方法比较
			方法一 SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0 AS age 方法一,作者也说出了缺陷,就是当日 ... 
- 关于C++ const 的全面总结《转》
			C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助. Const 是C++中常用的类型修饰符,常类型是指使用类 ... 
- python 常见算法
			python虽然具备很多高级模块,也是自带电池的编程语言,但是要想做一个合格的程序员,基本的算法还是需要掌握,本文主要介绍列表的一些排序算法 递归是算法中一个比较核心的概念,有三个特点,1 调用自身 ... 
- IIS支持PHP文件解析
			打开IIS程序映射 添加模块映射 请求路径为:*.php 模块为:FastCgiModule 可执行路径选择 php-cgi.exe 名称随意写 
- win8快捷键
			win+Q/S搜索所有位置 win+W搜索设置 win+E文件资源管理器 win+R运行 win+T选中第一个应用程序(不确定) win+U轻松使用设置中心 win+I设置 win+P投影 win+D ... 
- 2018世界气象日,API为气象助力
			"世界气象日"(World Meteorological Day)又称"国际气象日",是[世界气象组织]成立的纪念日. 国际气象组织的前身原为非官方性国际气象合 ... 
- kubernetes中kubeconfig的用法
			在开启了 TLS 的集群中,每当与集群交互的时候少不了的是身份认证,使用 kubeconfig(即证书) 和 token 两种认证方式是最简单也最通用的认证方式. 以kubectl为例介绍kubeco ... 
- 使用Quartz 2D擦除图片
			Quartz 2D 是一个强大的二位图像绘制引擎,在开发中如果遇到需要高度自定义的控件,我们就可能需要用Core Graphics进行绘制. 这几天一同事开发一个聊天中的一个子模块,A 画一幅图,然后 ... 
