将三个数从大到小输出
这是本人面试某国企的应用软件开发时技术面让手撕的一个代码,当时写的不够完整,但是不仅仅撕了这一代码,还是比较简单的,所以还是顺利通过了,所以面试的时候基本逻辑清楚很重要。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a, b, c;
printf("输入三个随机数:");
scanf_s("%d %d %d", &a, &b, &c);
//将最大值存入a中
//默认a,b,c依次从大到小排序
if (a < b)
{
a = a + b;
b = a - b;
a = a - b;
}
if (a < c)
{
a = a^c;
c = a^c;
a = a^c;
}
//将次大值存入b中
if (b < c)
{
int temp;
temp = b;
b = c;
c = temp;
printf("最大的值为%d,中间值为%d,最小值为%d\n", a, b, c);
system("pause");
return 0;
}
输出结果为:
输出三个数中最大值(用指针)
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int a, b, c;
int* p1 = &a;
int* p2 = &b;
int* p3 = &c;
scanf_s("%d,%d,%d", p1, p2, p3);
if (*p1 < *p2)
p1 = p2;
if (*p1 < *p3)
p1 = p3;
printf("max is %d\n", *p1);
system("pause");
return 0;
}