zoukankan      html  css  js  c++  java
  • 博客作业分支、顺序结构

    | 这个作业属于哪个班级 | C语言--网络2011/2012 |
    | ---- | ---- | ---- |
    | 这个作业的地址 | C博客作业00--顺序分支结构 |
    | 这个作业的目标 | 初步认识C语法,掌握数据表达、printf、scanf语法及分支结构内容 |

    PTA总分展示

    顺序结构

    顺序结构

    分支结构

    分支结构

    1.本章学习总结

    1.1学习内容总结

    分支结构

    ## include <stdio.h>
    int main ()
    {
        int a;
        scanf("%d",&a);
        if(a%2==0)
            printf("yes\n");
        else
            printf("no\n");
        return 0;
    }
    

    分支结构根据条件判断的结果选择所要执行的程序分支,其中条件可以用表达式(关系表达式或逻辑表达式)来描述。

    随机函数

    srand(time(0)) ;//先设置种子
    rand();//然后产生随机数
    Srand是种下随机种子数,你每回种下的种子不一样,用Rand得到的随机数就不一样。为了每回种下一个不一样的种子,所以就选用Time(0),Time(0)是得到当前时时间值(因为每时每刻时间是不一样的 了)。srand(time(0))就是给这个算法一个启动种子,也就是算法的随机种子数,有这个数以后才可以产生随机数。

    #include <stdio.h>
    #include <time.h>
    
    void main ()
    {
        int i;
        srand(time(0));
        for (i = 0; i < 10; i++)
        printf( "%6d", rand());
        return 0; 
    }
    

    编程技巧总结

    取某一位数个位做法

    # include <stdio.h>
    int main ()
    {
          int num,SingleDigits;
          SingleDigits=num%10;
          printf("%d\n",SingleDigits);
          return 0;
    }
    

    判断整除做法

    例如判断一个数是否为偶数
    #include<stdio.h>
    int main()
    {
    	int a;
    	scanf("%d",&a);
    	
    	if(a%2==0)
    	printf("yes\n");
    	else
    	printf("no\n");
    	
    	return 0;
    }
    

    本章学习体会


    1. 通过PTA的题目认识并且熟悉了关于顺序结构、分支结构和循环结构的一些题型,但是总体还是对于C语言程序设计的学习还在适应当中。
    2. PTA大约刷了三十道题左右。

    2.PTA实验作业

    2.1前天是哪天(请教大佬得到)

    2.1.1数据处理

    • 数据表达:定义整型变量year,month,day。
    • 数据处理:判断年份是否为闰年,并且运用了分支结构。

    2.1.2代码截图

    #include<stdio.h>
    int main()
    {
        int year, month, day;
        scanf("%d-%d-%d",&year,&month,&day);
        if (day > 2)
        {
            day = day - 2;
        }
        
        else
        {
            if (month == 5 || month ==7 || month ==8 || month ==10 || month ==12)
            {
                day = day - 2 + 30;
                month = month - 1;
            } 
    		
    		else if (month == 2 || month ==4 || month ==6 || month ==9 || month ==11)
            {
                day = day - 2 + 31;
                month = month - 1;
            } 
    		
    		else if (month == 1)
            {
                day = day - 2 + 31;
                month = 12;
                year = year - 1;
            } 
    		
    		else if (month == 3)
            {
                if (year % 4 == 0) 
                {
                    if(year%100==0)
                    {
                        if (year % 400 == 0)
                        {
                            month = month - 1;
                            day = day - 2 + 29;
                        } 
    					
    					else 
                        {
                            month = month - 1;
                            day = day - 2 + 28;
                        } 
                    } 
    				
    					else
                    	{
                        month = month - 1;
                        day = day - 2 + 29;
                    	}
                } 
    			
    					else
                		{
                    month = month - 1;
                    day = day - 2 + 28;
                		}
            }
        }
        printf("%d-%d-%d", year, month, day);
        return 0;
    }
    

    2.1.3PTA提交列表及说明

    前天是哪天

    • Q1:代码量很大,思路很混乱,没有找到突破口。
      A1:询问同学以后才开始有一些思路,自己尝试了一下。

    • Q2:if-else语句用得太多太混乱。
      A2:将"{}"合理分配,看起来更加清晰明了。

    • Q3:有两种特殊情况没有考虑。
      A3:首先是大月和小月,其次是闰年和平年。

    2.2计算油费

    2.2.1数据处理

    • 数据表达:定义整型变量a(加油量),b(汽油品种);定义字符型变量c(服务类型);定义双精度浮点型变量s(应付款额)。
    • 数据处理:先判断服务类型再判断汽油品种最后算出应付款额;运用了if-else分支结构。

    2.2.2代码截图

    int main()
    {
    int a,b;
    char c;
    double s;
    scanf("%d %d %c",&a,&b,&c);
    if(c=='m')     //服务类型c为自助 
    {
    if(b==90)     //加90号汽油 
    {s=0.95*6.95*a;} 
    
    if(b==93)     //加93号汽油 
    {s=0.95*7.44*a;}
    
    if(b==97)     //加97号汽油 
    {s=0.95*7.93*a;} 
    }
     
    else if(c=='e')     //服务类型c为协助 
    {
    if(b==90)
    {s=0.97*6.95*a;}
    
    if(b==93)
    {s=0.97*7.44*a;}
    
    if(b==97)
    {s=0.97*7.93*a;} 
    }
    printf("%.2f",s);
    return 0;
    }
    

    2.2.3PTA提交列表及说明

    计算油费

    • Q1:第一次答案错误在哪?
      A1:没有按相应的类型来划分导致答案出错。

    2.3计算油费

    2.3.1单步调试截图

    计算油费

    2.3.2代码截图

    计算油费

    2.3.3PTA提交列表及说明

    计算油费

    • Q1:当答案错误时如何找出答案?
      A1:在VS中进行单步调试并且监视变量,然后进行逐语句调试即可找出错误点。
  • 相关阅读:
    python学习之字典合并
    python学习之列表、元组、集合、字典随笔
    图像检索中的概念
    卷积、反卷积、转置卷积资源
    计算机视觉顶级会议和期刊
    Week17
    Python协程资源
    深度图像资源
    Geo-localization论文阅读list2
    NetVLAD原理详解和推导
  • 原文地址:https://www.cnblogs.com/lzwx2/p/13936387.html
Copyright © 2011-2022 走看看