题目:求两个数的较大值(写一个函数来求)
输入10,20;则输出
#include <stdio.h>
int Max(int x, int y)
{
if (x > y)
return x;
else
return y;
}
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int m = Max(a, b);
printf("%d\n", m);
return 0;
}
//写法2
#include <stdio.h>
int main ()
{
int arr[4] = {0};//这里控制要求的个数
int i = 0;
while(i<4){
scanf("%d",&arr[i]);
i++;
}
int max = arr[0];//假设第一个是最大的
i = 1;
while(i<4){
if(arr[i]>max){
max = arr[i];
}
i++;
}
puts("最大的是");
printf("%d\n",max);
return 0;
}
//写法三
#include <stdio.h>
int main ()
{
int j = 1;
int i = 0;
int max = 0;
scanf("%d",&max);
while(j<4){
scanf("%d",&i);
if(i>max){
max = i;
}
j++;
}
puts("最大的是");
printf("%d\n",max);
return 0;
}
较大值20
输入三个数从大到小排序
转存法
//写代码将三个整数数按从大到小输出。
int main()
{
int a = 0;
int b = 0;
int c = 0;
//输入
scanf("%d%d%d", &a, &b, &c);
//调整顺序
if (a < b)
{
int tmp = a;
a = b;
b = tmp;
}
if (a < c)
{
int tmp = a;
a = c;
c = tmp;
}
if (b < c)
{
int tmp = b;
b = c;
c = tmp;
}
//输出 - 大到小
printf("%d %d %d\n", a, b, c);
return 0;
}
函数法
void cmp(int* px, int* py) //是存储两个数的地址指针,是指针变量,指针变量就是地址
{
int z = 0; //z为暂时存储数据的场所,交换媒介
if (*px < *py) //*px 解指针操作 *px=a(a为地址存储的数字)
{
z = *px;
*px = *py;
*py = z;
}
}
int main()
{
int a = 0;
int b = 0;
int c = 0;
printf("请输入三个数字:\n");
scanf("%d %d %d", &a, &b, &c);
cmp(&a, &b);
cmp(&a, &c);
cmp(&b, &c);
printf("输出排序后的三个数字:\n");
printf("%d %d %d", a, b, c);
return 0;
}
条件法
int main()
{
int a,b,c,max,min;
scanf("%d %d %d",&a,&b,&c);
if(a > b) {
max = a;
min = b;
}
else {
max = b;
min = a;
}
if(c < min) {
min = c;
}
if(c > max) {
max = c;
}
printf("%d %d %d\n",max,a + b + c - max - min,min);
}