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

    一、PTA实验作业

    题目1:最佳情侣身高差

    1.实验代码

    #include <stdio.h>
    int main()
    {
    	double high,High;//high为用户身高,High为情侣身高
    	int i,num;//num为用户数
    	char ch;
    	i=1;
    	scanf("%d",&num);
    	for(i=1;i<=num;i++){
    		ch=getchar();
    		ch=getchar();
    	scanf("%lf",&high);
    	switch(ch){
    	    case 'M':High=high/1.09;
    		printf("%.2f\n",High);
    		break;
    	    case 'F':High=high*1.09;
    		printf("%.2f\n",High);
    		break;
    	}
    }
    	return 0;
    }
    

    2 设计思路

    • 第一步:定义浮点型变量high为用户身高,High为情侣身高,整型变量i,num为输入用户数,定义字符型变量
    • 第二步:输入用户数num
    • 第三步:使用字符型变量ch=getchar,输入选择M或F
    • 第四步:若输入M,High=high/1.09
    • 第五步:若输入F,High=high*1.09
    • 第六步:输出结果

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

    (1):一开始以为是像题目那样可以一次性输两个数据,后面感觉很奇怪,所以就先把自己的代码提交了,发现是正确的。

    4.本题PTA提交列表

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

    1.实验代码

    #include <stdio.h>
    int main()
    {
    	int a,n,i,s,x;//a为输入运算数字,n为输入数字的最大位数,s为和,x为a的初始数字
    	scanf("%d%d",&a,&n);
    	s=0;
    	x=a;
    	if(a<=9&&n<=9){
    	for(i=1;i<=n;i++){
    		s=s+a;
    		a=a*10+x; 
    	}
    	}
    	printf("s = %d",s);
      return 0;
    }
    

    2 设计思路

    • 第一步:定义整型变量a,n,i,s,x
    • 第二步:输入变量a,n
    • 第三步:将s初始化为0,x初始化为a
    • 第四步:for(i=1;i<=n;i++)
      s=s+a
      a=a*10+x
    • 第五步:输出s

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


    一开始看例子所给的a为2,随后一直将a=a*pow10+2带入,虽然根据所给的例子是对的,但对于其他情况却都是错的了

    4.本题PTA提交列表

    题目3: 找出最小值

    1.实验代码

    include <stdio.h>
    int main()
    {
    	int n,num,i,min;//n为数字个数,min为最小值,num为输入数字
        scanf("%d",&n);
        scanf("%d",&num);
        min=num;
        for(i=1;i<=n-1;i++){
        	scanf("%d",&num);
        	if(min<num){
        		min=min;
    		}
    		else{
    			min=num;
    		}
    	}
    	printf("min = %d",min);
        return 0;
    }
    

    2 设计思路

    • 第一步:定义整型变量n为给出正整数,num为给出整数,i,min为最小值
    • 第二步:输入n和第一个整数num,将min初始化为num
    • 第三步:scanf("%d",&num)
    • 第四步:if(min<num),min=min;
    • 第五步:else,min=num;
    • 第六步:i=1;i++,当;i<=n-1返回第三步
    • 第七步:输出min

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

    在调试中没有发现具体哪里错误了,因为根据例子的情况都是正确的,后面经过舍友提醒找出了要先输出一个num给min初始化

    4.本题PTA提交列表

    题目4: 猜数字游戏

    #include<stdio.h>
    int main()
    {
    	int number,i,N,yours//number为被猜数字,N为最多猜数次数,yours为用户输入数字
    	scanf("%d%d",&number,&N);
    	for(i=1;i<=N;i++){
    		scanf("%d",&yours);
    		if(yours<0) {printf("Game Over");
    		 break;
    		}
    		else if(yours>number) printf("Too big\n");
    		else if(yours<number) printf("Too small\n");
    		else if(yours==number&&i==1) {printf("Bingo!");
    		 break;
    		}
    		else if(yours==number&&i>1&&i<=3) {printf("Lucky You!");
    		 break;
    		}
    		else if(yours==number&&i>3) {printf("Good Guess!");
    		 break;
    		}
    	}
    	if(yours!=number&&i>N) printf("Game Over");
    	return 0;
    }
    

    2 设计思路

    • 第一步:定义整型变量number为被猜数字,N为猜数次数最大限制,yours为用户猜数
    • 第二步:输入number和N
    • 第三步:输入用户猜数
    • 第四步:scanf("%d",&yours)
      if(yours<0) {printf("Game Over");
      break;
      }
      else if(yours>number) printf("Too big\n");
      else if(yours<number) printf("Too small\n");
      else if(yoursnumber&&i1) {printf("Bingo!");
      break;
    • 第五步:else if(yours==number&&i>1&&i<=3) {printf("Lucky You!")
    • 第六步:else if(yours==number&&i>3) {printf("Good Guess!")
    • 第七步:if(yours!=number&&i>N) printf("Game Over");

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


    对待本题,还是觉得很迷惑,在问舍友时才发现自己的设计并不完美,而且没有换行

    4.本题PTA提交列表

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

    三、本周学习总结

    1.你学会了什么?

    在本周我学会了熟练地使用字符型变量和switch语句,还学习了while个do-while语句,二者的不同点在于do-while是先直接进行一个循环体,而while需要判断条件才可以进行循环体,当条件满足时对于二者是相同的,只有当第一个条件就不满足时,do-while将会先做一个循环体,而while就没有了。

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

    在本周中嵌套循环让我感觉有点慌,在一周周的学习中感觉学习难度越来越大,我需要花更多的时间去多编程,多学习。

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

    虽然这次上机考试我是满分,但是在做最后一题是由于字符型变量的用法不太熟悉,我在那边花了许多的时间去想,这让我认识到我的不足,我需要花更多时间来多打代码,争取在下一次上机考试做的更好。

  • 相关阅读:
    Linux curl命令详解
    Go语言获取命令行参数
    MySQL对sum()字段 进行条件筛选,使用having,不能用where
    PHP的 first day of 和 last day of
    easyui-datagrid个人实例
    easyui-layout个人实例
    easyui-combotree个人实例
    easyui-combo个人实例
    easyui-combotree个人实例
    easyui datagrid加载数据和分页
  • 原文地址:https://www.cnblogs.com/gongshunde/p/7769015.html
Copyright © 2011-2022 走看看