zoukankan      html  css  js  c++  java
  • 第一次上机总结

    第一次上机总结

    问题:

    • oj暴毙了一个多小时我真的没想到(xdjm编程真积极...)
    • 没有写分号;或者写了中文分号(编译器不认中文分号)
    • if语句里面不是字符串
      错误示例:
    if("a<0&&b>0")
    

    正确写法(建议ifforwhile块用大括号给括起来)

    if(a<0&&b>0){;}
    else if(a>=0&&b>0){;}
    else {}
    
    • 输出不按照题目要求来写 一定注意输出格式 别打多余信息出来

    tips:

    • 输入和输出
    类型 scanf printf
    int %d %d
    long long %lld %lld
    char %c %c
    double %lf %f

    格式控制的一些基本用法
    例如:若a为double型 printf("%.6f",a);输出6位小数

    如果题目对输入输出有特殊要求,关注HINT

    • 字符画
      win+R打开记事本 把字符画原样粘进去 ctrl+H(替换) 把所有的换成\ 把所有的"换成"
      也可以自己写代码实现这一功能.
    • 读入不定组数据
      scanf有返回值,表示成功读入的变量个数,如果到达文件末尾返回EOF(-1).用while循环控制.
    • 形如3/1600的是整数除法,需要浮点数除法请用3.0/1600.0

    AC代码

    先更新我写的 正式版题解参考下面链接
    及时关注https://gitee.com/duchenhong/programming_routine_2021c/

    A题 北航欢迎你

    字符画.这东西用程序生成代码即可 代码链接https://paste.ubuntu.com/p/QY7FWyMNZ9/

    B题 简单方程

    注意条件判断 先验判别式

    #include <stdio.h>
    int main(){
    	double a,b,c,delt,x1,x2;
    	scanf("%lf%lf%lf",&a,&b,&c);
    	delt = b * b - 4 * a * c;
    	if(delt < 0.0){
    		puts("no real roots");
    	}
    	else{
    		if(delt == 0.0){
    			x1 = -b / (2 * a);
    			printf("%.6f %.6f
    ",x1,x1);
    		}
    		else{
    			x1 = (-b - sqrt(delt)) / (2 * a);
    			x2 = (-b + sqrt(delt)) / (2 * a);
    			if(a > 0.0){
    				printf("%.6f %.6f
    ",x1,x2);
    			}
    			else{
    				printf("%.6f %.6f
    ",x2,x1);
    			}
    		}
    	}
    	return 0;
    }
    

    C题 ZJD学GCD

    最大公约数 善于利用hint是一种美德
    两个整数最大公约数和最小公倍数的乘积等于这两个整数的乘积.
    a*b=gcd(a,b)*lcm(a,b)
    代码:

    #include <stdio.h>
    
    int main(){
    	int a,b,gcd,lcm;
    	scanf("%d%d",&a,&b);
    	if(a<b)gcd=a;
    	else gcd=b;
    	while(!(a%gcd==0&&b%gcd==0))gcd--;
    	lcm = a * b / gcd;
    	printf("%d %d
    %d/%d
    ",gcd,lcm,a / gcd,b / gcd);
    	return 0;
    }
    

    D题 计算绩点

    注意一定是浮点数除法

    #include <stdio.h>
    int main(){
    	double x,h;
    	double gps=0,hs=0;
    	while(~scanf("%lf%lf",&x,&h)){
    		if(x>=60&&x<=100){
    			gps+=(4-3.0/1600.0*(100-x)*(100-x))*h;
    		}
    		hs+=h;
    	}
    	printf("%.2f",gps/hs);
    	return 0;
    }
    

    E题 High Heels!

    我们用n记录每一次拾取或者失去的高跟鞋数
    如果整个过程中你的脚下都有高跟鞋,那么你将走上领奖台并成为女王,恭喜你,你赢了!
    意思是说如果中间某一步n<1就直接gameover
    代码如下

    #include <stdio.h>
    int main(){
    	int n,a,b,flag=1;
    	scanf("%d",&n);
    	while(~scanf("%d%d",&b,&a)){
    		n += a?-b:b;
    		if(n <= 0){
    			flag = 0;break;
    		}
    	}
    	if(flag){
    		printf("AWESOME! > > > Heels:%d
    ",n);
    	}
    	else{
    		puts("Sorry, you lose!");
    	}
    	return 0;
    }
    

    F题 cbj学数学分析(阶乘)

    思路 得到n里面有几个5,25,125,....的因子

    #include <stdio.h>
    int main(){
    	int n;
    	while(scanf("%d",&n)!=EOF){
    	    int sum=0;
    		while(n>=5){
    			sum+=n/5;
    			n/=5;
    		}
    		printf("%d
    ",sum);
    	}
    	return 0;
    }
    

    G题 女神的密码1

    代码填空 整数可以表示字符.

    #include <stdio.h>
    int main()
    {
        int a;
        while(scanf("%d.",&a) != EOF) // 读入数字,存到变量a中
        {
    	//请填空
    	putchar(a);
        }
        return 0;
    }
    

    H题 女神的密码2

    找规律就完事了

    #include <stdio.h>
    #include <ctype.h>
    char buffer[1024]={0};
    int main(){
    	fgets(buffer,1024,stdin);//头文件stdio.h 从stdin里面读最多1024个字符到buffer
    	int n = strlen(buffer),i;
    	for(i = 0;i < n;i++){
    		if(islower(buffer[i])){//头文件ctype.h 判断字符是否为小写字母
    			putchar(('z' - buffer[i]) + 'a');
    		}
    		else if(isupper(buffer[i])){//头文件ctype.h 判断字符是否为大写字母
    			putchar(('Z' - buffer[i]) + 'A');
    		}
    	}
        return 0;
    }
    
  • 相关阅读:
    Reactive Extensions (Rx) 入门(5) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(4) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(3) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(2) —— 安装 Reactive Extensions
    Reactive Extensions (Rx) 入门(1) —— Reactive Extensions 概要
    Xamarin NuGet 缓存包导致 already added : Landroid/support/annotation/AnimRes 问题解决方案
    Android 系统Action大全
    Xamarin Forms 实现发送通知点击跳转
    如何理解灰度发布
    推荐一款分布式微服务框架 Surging
  • 原文地址:https://www.cnblogs.com/woshilxcdexuesheng/p/14523465.html
Copyright © 2011-2022 走看看