学习笔记8/14(153 题)

联合(共用体)
#include<stdio.h>

int check_cc(){
	union cc{
		char c;
		int  a; 
	}cc;
	cc.a=1;
	//00 00 00 01 小 
	//01 00 00 00 大
	//char c 读第一个字节 
	 
	return cc.c;
}
int main() {
	//利用联合体 判断大小端
	int ret=check_cc();
	if(ret==1){
		printf("小端\n");
	} else{
		printf("大端\n");
	}
	return 0;
}
格式化输出 

%d			//整型输出

%ld		//长整型输出

%o			//以八进制数形式输出整数

%x		   //以十六进制数形式输出整数,或输出字符串的地址

%u			//以十进制数输出unsigned型数据(无符号数)


注意:		%d与%u的区别是,有无符号的数值范围不同,也就是极限的值不同,不然数值打印出来会有误



%c			//用来输出一个字符

%s			//用来输出一个字符串

%f			//用来输出实数,以小数形式输出,默认情况下保留小数点6位

%.5f		//用来输出实数,保留小数点5位

%e			//以指数形式输出实数

%g			//根据大小自动选f格式或e格式,且不输出无意义的零


BC44 小乐乐与欧几里得

BC44 小乐乐与欧几里得

#include<stdio.h>

long gcd(long x,long y){
	return y==0?x:gcd(y,x%y);
}
int main() {
	long n=0;
	long m=0;
	scanf("%ld%ld",&n,&m);
	long a=gcd(n,m);
	long b=n*m/a;
	printf("%ld\n",a+b); 

	return 0;
}
#include<stdio.h>  
  
// 定义一个函数来计算两个长整型数的最大公约数(GCD)  
// 使用递归实现的欧几里得算法  
long gcd(long x,long y){  
    // 如果y为0,则返回x(任何数与0的最大公约数都是该数本身)  
    // 否则,递归调用gcd函数,参数为y和x%y(x除以y的余数)  
    return y==0?x:gcd(y,x%y);  
}  
  
int main() {  
    long n=0; // 定义并初始化第一个长整型变量n  
    long m=0; // 定义并初始化第二个长整型变量m  
      
    // 从标准输入读取两个长整型数并分别赋值给n和m  
    scanf("%ld%ld",&n,&m);  
      
    // 调用gcd函数计算n和m的最大公约数,并将结果存储在变量a中  
    long a=gcd(n,m);  
      
    // 计算n和m的乘积除以它们的最大公约数(这实际上是LCM的一种计算方式)  
    // 但这里直接使用了乘积除以GCD的结果,并将其存储在变量b中  
    long b=n*m/a;  
      
    // 输出a(GCD)和b(乘积除以GCD的结果)的和  
    printf("%ld\n",a+b);   
  
    return 0; // 程序正常结束  
}
BC111 空心正方形图案

BC111 空心正方形图案

#include<stdio.h>  
  
int main() {  
    int n = 0;  
    while (scanf("%d", &n) != EOF) {  
        // 外层循环控制行数  
        int i=1;
        for ( i = 1; i <= n; i++) {  
            // 内层循环1:打印每行的星号和空格  
            int j=1;
            for ( j = 1; j <= n; j++) {  
                // 如果是第一行或最后一行,或者是每行的第一个或最后一个位置,打印星号  
                if (i == 1 || i == n || j == 1 || j == n) {  
                    printf("* ");  
                } else {  
                    // 否则打印空格  
                    printf("  ");  
                }  
                // 注意:不要在每打印一个字符后就换行,而是等到一行打印完再换行  
            }  
            // 每打印完一行后换行  
            printf("\n");  
        }  
    }  
    return 0;  
}
BC107 箭形图案

BC107 箭形图案

#include<stdio.h>  
#include<stdlib.h> 
int main() {  
	int n=0;
	while((scanf("%d",&n)!=EOF)) {
		int i=0;
		int j=0;
		for(i=0;i<n;i++) {
			for(j=0;j<n-i;j++){
				printf("  ");
			}
			for(j=0;j<i+1;j++){
				printf("*");
			}
			printf("\n");
		}
		for(i=n;i>=0;i--) {
			for(j=0;j<n-i;j++){
				printf("  ");
			}
			for(j=0;j<i+1;j++){
				printf("*");
			}
			printf("\n");
		}
	}
    return 0;  
}
BC93 公务员面试

BC93 公务员面试

#include<stdio.h>  
  
int main() {  
    int cc = 0; // 当前读取的整数  
    int n = 0;  // 已经读取的整数数量  
    int max = -1; // 当前7个数中的最大值  
    int min = 999; // 当前7个数中的最小值  
    int sum = 0; // 当前7个数的总和  
  
    // 使用while循环持续读取整数,直到输入结束  
    while (scanf("%d", &cc) == 1) {  
        if (cc > max) {  
            max = cc; // 更新最大值  
        }  
        if (cc < min) {  
            min = cc; // 更新最小值  
        }  
        sum += cc; // 将当前整数加到总和中  
        n++; // 增加已读取的整数数量  
  
        // 如果已经读取了7个整数  
        if (n == 7) {  
            // 计算并输出去掉最大值和最小值后剩余5个数的平均值(保留两位小数)  
            printf("%.2lf\n", (double)(sum - max - min) / 5.0);  
  
            // 重置变量,为下一组7个数的计算做准备  
            max = -1;  
            min = 999;  
            sum = 0;  
            n = 0;  
        }  
    }  
  
    // 注意:如果输入的整数总数不是7的倍数,最后不足7个数的部分将不会被处理  
  
    return 0;  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值