26考研——计算机考研复试——0854(2)

26考研------计算机考研复试------0854(2)

1、题目一

用户首先输入待入库快递的数量,然后一行输入一个快递的取单号,计算不同字母(区
分大小写),分别有多少件。

输入:

4

A5262

C6965

B1858

A2597

输出:

A:2

B:1

C:1

C 复制代码
#include<stdio.h>
#include <string.h>
int main() 
{ 
    int num = 0;
    scanf("%d",&num);
    getchar();//消除scanf后的换行符 
    
    int i,j;
    
    int upper[1000] = {0};
    int lower[1000] = {0};
    char ch;
    
    for(i = 0;i<num;i++){
    	int index = 0;
    	char quNum[100];
        while((ch = getchar())!='\n' && index<100){
            quNum[index] = ch;
            index++;
        }  
        
        for(j = 0;j<index;j++){
            if(quNum[j]<='Z'&&quNum[j]>='A'){
                int cur = quNum[j]-'A';
                upper[cur]++;
            }else if(quNum[j]<='z'&&quNum[j]>='a'){
                 int cur = quNum[j]-'a';
                lower[cur]++;
            }
        }
    }
    
    int x,y;
    //打印大写
    for(x = 0;x<100;x++){
    	if(upper[x]!=0)
        printf("%c:%d\n",x+'A',upper[x]);
    }
    
    //打印小写
    for(y = 0;y<100;y++){
    	if(lower[y]!=0)
        printf("%c:%d\n",y+'a',lower[y]);
    }
    
    return 0; 
 
}

2、题目二

计算某停车场停车用户应该缴纳费用多少。

计费规则:用户每日首次停车在 60 分钟内免费,超出 60 分钟以后,每小时 5 元,不足一小

时,按照一小时来计算

输入数据:

一共有多少条记录

车牌号 入场时间 出场时间

所有数据都在同一天内

输出数据:

车牌号 应缴纳的费用

注意输出格式,输出车牌顺序按照入场数据

输入:

5

A8569 0 5

A9857 15 75

A8569 5 130

A1123 65 120

A4458 10 130

输出:

A8569 15

A9857 0

A1123 0

A4458 5

c 复制代码
#include<stdio.h>
#include <string.h>

typedef struct car{
    char carNum[10];
    int inTime;
    int outTime;
    int flag;//记录该车是否是第一次进入
    int money;
}Car;

int main(){
    int num = 0;
    scanf("%d",&num);
    getchar();//消除scanf后的换行符
    int i,j;
    Car car[num];
    
    // 初始化flag为1(每辆车第一次进入)
    for(i=0;i<num;i++){
        car[i].flag = 1;
        car[i].money = 0;
    }
    
     // 读取数据
    for(i=0;i<num;i++){
        scanf("%s %d %d",car[i].carNum,&car[i].inTime,&car[i].outTime);
    }
    
    for(i=0;i<num;i++){
        int curTime = car[i].outTime-car[i].inTime;
        if(car[i].flag==1){
            
            if(curTime<=60){
                car[i].money = 0;
            }else{
            	int extraTime = curTime -60;
            	int hour = (extraTime+59)/60;
            	car[i].money = hour*5;
			}
			car[i].flag = 0;
    	}else{//不是第一次进场的车
			 int hour = (curTime+59)/60;
			 car[i].money = hour*5; 
    		
		}
	}
	
	//判断是否是同一辆车
	for(i = 0;i<num;i++){
		for(j = i+1;j<num;j++){//从第二辆车开始判断是否是同一辆车 
			if(strcmp(car[i].carNum,car[j].carNum)==0){
				car[j].money+=car[i].money;//将第一次的费用加到第二次上 
				car[i].money = 0;//第一次的费用清零 
				//car[j].flag = 0;
			}
		}
	} 
	
    
    // 输出结果:只输出每个车牌最后一次出现的记录
    for(i = 0;i < num;i++){
        // 判断是否是最后一次出现
        int isLast = 1;
        for(j = i+1;j < num;j++){
            if(strcmp(car[i].carNum, car[j].carNum) == 0){
                isLast = 0;
                break;
            }
        }
        
        if(isLast){  // 只输出最后一次出现的记录
            printf("%s %d\n", car[i].carNum, car[i].money);
        }
    }
    
    
    return 0;
}

3、题目三

设计某图书管理系统,计算某本书被借的学生的学生编号

输入数据:

记录条数学生编号 图书编号

图书编号

输出数据:

图书编号 学生编号 1 学生编号 2...

3

A123 1

B456 2

C789 1

1

1 A123 C789

c 复制代码
#include<stdio.h>
#include <string.h>
typedef struct regard{
    char stuId[100];
    int bookId;
}Regard;

int main(){
    int num = 0;
    scanf("%d",&num);
    getchar();
    int i,j;
    int searchNum = 0;
    Regard regard[num];
    
    //输入记录 
    for(i = 0;i<num;i++){
    	scanf("%s %d",regard[i].stuId,&regard[i].bookId);
	}
	
	//输入要查询的图书编号
	scanf("%d",&searchNum); 
	
	printf("%d",searchNum);
	for(j = 0;j<num;j++){
		if(regard[j].bookId==searchNum){
			
			printf(" %s",regard[j].stuId);
		}
	}
    
    
    return 0;
}

4、题目四

给定一个整形数据,将其转化为字符串格式输出。(注:禁止使用 C 语言任何库函数)

例:

输入:12390

输出:12390

c 复制代码
#include<stdio.h>
#include <string.h>

int main(){
	int num;
	scanf("%d",&num);
	int origin = num;
	char c[100];
	int i = 0;
	int count = 0;
	while(origin>0){
		int tail = origin%10;
		count++;
		origin = origin/10; 
	}
	
	//printf("%d",count);
	int j = count-1;
	while(num>0){
		int tail = num%10;
		c[j] = tail+'0';
		j--;
		num = num/10; 
	}
	c[count] = '\0';
	
	
	printf("%s",c);
	return 0;
}

5、题目五

给定一个数组,输出其中所有是 7 的倍数但不是 4 的倍数的所有值。

例:

输入:[2,7,65,42,15,28]

输出:7 42

c 复制代码
#include<stdio.h>
#include <string.h>

int main(){
	int arr[100];
	int i = 0;
	getchar();//读'['
	
	while(scanf("%d",&arr[i])==1){
		i++;
		char ch = getchar();
		if(ch==']'){
			break;
		}
	} 
	int l = i-1;
	for(i = 0;i<l;i++){
		if((arr[i]%7==0)&&(arr[i]%4!=0)){
			printf("%d ",arr[i]);
		}
	}
	
	
	return 0;
}

6、题目六

给定二维数组,将奇数行进行升序排序,偶数行进行降序排序

例:

输入

2 , 4 , 23, 1, 5

6, 4, 5, 32, 1

5, 7, 3, 45,1

输出:

1 4 2 5 23

32 6 5 4 1

1 3 5 7 45

复制代码

7、题目七

自然常数 e 可以用级数 1 + 1/1! + 1/2! + ... + 1/n! + ... 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。

输入格式:
输入第一行中给出非负整数 n (≤1000)。

输出格式:
在一行中输出部分和的值,保留小数点后八位。

输入样例:

10

输出样例:

2.71828180

c 复制代码
#include<stdio.h>
#include <string.h>


double fn(int num){
	if(num==1||num==0){
		return 1;
	}

	double ret = 1;
	int i;
	for( i = num;i>0;i--){
		ret*=i*1.0;
	}
	return ret;
}

int main(){
	
	int num = 0;
	scanf("%d",&num);
	double ret = 0.0;
	int i;
	for( i = 0;i<=num;i++){
		ret+=1.0/fn(i);
	}
	
	printf("%.8lf",ret);
	return 0;
}

8、题目八

有一个8层灯塔,每层的灯数都是上一层的2倍,共有765盏灯。编程求最上层的灯数。

c 复制代码
#include<stdio.h>
#include <string.h>


