将三个整数数按从大到小输出
#include<stdio.h>
#include<windows.h>
void MySwap(int*xp, int*yp)//传址传参,交换两个数数值
{
int temp = *xp;
*xp = *yp;
*yp = temp;
}
PrintData(int a, int b, int c)//两两比较数字大小,前者小于后者则两数字值交换
{
//写代码将三个整数数按从大到小输出。
//例如:输入:2 3 1输出:3 2 1
if (a < b)
{
MySwap(&a, &b);
}
if (a < c)
{
MySwap(&a, &c);
}
if (b < c)
{
MySwap(&b,&c);
}
printf("%d,%d,%d\n", a, b, c);
}
int main()
{
PrintData(56,26,68);
system("pause");
return 0;
}
//错误代码
void MySwap(int x, int y)
{
int temp = x;
x = y;
y = temp;
}
//传址传参,仅仅是交换了拷贝(形参实例化过程中,形成临时变量的拷贝),不会使原本的值发生交换
结果:
打印1—100区间内3的倍数(扩展:打印一个区间内任意数的倍数)
#include<stdio.h>
#include<windows.h>
DivThree(int start, int end, int base)
{
//求一个区间内任意数的倍数
for (int i = start; i <= end; i++)
{
if (i%base == 0)
{
printf("%d ", i);
}
}
printf("\n");
}
int main()
{
//写一个代码打印1 - 100之间所有3的倍数的数字
DivThree(1, 100, 3);//改变此处可求任一个区间,任一个数的倍数
system("pause");
return 0;
}
结果: