目录
输出最大的数
本题要求:输入三个数,然后再输出其中最大的数
#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;
}