int main(){
	int height = 8;
	int total = 765;
	int i;
	int bei = 1;
	int initNum = 0;
	int sum = 1;
	for(i = 1;i<height;i++){
		bei*=2;
		sum+=bei;
	}
	
	initNum = total/sum;
	
	printf("%d",initNum);

9、题目九

有ab两个人,互为对手,相隔一段距离,给出2个人的xy坐标,根据公式可算距离,根据两人的攻击半径和攻击力量判定输赢。
若距离大于x或y的坐标,则无人受伤;否则xy坐标输入为负值。
若在攻击范围内,力量大的获胜。
输入的ab两人xy坐标,攻击半径,攻击力量大小输出判断输赢。

输入输出格式

输入描述:

第一行输入a的坐标,攻击半径,攻击力量

第二行输入b的坐标,攻击半径,攻击力量

输出描述:

如果a胜,输出"a win"

如果b胜,输出"b win"

如果无人受伤,输出"no onhurt"

c 复制代码
#include<stdio.h>
#include <string.h>
#include <math.h>


typedef struct npc{
	int x;
	int y;
	int r;
	int power;
}Npc;

int main(){
	int i = 0;
	Npc npc[2];
	scanf("%d %d %d %d",&npc[0].x,&npc[0].y,&npc[0].r,&npc[0].power);
	getchar();
	scanf("%d %d %d %d",&npc[1].x,&npc[1].y,&npc[1].r,&npc[1].power);
	
	double distance = sqrt(((npc[1].x-npc[0].x)*(npc[1].x-npc[0].x))+((npc[1].y-npc[0].y)*(npc[1].y-npc[0].y)));
	if(npc[0].r*1.0<distance&&npc[1].r*1.0<distance){
		printf("no one hurt");
	}else if(npc[0].r*1.0>distance&&npc[1].r*1.0<distance){
		printf("a win");
	}else if(npc[1].r*1.0>distance&&npc[0].r*1.0<distance){
		printf("b win");
	}else if(npc[0].r*1.0>=distance && npc[1].r*1.0>=distance){
		if(npc[0].power>npc[1].power){
			printf("a win");
		}else if(npc[0].power<npc[1].power){
			printf("b win");
		}else{
			printf("no one hurt");
		}
	}
	
	return 0;
}

10、题目十

给一个数组(不是有序的),找出这个数组中出现次数 6 次及以上的数,有则打印出来,无则输出无(假设只有一个这样的数)

c 复制代码
#include<stdio.h>
#include <string.h>
#include <math.h>

int main(){
	int arr[100];
	int i = 0;
	getchar();//读'['
	
	while(scanf("%d",&arr[i])==1){
		i++;
		char ch = getchar();
		if(ch==']'){
			break;
		}
	}
	int count = i;
	int ret = 0;
	int j,k;
	 int found = 0;
	for(j = 0;j<count;j++){
		int ret = 0;  // 每次循环重置计数器
		for(k = j+1;k<count;k++){
			if(arr[j]==arr[k]){
				ret++;
			}
		}
		if(ret>=6){
			printf("%d ",arr[j]);
			found = 1;
			break;
			
		}
	}
	 // 没找到则输出"无"
    if(!found){
        printf("无\n");
    }
    
	return 0;
}

11、题目十一

给一个数组,输出数组中除去最大值和最小值的数的平均值

c 复制代码
#include<stdio.h>
#include <string.h>
#include <math.h>


int main(){
    int arr[100];
    getchar();  // 读'['
    int i = 0;
    
    while(scanf("%d",&arr[i]) == 1){
        i++;
        char ch = getchar();
        if(ch == ']'){
            break;
        }
    }
    
    int length = i;
    
    // 处理边界情况
    if(length <= 2){
        printf("0.000000\n");
        return 0;
    }
    
    // 找出最大值和最小值(不修改数组)
    int max = arr[0];
    int min = arr[0];
    for(i = 1; i < length; i++){
        if(arr[i] > max) max = arr[i];
        if(arr[i] < min) min = arr[i];
    }
    
    // 如果最大值等于最小值,说明所有数相同
    if(max == min){
        printf("0.000000\n");
        return 0;
    }
    
    // 求和,跳过所有最大值和最小值
    int sum = 0;
    int count = 0;
    for(i = 0; i < length; i++){
        if(arr[i] != max && arr[i] != min){
            sum += arr[i];
            count++;
        }
    }
    
    double ret = sum * 1.0 / count;
    printf("%lf\n", ret);
    
    return 0;
}

12、题目十二

给出n个字符串,对其排序,字符串允许有空格

复制代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
    int n;
    printf("请输入字符串个数: ");
    scanf("%d", &n);
    getchar();  // 吸收换行符
    
    // 方法1:使用二维数组(固定长度)
    char str[100][1000];  // 最多100个字符串,每个最长1000字符
    
    // 输入n个字符串(允许空格)
    printf("请输入%d个字符串:\n", n);
    for(int i = 0; i < n; i++) {
        // 使用fgets读取整行,包括空格
        fgets(str[i], 1000, stdin);
        
        // 去除末尾的换行符
        int len = strlen(str[i]);
        if(str[i][len-1] == '\n') {
            str[i][len-1] = '\0';
        }
    }
    
    // 冒泡排序
    char temp[1000];
    for(int i = 0; i < n - 1; i++) {
        for(int j = 0; j < n - i - 1; j++) {
            if(strcmp(str[j], str[j+1]) > 0) {
                // 交换字符串
                strcpy(temp, str[j]);
                strcpy(str[j], str[j+1]);
                strcpy(str[j+1], temp);
            }
        }
    }
    
    // 输出排序结果
    printf("\n排序后的结果:\n");
    for(int i = 0; i < n; i++) {
        printf("%s\n", str[i]);
    }
    
    return 0;
}

