• C语言第三次博客作业---单层循环结构


    一、PTA实验作业

    题目1

    1. 实验代码
    int n,i;
    double height1,height2;
    char sex;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
    	getchar();
    	scanf("%c%lf",&sex,&height1);
    	
    	switch(sex){
    		case 'M':height2=height1/1.09;break;
    		case 'F':height2=height1*1.09;break;
    	}
    printf("%.2f
    ",height2);
    }
    
    1. 设计思路
    • 第一步:定义两个整型变量n,i,两个浮点型变量height1,height2,一个字符型变量sex
    • 第二步:输入n的值
    • 第三步:输入sex与height1的量
    • 第四步:若sex=M,则:height2=height1/1.09
    • 第五步:若sex=F,则:height2=height1*1.09
    • 第六步:输出high2的值,并保留两位小数
    • 第七步:重复步骤3,直到i>n

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

    刚开始老是出现图中的问题,后来请教学长,加了getchar(),使回车不执行只换行就解决了

    4.本题PTA提交列表

    题目2

    1. 实验代码
        int n,a,s,i,b;//引入变量b存放aa……的值
    	scanf("%d%d",&a,&n);
    	s=0;
    	b=a;
    	for(i=1;i<=n;i++)
    	{
    	s=s+b;
    	b=b*10+a;
    	}
    	printf("s = %d",s);
    
    1. 设计思路
    • 第一步:定义五个变量a,b,i,s,n
    • 第二步:输入a,n的值
    • 第三步: s=0;b=a
    • 第四步:s=s+b;b=b*10+a;
    • 第五步:重复步骤3,直到i>n
    • 第六步:输出s的值

    3.本题调试过程碰到问题及解决办法
    题目理解错了,以为aa是a×a后来经过调试跟踪变量发现问题

    4.本题PTA提交列表

    题目3

    1. 实验代码
          int n,i;
       double min,s;//s为输入的每个数的值
       scanf("%d",&n);
       scanf("%lf",&s);
       min=s ;
       for(i=1;i<n;i++)//执行循环体使min为最小值。
       {
       	if(min>s)
    	   {
        	min=s;
    	   }
    	scanf("%lf",&s);
       }
       printf("min = %.0f",min);
    
    1. 设计思路
    • 第一步:定义两个整型变量n,i,两个浮点型变量min,s
    • 第二步:输入n,s的值
    • 第三步:min=s
    • 第四步:若min>s,min=s
    • 第五步:输入下一个s的值
    • 第六步:重复步骤四,直到i>=n
    • 第七步:输出min的值

    3.本题调试过程碰到问题及解决办法
    原先的代码如果给的数都大于0,就不会输出最小值了,后来先将第一次的s值赋值给s,就解决了


    4.本题PTA提交列表

    题目4

    1. 实验代码
    	int mynumber,N,i,yournumber;//N为猜测的最大次数
    	scanf("%d%d",&mynumber,&N);
    	for(i=1;i<=N;i++)
    	{
    		scanf("%d",&yournumber);
    		if(yournumber<0)
    		{
    			printf("Game Over
    ");break;
    		}
    		if(yournumber>mynumber)
    		{
    			printf("Too big
    ");
    		}
    		else if(yournumber==mynumber)
    		    if(i==1)
    			{
    				printf("Bingo!
    ");break;
    			}
    			else if(i>=4)
    			{
    				printf("Good Guess!
    ");break;
    			}
    			else
    			{
    				printf("Lucky You!
    ");break;
    			}
    			else
    			printf("Too small
    ");
    		}
       if(yournumber>=0&&yournumber!=mynumber)
       printf("Game Over
    ");
    
    1. 设计思路
    • 第一步:定义变量mynumber,N,i,yournumbe
    • 第二步:输入mynumbe,N的值
    • 第三步:输入yournumbe的值
    • 第四步:若yournumber<0,则输出Game Over,结束循环
    • 第五步:若yournumber>mynumber,则输出Too big
    • 第六步:若yournumbermynumber,进入判断,若i1,输出Bingo!,结束循环
    • 第七步:若i>=4,输出Good Guess!,结束循环
    • 第八步:否则,输出Lucky You!,结束循环
    • 第九步:若yournumber<mynumbe,则输出Too small
    • 第十步:重复步骤三,直到i>N
    • 第十一步:若yournumber>=0且yournumber不等于mynumber,输出Game Over

    3.本题调试过程碰到问题及解决办法
    这道题的逻辑性很强,刚开始时无从下手,后来用纸笔理了理一条条分支可能,才打出代码

    4.本题PTA提交列表

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

    三、本周学习总结

    1.你学会了什么?

    学会了运用for语句,和while语句循环,如果给定了循环次数应该用for,如果没明确给,而是由某一个变量控制,应用while

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

    虽然请教了学长,但还是不懂情侣身高那题为什么要加getchar(),它的作用是什么,为什么这里要加

    3.你碰到什么困难,打算如何解决?

    感觉我的算法比较复杂,希望可以精简一下算法,还有做题有点着急,应该好好研究一下怎么解题,再敲代码

  • 相关阅读:
    高考词根树 高考词汇3071
    浏览器的文件访问 API 入门(英文) 资料
    translate speaker 翻译朗读者API vscode 插件推荐 单词发音
    .bat 批处理 手册 教程
    阿里巴巴20220422笔试编程题
    leetcode 587 安装栅栏
    记录一些面试题
    Java编辑提示错误: 编码 GBK 的不可映射字符 (0x80)
    Struct和Class区别?
    Swift String 与 NSString
  • 原文地址:https://www.cnblogs.com/hbw985609191/p/7739297.html
Copyright © 2020-2023  润新知