1.求10 个整数中最大值。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[10];
int max;
int i=0;
printf("请输入十个整数:");
for (i = 0; i < 10; i++)//这里的循环是为了依次输入数组里的10个数。
scanf("%d", &a[i]);//使用scanf,所以开始要加头文件<stdlib.h>
max = a[0];
for (i = 0; i < 10; i++)
{
if ( max < a[i] )
{
max = a[i];
}
}
printf("max is %d\n", max);
system("pause");
return 0;
}
2.将三个数按从大到小输出。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{ int a,b,c,t;
printf("请输入三个整数:");
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{
t=a;
a=b;
b=t;
}
if(a<c)
{
t=a;
a=c;
c=t;
}
if(b<c)
{
t=b;
b=c;
c=t;
}
printf("%d %d %d\n",a,b,c);
system("pause");
return 0;
}
但是这个方法就会比较繁琐一点,需要比较循环三次,每次进去if都要判断,所以又使用“swap函数”优化了这个代码。要注意的是,在这里,swap里的参数是取地址的,所以定义函数要使用指针变量来完成!
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void Swap(int *px, int *py)
{
int tmp = 0;
tmp = *px;
*px = *py;
*py = tmp;
}
int main()
{
int a, b, c;
printf("请输入三个整数:");
scanf("%d%d%d", &a, &b, &c);
if (a<b)
{
Swap(&a, &b);
}
if (a<c)
{
Swap(&a, &c);
}
if (b<c)
{
Swap(&b, &c);
}
printf("%d %d %d\n", a, b, c);
system("pause");
return 0;
}
以前学指针时候觉得超级难,就放弃了,现在重拾,慢慢理解了!