13 、题目十三

集合运算是一种常见的问题,如找出两个集合中的相同元素和不同元素等。你的任务很简单,找出所有集合中相同的元素。


输入输出格式

输入描述:

三行,第一行是元素的个数 NN (N≤50N ≤50),然后是两行,每行有 NN 个整数,用空格隔开。

输出描述:

两行,第一行为相同元素个数,第二行为相同元素的升序,用空格隔开

c 复制代码
#include<stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>


void bubbleSort(int arr[], int n) {
    // 外层循环:控制比较轮数
    int i,j;
    for( i = 0; i < n - 1; i++) {
        // 内层循环:进行相邻元素比较和交换
        for( j = 0; j < n - i - 1; j++) {
            // 如果前一个元素大于后一个元素,交换
            if(arr[j] > arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main(){
	int num;
	
	scanf("%d",&num);
	int origin1 = num;
	int origin2 = num;
	int arr1[num];
	int arr2[num];
	int i = 0;
	int j = 0;
	while(origin1>0){
		scanf("%d",&arr1[i]);
		origin1--;
		i++;
	}
	
	getchar();
	while(origin2>0){
		scanf("%d",&arr2[j]);
		origin2--;
		j++;
	} 
	
	int b[num];
	int k = 0;
	int count = 0;
	for(i = 0;i<num;i++){
		for(j = 0;j<num;j++){
			if(arr1[i]==arr2[j]){
				b[k] = arr1[i];
				k++;
				count++;
			}
		}
	}
	
	bubbleSort(b,count);
	printf("%d\n",count);
	
	for(i = 0;i<count;i++){
		printf("%d ",b[i]);
	}
	return 0;
}

14、题目十四

在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密。简单的加密算法虽然不足以完全避免情报被破解,但仍然能防止情报被轻易的识别。我们给出一种最简单的加密方法,对给定的一个字符串,把其中从A到Y、a到y的字母用其后继字母替代,把Z和z用A和a替代,其他非字母字符不变,则可得到一个简单的加密字符串。

输入描述:

多组测试数据;

每组数据输入一行,包含一个字符串(保证没有空格),长度小于80个字符。

输出描述:

输出每行字符串的加密字符串。

c 复制代码
#include<stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>


int main(){
	char str[80];
	int length;
	int i;
	while(scanf("%s",str)!='\n'){
		length = strlen(str);
		
		for(i=0;i<length;i++){
			if(str[i]<='Z'&&str[i]>='A'){
				str[i] = str[i]+1;
			}else if(str[i]<='z'&&str[i]>='a'){
				str[i] = str[i]+1;
			}
		}
	printf("%s",str);
}

	return 0;
}

15、题目十五

求n个数的最小公倍数。

输入描述:

多组测试数据,第一行一个数 nn (0<n<=100<n<=10),下面n个数,integer范围内。

输出描述:

这n个数的最小公倍数。

输入输出样例

输入样例#1:

5

6 3 5 4 2

输出样例#1:

60

c 复制代码
#include<stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main(){
	int num = 0;
	scanf("%d",&num);
	
	if(num==0){
		return 0;
	}
	
	int arr[num];
	int i;
	for(i = 0;i<num;i++) {
		scanf("%d",&arr[i]);
	}
	int ret;
	for(i = 0;i<num-1;i++) {
		int temp = lcm(arr[i],arr[i+1]);
		arr[i+1] = temp;
		if(i==num-2){
			ret = temp;
		}
	}
	
	printf("%d",ret);
	return 0;
}

16、题目十六

求出菲波那切数列的第n项

c 复制代码
#include<stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int fn(int num){
	
	if(num==2||num==1){
		return 1;
	}
	
	return fn(num-1)+fn(num-2);
}

int main(){
	int num;
	scanf("%d",&num);
	
	int ret = fn(num);
	printf("%d",ret);
	
	return 0;
}

17、题目十七

输入一段字符串,把其中的"tantan"都替换为baibai

如果字符串中不含有"tantan",则输出"not find"(不含引号

** 输入样例 **

daaitantanyyd

输出样例:

daaibaibaiyyds

c 复制代码
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main() {
    char str[1000];
    char result[1000] = "";
    char temp[1000];
    
    // 输入字符串
    gets(str);
    
    int len = strlen(str);
    int i = 0;
    int found = 0;
    
    while(i < len) {
        // 检查当前位置是否是 "tantan"(不区分大小写)
        if(i + 5 < len && 
           tolower(str[i]) == 't' &&
           tolower(str[i+1]) == 'a' &&
           tolower(str[i+2]) == 'n' &&
           tolower(str[i+3]) == 't' &&
           tolower(str[i+4]) == 'a' &&
           tolower(str[i+5]) == 'n') {
            // 找到 "tantan",替换为 "baibai"
            strcat(result, "baibai");
            i += 6;
            found = 1;
        } else {
            // 不是 "tantan",直接复制当前字符(转为小写)
            char ch = tolower(str[i]);
            strncat(result, &ch, 1);
            i++;
        }
    }
    
    // 输出结果
    if(found) {
        printf("%s\n", result);
    } else {
        printf("not find\n");
    }
    
    return 0;
}

18、题目十八

编写程序实现十进制数到二进制数的转换。

输入输出格式

输入描述:

输入只有一行,就是十进制整数。

输出描述:

转换后的二进制数。

输入输出样例

输入样例#:

10

输出样例#:

1010

c 复制代码
#include<stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main() 
{ 
    int num;
    scanf("%d",&num);
    int arr[15];
    int i = 0;
    
    // 处理输入为0的特殊情况
    if (num == 0) {
        printf("0\n");
        return 0;
    }
    
    while(num>0){
        int temp = num%2;
        arr[i] = temp;
        i++;
        num = num/2;
    }
    
    int len = i;
    int j= 0;
    for(j = len-1;j>=0;j--){
        printf("%d",arr[j]);
    }
    return 0; 
 
}

19、题目十九

输入30个数,求出现次数大于等于16的数的个数。若有则输出那个数,没有则输出none。

输入描述:

如题

输出描述:

如题

输入输出样例

输入样例#1:

2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0

输出样例#1:

1

c 复制代码
#include<stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main(){
	int arr[30];
	int b[10];
	int i;
	for(i = 0;i<30;i++){
		scanf("%d",&arr[i]);
	}
	int j;
	i = 0;
	int count = 0;
	int k = 0;
	int flag = 0;
	for(j = 0;j<30;j++){
		int count = 0;
		for(i = 0;i<30;i++){
			if(arr[j]==arr[i]){
				count++;
			}
		}
		
		if(count>=16)
			b[k] = arr[j];
			flag =1;
			break;
	} 
	
	if(flag){
		printf("%d",b[0]);
	}else{
		printf("not found\n");
	}
	
	return 0;
}

20、题目二十

给你一个只有小写字母的字符串,按照 a = 1, b = 2, c = 3, d = 4, ... z = 26 的方法。求出这个字符串所有字母对应数字之和。

输入描述:

多组测试数据,每组测试数据只有一个字符串

输出描述:

一个整数

输入输出样例

输入样例#0:

youaremylove

输出样例#0:

177

c 复制代码
#include<stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main(){
	char str[100];
	int i,j;
	int arr[100];
	while(scanf("%s",str)!=EOF){
		int sum = 0;
		int len = strlen(str);
		for(i = 0;i<len;i++){
			if(str[i]=='a'){
				arr[i] = 1;
			}else if(str[i]=='b'){
				arr[i] = 2;
			}else if(str[i]=='c'){
				arr[i]=3;
			}else if(str[i]=='d'){
				arr[i]=4;
			}else if(str[i]=='e'){
				arr[i]=5;
			}else if(str[i]=='f'){
				arr[i]=6;
			}else if(str[i]=='g'){
				arr[i]=7;
			}else if(str[i]=='h'){
				arr[i]=8;
			}else if(str[i]=='i'){
				arr[i]=9;
			}else if(str[i]=='j'){
				arr[i]=10;
			}else if(str[i]=='k'){
				arr[i]=11;
			}else if(str[i]=='l'){
				arr[i]=12;
			}else if(str[i]=='m'){
				arr[i]=13;
			}else if(str[i]=='n'){
				arr[i]=14;
			}else if(str[i]=='o'){
				arr[i]=15;
			}else if(str[i]=='p'){
				arr[i]=16;
			}else if(str[i]=='q'){
				arr[i]=17;
			}else if(str[i]=='r'){
				arr[i]=18;
			}else if(str[i]=='s'){
				arr[i]=19;
			}else if(str[i]=='t'){
				arr[i]=20;
			}else if(str[i]=='u'){
				arr[i]=21;
			}else if(str[i]=='v'){
				arr[i]=22;
			}else if(str[i]=='w'){
				arr[i]=23;
			}else if(str[i]=='x'){
				arr[i]=24;
			}else if(str[i]=='y'){
				arr[i]=25;
			}else if(str[i]=='z'){
				arr[i]=26;
			}
		}
		for(j = 0;j<i;j++){
		sum+=arr[j];
	}
	printf("%d",sum);
	}
	
//	//简便写法
//	while(scanf("%s", str) != EOF){
//        int sum = 0;
//        int len = strlen(str);
//        
//        for(int i = 0; i < len; i++){
//            sum += str[i] - 'a' + 1;
//        }
//        
//        printf("%d\n", sum);
//    } 
	
	return 0;
}

21、题目二十一

小X在纸上画出了三条线段,请你帮助他判断这三条线段能否构成平面三角形;如果能,并判定三角形的类型,即锐角、直角或钝角。


输入输出格式

输入描述:

第一行输入一个整数T,表示测试数据组数,约1000组。接下来T行每行输入三个整数a, b, c (0<=a, b, c<=1000),表示三角形的三边长。

输出描述:

对于每组数据,输出一个整数,表示答案。若不能构成三角形,输出-1;若构成锐角三角形,输出1;若构成直角三角形,输出2;若构成钝角三角形,输出3。


输入输出样例

输入样例:

text

复制代码
2
3 4 5
1 2 3

输出样例:

text

复制代码
2
-1
c 复制代码
#include<stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main(){
	  int num;
	  scanf("%d",&num);
	  
	  while(num>0){
	  	int a,b,c;
		scanf("%d %d %d",&a,&b,&c);
		   if((a+b<=c)||(a+c<=b)||(b+c<=a)){
		   		printf("-1");
		   }else{
		   		if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)){
		   			printf("2\n");
		   		}else if((a*a+b*b>c*c)||(a*a+c*c>b*b)||(b*b+c*c>a*a)){
		   			printf("1\n");
				}else{
					printf("3\n");
				}
		   
		   }
		   num--;
	  } 
	
	return 0;
} 

祝各位考生一志愿上岸,金榜提名!!!

相关推荐
派大星爱吃鱼1 小时前
侧信道安全(Side-Channel Security)
算法·安全
少许极端1 小时前
算法奇妙屋(三十六)-贪心算法学习之路3
学习·算法·贪心算法·买卖股票问题
摇滚侠1 小时前
微信小程序是前端,也需要 Java 开发的后端服务
java·前端·微信小程序
小手cool2 小时前
idea2025.3.3版本很卡
java·idea
星轨初途2 小时前
【C/C++底层修炼】拆解动态内存管理:四大动态内存函数、六大错误与柔性数组
c语言·开发语言·c++·经验分享·笔记·柔性数组
小江的记录本2 小时前
【泛型】泛型:泛型擦除、通配符、上下界限定
java·windows·spring boot·后端·spring·maven·mybatis
pupudawang2 小时前
springboot下使用druid-spring-boot-starter
java·spring boot·后端
逆境不可逃2 小时前
LeetCode 热题 100 之 138. 随机链表的复制 148. 排序链表 23. 合并 K 个升序链表 146. LRU 缓存
算法·leetcode·职场和发展