C语言学习记录【一】

目录

输出最大的数

数的倒置

最大公约数

数组的冒泡排序


输出最大的数

        本题要求:输入三个数,然后再输出其中最大的数

#include<stdio.h>

int main()
{
	int a;
	long long max = -1123234243294824;//将其定义为long long,让其一定小于输入的int值,以满足要求
	for(int i=0; i<3; i++){
		scanf("%d", &a);
		if(a>max){
			max = a;
		}
	}
	printf("%d", max);
	return 0;
} 

本题采用循环输入,依次比较的方法,来得出最大值。

数的倒置

        本题要求,输入一个数,然后输出这个数的倒置

#include<stdio.h>

int main()
{
	int a;
    printf("请输入一个数:");
	scanf("%d", &a);
	int t=0,m=1;
	while(a!=0){
		t=a%10 + t*10;
		a /= 10;
	}
	printf("这个数的倒置:%d", t);
	return 0;
}

最大公约数

        写一个函数,完成输入两个整数,输出最大公约数的功能

#include<stdio.h>

int GCD(int a, int b);//声明函数

int main()
{
	int a, b;
	printf("请输入两个数:");
	scanf("%d %d", &a, &b);
	printf("它们的最大公约数为:%d", GCD(a, b));
	return 0;
}

int GCD(int a, int b){
	int t;
	while(b != 0){
		t = a % b;
		a = b;
		b = t;
	}
	return a;
}

本题采用辗转相除法,具体方法如下:

数组的冒泡排序

        首先输入一个数组的大小a,然后输入数组的数据,接下来对数组由小到大排序后再输出

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

int main()
{
	int a;
	scanf("%d", &a);
	int t;
	int *arr = (int *)malloc(sizeof(int)*a);//为数组动态分配空间 
	for(int i=0; i<a; i++){  //循环读入数组的值。 
		scanf("%d", &arr[i]);
	}
	for(int i=1; i<=a-1; i++){
		for(int j=0; j<=a-i; j++){
			if(arr[i]<arr[j]){
				t = arr[j];
				arr[j] = arr[i];
				arr[i] = t;
			}
		}
	}
	printf("%d", arr[0]);
	for(int i=1; i<a; i++){
		printf(" %d", arr[i]);
	}
	free(arr);//释放空间
	return 0;
}

本题采用了冒泡排序动态分配内存的方法,在合理地给数组分配了资源同时,也快速地对其进行了排序

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值