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

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

    0.展示PTA总分

    顺序结构

    分支结构

    1.本章学习总结

    1.1学习内容总结

    1)数据类型

    整形 位数 范围
    short 16bit -215~215-1
    int 32bit -231~-231-1
    long 64bit -263~263-1
    浮点型 字节数 格式化输入
    float 4 %f
    double 8 %lf
    字符类 字节数 格式化输入
    char 1 %c
    char[] / %s

    2)* if else与switch case的运用

    if(条件){执行语句}
    else if(){}
    ...
    else{}
    
    case 1(或者'字符'):语句;break;
    case 2:语句;break;
    ...
    default:语句;
    
    • do while 与 while 与 for循环
    do(循环体}
    while(条件)//先执行一次后循环
    
    
    {循环体} //先判断条件后循环
    
    {循环体}
    
    • 能用while循环的一定可以转化为for循环,反之亦然。

    3)随机数的建立

    1. 头文件要加上#include<stdlib.h>include<time.h>
    2. 建立随机数种子srand(time(0))
    3. 对rand()取余

    4)函数

    • 头文件include<math.h>
    • pow函数的调用pow(x,n)
    • sqrt(x)函数
    • 绝对值fabs(x)函数
    • 指数exp(x)函数
    • 以e为低的对数log(x)函数
      等等

    1.2 编程技巧总结

    Ep 1:寻找中间数

    int main(){
    	int max,center,min;
    	int temp;
    	scanf("%d %d %d",&max,&center,&c);
    	if(max<center){
    		temp=max;
    		max=center;
    		center=temp;
    } if(max<min){
    	temp=max;
    	max=min;
    	min=temp;
    } if(center<min){
    	temp=center;
    	center=min;
    	min=temp;
    }printf("%d",center);
    return 0;
    }
    

    Ep 2: 计算油费

    int main(){
    	int oil;
    	char service;
    	int type;
    	double put;
    	scanf("%d %d %c",&oil,&type,&service);
    	switch(type){
    		case 90:
    		put=6.95*oil;
    		break;
    		case 93:
    		put=7.44*oil;
    		break;
    		case 97:
    			put=7.93*oil;
    			break;
    	}
    	if(service=='m'){
    		put=put*0.95;
    	}else{
    		put=put*0.97;
    	}
    	printf("%.2f",put);
    	return 0;
    }
    

    Ep 3:找出三位水仙花数

    #include<math.h>
    int main() {
    	int m, n;
    	int i;
    	int a, b, c;
    	int count = 0;
    	scanf("%d %d", &m, &n);
    	if (m < 100 || m>999 || n < 100 || n>999 || m > n) {
    		printf("Invalid Value.");
    	}
    	else {
    		for (i = m; i <= n; i++) {
    			a = i % 10;
    			b = i / 10 % 10;
    			c = i / 100;
    			if (pow(a, 3) + pow(b, 3) + pow(c, 3) == i) {
    				printf("%d
    ", i);
    				count++;
    			}
    		}
    		if (count == 0) {
    			printf("");
    		}
    	}return 0;
    }
    

    1.3学习体会

    之前每次遇到新题无从下手,现在学会了数据表达、数据处理,设置合理的变量名。切记逻辑理顺后在下手,“不可写一点是一点”!现在代码量提高了一点,写起代码不像暑假那么蹩脚,深刻意识到多练才能提升!
    对老师的意见:脚步慢一点。。
    前俩周的代码量:30左右道题吧

    2.PTA实验作业

    2.1 前天是哪天

    • 数据处理
      int year,month,day
      用分支结构(switch)

    • 代码量太多,思路错乱导致第一次结果出错。应该学习更方便的代码。

    2.2 和字符型数据处理有关的题目(油费计算)

    • 数据处理
      油量 double oil;
      油种类 int type;
      服务类型 char service;
      油费 double result。
      方式:运用if else以及switch case罗列不同情况。
    • 代码截图
    • PTA提交列表及说明

      注意字符service=m,m要加单引号!

    2.3 介绍单步调试如何检查错误

    • 统计字符为例

    • 也可以手动printf进行数据的调试。

    错误经过调试后发现“回车 ”也算字符在内,修改后结果如下

    • 单步调试用来发现错误地方,是解决问题的不二手段
  • 相关阅读:
    python环境准备(2020-1-13)
    git知识
    toolbar的相关知识
    Android开发极光推送功能实现步骤
    Android开发分享功能实现步骤
    使用tablayout和viewpager实现简单的页面布局
    activity与fragment的交互(一个activity跳转到另一个fragment)
    java中堆区和栈区的区别
    WebView的基本使用
    final的用法
  • 原文地址:https://www.cnblogs.com/zhangguande/p/13946334.html
Copyright © 2011-2022 走看看