zoukankan      html  css  js  c++  java
  • C语言第三次博客作业---单层循环结构

    一、PTA实验作业

    题目1

    1.实验代码

            int n,i;                 
    	double h;             //h储存身高,n储存输入次数,i储存循环变量
    	char sex;            //sex储存性别
    	scanf("%d",&n);
    	for(i=1;i<=n;i++){                           //循环输入
    		scanf("
    %c%lf",&sex,&h);
    		if(sex=='M'){                          //性别判断
    			h=h/1.09;
    			printf("%.2f
    ",h);
    		}
    		else{
    			h=h*1.09;
    			printf("%.2f
    ",h);
    

    2 设计思路

    • 1.定义整型变量n储存输入次数,浮型变量h储存身高,字符型变量sex储存性别
    • 2 输入输入次数
    • 3 输入性别和身高,i=1
    • 4 判断性别,若为M,h=h/1.09,输出身高保留两位小数
    • 5 i=i+1
    • 6 重复步骤3,直到i大于n

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

    • 1.编译错误本来是想定义一个hi的变量来保存不同输入的输出身高,后面发现没有必要,在c语言中也是不可行的。
    • 2.答案错误不小心将printf语句放在for循环中,导致错误,经过调试后发现printf语句多次运行,改正错误。

    4.本题PTA提交列表

    题目2

    1.实验代码

    	int a,i,n,sum;        
    	scanf("%d%d",&a,&n);
    	sum=0;
    	for(i=1;i<=n;i++){
    		sum=a*i*pow(10,n-i)+sum;                         //循环加a串数列每一位的和来得出结果
    	}
    	printf("s = %d",sum);
    

    2 设计思路

    • 1.定义整形变量a储存正整数,i储存循环变量,n储存a的最大个数,sum储存字符串之和.
    • 2.输入a,和最大位数n,sum=0,i=1
    • 3.sum=aipow(10,n-i)+sum;
    • 4.i=i+1
    • 5.重复步骤3直到i大于n
    • 6.输出sum

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

    • 本体无误
    • 变量监测:

    4.本题PTA提交列表

    题目3

    1.实验代码

            int number1,number2,n,i,min;           //number1,number2存放输入数,min存放最小值
    	scanf("%d",&n);
    	scanf("%d",&number1);
    	min=number1;
    	for(i=1;i<n;i++){
    		scanf("%d",&number2);
    		if(number2<number1&&number2<=min){            //比较number1,number2,min的关系,使min等于三数的最小值
    			min=number2;
    		}
    		else if(number2>=number1&&number1<=min){
    			min=number1;
    		}
    		number1=number2;             //将number2的数存放number1,以便让number2存下个数
    	}
    	printf("min = %d
    ",min);
    

    2 设计思路

    • 1.定义整形变量number1,number2存放输入数,min存放最小值,n存放输入个数
    • 2.输入n和number1
    • 3.min=number1;,i=1
    • 4.输入number2,若number2<number1且number2<=min,min=number2;否则如果number2>=number1且number1<=min,min=number1;
    • 5.number1=number2
    • 6.i++
    • 7.重复步骤4直到i大于n

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

    • 答案错误,通过变量监测找出问题至此发现问题,由于number1,number2没有和min比较产生问题

    4.本题PTA提交列表

    题目4

    1.实验代码

    	int your,mine,right,times,n,i;        //your存放猜的数,mine存放随机数,right存放正确次数,time存放猜的次数
    	scanf("%d%d",&mine,&n);
    	times=right=0;                ///变量初始化
    	for(i=1;i<=n;i++){
    		scanf("%d",&your);
    		if(your<0){                 
    			printf("Game Over
    ");
    			return 0;
    		}
    		else if(your>mine){
    			printf("Too big
    ");
    			times++;
    		}
    		else if(your<mine){
    			printf("Too small
    ");
    			times++;
    		}
    		else{
    			times++;
    			right++;
    			break;
    		}
    	}
    	if(times==1&&right==1){           //判断time和right的关系并输出相应语句
    		printf("Bingo!
    ");
    	}
    	else if(times<=3&&right==1){
    		printf("Lucky You!
    ");
    	}
    	else if(right==0){
    		printf("Game Over");
    	}
    	else{
    		printf("Good Guess!");
    	}
    

    2 设计思路

    • 1.定义整形变量your存放猜的数,mine存放随机数,right存放正确次数,time存放猜的次数
    • 2.输入随机数your和可猜的次数n
    • 3.输入猜的数mine
    • 4.若mine<0结束程序,若your>mine,输出Too big,time++,若mine>your,time++,输出Too small,否则time++,right++,跳出循环
    • 5.i++
    • 6重复步骤3直到i>n
    • 7.若times1且right1,输出Bingo!若times<=3且right1,输出Lucky You!,若right0,输出Game Over,否则输出Good Guess!

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

    • 1没有想到用time和right储存输入次数和正确次数,导致思路很乱,后来看了书上例题才知道

    4.本题PTA提交列表

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

    三、本周学习总结

    1.你学会了什么?

    • 1.学会了while语句,for语句,do while语句,主要区别是当循环次数为0时,do while执行一次,其他语句不执行
    • 2.还学会了嵌套循环,外循环执行一次内循环执行一轮
    • 3.还懂得了用printf语句来调试程序

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

    • 嵌套循环很难,掌握不容易,每道题都要想很久,还需要多加练习
    • 对于三种循环语句,只熟悉for语句,对其他两个语句不够熟练
    • 用监测变量的方法来调试程序不够熟

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

    • 忘记了fabs与abs的区别导致第一题做错,从这次考试中我知道我对书本内容不够熟悉,有空应该多回归课本,不应该忽略课本的知识,以后更应该多调试程序,增加熟练度,对自己的成绩不是很满意吧,下次努力吧
  • 相关阅读:
    HCNA Routing&Switching之OSPF度量值和基础配置命令总结
    HCNA Routing&Switching之动态路由协议OSPF DR和BDR
    HCNA Routing&Switching之动态路由协议OSPF建立邻居的条件
    HCNA Routing&Switching之动态路由协议OSPF基础(二)
    HCNA Routing&Switching之动态路由协议OSPF基础(一)
    HCNA Routing&Switching之RIP防环机制
    HCNA Routing&Switching之动态路由协议RIP
    HCNA Routing&Switching之动态路由基本概念
    Serilog 最佳实践
    如何掌握C#的核心技术
  • 原文地址:https://www.cnblogs.com/Airoure/p/7758393.html
Copyright © 2011-2022 走看看