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


    一、PTA实验作业

    题目1

    专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。
    下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。

    1.实验代码

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

    2.设计思路

    1.定义两个整型变量i,n,两个双精度浮点型变量man,women,一个字符型变量sex,输入n;
    2.当i<n时,执行循环:输入sex,当sex=M时,输入男性身高,women=man/1.09,输出女性身高;当sex=F时,输入女性身高,man=women*1.09,输出男性身高;
    3.当i>=n,结束循环。

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

    刚刚开始for的条件里用的逗号,改为分号后就没什么问题了。。

    4.本题PTA提交列表

    题目2

    给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。

    1.实验代码

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

    2.实验思路

    1.定义五个整形变量a,t,n,i,sum,将0赋给sum、t,输入a,n;
    2.当i<=n时,执行循环:t=t*10+a,sum=sum+t;
    3.当i>n时,结束循环,输出sum。

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

    本来用的a=a10+a来表示aaa...的,但是发现输出的数字不对,调试后发现了问题,于是采用了t=t10+a来代替a=a*10+a,问题得到解决。

    4.本题提交列表

    题目3

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

    1.实验代码

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

    2.实验思路

    1.定义四个整型变量i,n,number,min,输入n,number的值,min=number;
    2.当i<=n,执行循环:输入一个数值,当min>number,min=number;
    3.当i>n,结束循环,输出min。

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

    刚刚看到题目没什么思路,不知道怎么确定最小值,想了很久用了将更小值赋给min的方法,问题解决。

    4.本题提交列表

    题目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 N,count,mynumber,yournumber;
        scanf("%d%d",&mynumber,&N);
        count=0;
        do {
           count++;
           scanf("%d",&yournumber);
               if(yournumber<0){
                   break;
        }
                else if(yournumber<mynumber){
                   printf("Too small
    ");
                }
                else if(yournumber>mynumber){
                   printf("Too big
    ");
        }
                else
                   break;
        }
        while(yournumber>=0);
        
        if(yournumber>=0){
            switch(count){ 
                case 1:
                   printf("Bingo!");
                   break;
                case 2:
                case 3:
                   printf("Lucky You!");
                   break;
        }
        }
        if (count>3&&count<=N){
            printf("Good Guess!");
        }
            else if(count>N){
                printf("Game Over");
        }   else if(yournumber<0){
                printf("Game Over");
    }
    

    2.实验思路

    1.定义四个整型变量N,count,mynumber,yournumber,输入N和mynumber的值;
    2.用do while语句,每输入一次count加一,用if语句判断并输出所猜数与随机数的比较结果;
    3.重复第三步,直至用户猜数小于0.结束循环;
    4.用switch、case语句输出当count分别等于1,2,3是的判断结果;
    5.当count>3且count<=N时,输出Good Guess!;
    6.当输入次数大于3小于等于N时,输出Good Guess!
    7.当输入次数大于N时,输出Game Over;
    8.当用户猜数小于0时,输出Game Over。

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

    开始觉得跟书上的猜数游戏有点像,可是研究了很久还是没思路,最后求助同学了。。。

    4.本题提交列表

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

    1.PTA提交列表

    2.PTA排名

    三、本周学习总结

    1.你学会了什么?

    学会了for循环语句,学会了break跟continue的不同,还学会了while语句和do while语句,以及两者的差别,还学会了如何通过调试程序寻出错误。

    2.你还不会什么?

    多个数值的输入输出还只能一个一个来,不懂得怎么一次输入并判断然后输出多个数值。
    很多题目看了都没有思路,脑子一团乱,思维不够灵活。。

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

    对于绝对值对数等函数记得不清晰;第三题的情况考虑的不够清楚,将十二点归于上午了。

  • 相关阅读:
    java进阶书籍推荐(不包括基础)
    js/jquery如何获取获取父窗口的元素
    jQuery检查某个元素在页面上是否存在
    H5利用pattern属性和oninvalid属性验证表单
    zTree的使用教程
    input属性disabled和readonly的区别
    CentOS 7 安装部署 cassandra作为kairosdb的数据存储
    Jenkins部署
    CentOS 7常用命令
    虚拟机 克隆:完整克隆 模式
  • 原文地址:https://www.cnblogs.com/luyongzhi/p/7769258.html
Copyright © 2020-2023  润新知