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

    0.展示PTA总分


    1.本章学习总结

    1.1 学习内容总结

    1.if 语句

    适用需要判断条件再执行的情况

    if(条件)

    {

    执行的语句

    }
    条件中 &&表示同时满足——和,||表示或者。

    2.if-else 语句

    主要适用于需要分段的情况

    if(条件)

    {

    执行的语句

    }

    else{

    执行的语句

    }//跟if的括号里的条件相反的情况
    3.if-if else 语句

    if(条件)

    {

    执行语句

    }else if (除第一个if之外条件)

    {

    }else if (除第一第二个条件之外的条件)

    {

    }else {}//除上面提及的条件之外的条件

    4.if 的嵌套

    if 的执行语句可以用if

    5.switch语句

    switch(表达式)//必须为整形
    {case 1:
    case 2:
    default:
    //输入值则跳转到该值的case语句执行,以break 结束跳出switch,否则按顺序继续执行下一条,default为除case 的条件之外的数。
    }

    2.随机数

    
    srand(time(0)) ;//先设置随机种子 ,为了每回种下一个不一样的种子,所以就选用Time(0),Time(0)是得到当前时时间值。
    rand()%100;//然后产生随机数 ,范围为0~99;
    

    函数预处理:

    #include <stdlib.h> 
    #include <stdio.h> 
    #include <time.h> 
    

    3.数据输入输出类型

    字符型 占用的字节空间 输入 输出
    int(整形) 4 %d %d
    double(双精度浮点数) 8 %lf %f
    float(单精度浮点数) 4 %f %f
    char(字符型) 1 %c %c

    1.2 编程技巧总结

    1.取某个数的个位数
    用%10来取。

    2.判断整除做法

    
    #include<stdio.h>
    int main()
    {
    	int Rabbitdis, Tortoisedis;
    	int T;
    	scanf("%d", &T);
    	Tortoisedis = 0;
    	Rabbitdis = 0;
    	for (int t = 1; t <= T; t++) {
    		Tortoisedis = 3 * t;
    		Rabbitdis += 9;
    		if (t % 10 == 0 && Rabbitdis < Tortoisedis) {//用%10来判断过了十分钟,则再次判断此时兔子跟乌龟的距离
    			t += 30;
    
    
    		}
    
    
    	}
    	Tortoisedis = T * 3;
    
    	if (Tortoisedis > Rabbitdis)printf("@_@ %d", s1);
    	if (Rabbitdis > Tortoisedis)printf("^_^ %d", s2);
    	if (Tortoisedis == Rabbitdis)printf("-_- %d", s1);
    
    
    	return 0;
    }
    

    3.利用判断条件来控制最后不输出空格

    念数字的题目

    #include<stdio.h>
    int count(int x){
        int cnt = 1;
        while (x > 9) {
            x /= 10;
            cnt *= 10;
    
        }return cnt;
    }
    int main()
    {
        int n;
        int m;
        int x;
        scanf("%d", &n);
        if (n < 0) { printf("fu "); n = -n; }
        int c = count(n);
        for(int i;c>0;i++)
        {
           
            m = n/c;
            n %= c;
            switch (m)
            {
            case 0:
                printf("ling");
                break;
            case 1:
                printf("yi");
                break;
            case 2:
                printf("er");
                break;
            case 3:
                printf("san");
                break;
            case 4:
                printf("si");
                break;
            case 5:
                printf("wu");
                break;
            case 6:
                printf("liu");
                break;
            case 7:
                printf("qi");
                break;
            case 8:
                printf("ba");
                break;
            case 9:
                printf("jiu");
                break;
               
            }
            if (c > 9) { printf(" "); }
            c /= 10;
        }
           
        return 0;
    }
    

    1.3 本章学习体会

    1.学习感受:许多细节的用法不了解,比如如何在最后一格不取0,和ASCII码的运用等等。这需要多花时间去了解学习跟实践。
    2.这周代码量只有500~600行,相对往周较少,还是要多抽时间来刷题,相对多的代码量,才能加强编程技巧和编程能力。

    2.PTA实验作业

    2.1 前天是哪天

    2.1.1 数据处理

    用int 定义 year,month,day 三个变量。
    其中先判断day-2的大小,来判断月份是否有变,
    再根据变的月份来判断变的日,跟年。

    2.1.2 代码截图

    2.1.3 PTA提交列表及说明


    说明:Q1:讨论的条件太多致使逻辑较为混乱
    A1:,导致每次的判断并不全面,此时可用&&,||来使代码量减小,且代码更为全面。
    Q2:思路逻辑的复杂
    A2:其实只需判断好几个特殊的条件便可:如闰年跟非闰年,月份3月到2月,如果是闰
    年则是29天的2月,非闰年则是28天的2月,还有个是有31天和30天两种的月份的跨度。

    2.2 自选一题

    2.1.1 数据处理


    定义一个字符型变量c和整形变量count,再在循环中输入以此来判断类型,如果为非空格则count+1,来统计字符量。

    2.1.2 代码截图

    2.1.3 PTA提交列表及说明


    最大的问题出在
    如果用每次输出"数量 ”来控制格式,如果后方有空格然后‘.’则难以避免,所以我在第二个循环里,加上第一个循环来把第一个单词的字符数先统计出来输出"数字"。
    如果还有第二个则输出则输出" 数字”来控制格式。

    2.3 自选一题,介绍单步调试如何检查错误

    2.3.1 单步调试截图

    1.在scanf后设置断点进入调试


    2.输入样例
    3.开始逐过程调试

    第一次进入default分支,则为97号汽油

    第二次进入分支判断服务类型为m
    之后则输出计算出来的数值。

  • 相关阅读:
    day02-xml
    day01-java重点复习
    RPM包和YUM仓库管理
    Nginx的下载与安装
    yum源本地部署完后网络部署报错
    RAID和LVM
    磁盘管理
    xargs详解
    locate及find查找命令
    linux的进程和管道符(二)
  • 原文地址:https://www.cnblogs.com/jy00/p/13943673.html
Copyright © 2011-2022 走看看