- 找最小数,输出,并输出它的位置
#include<stdio.h>
main()
{
int a[1000+1], min, i, mi;
int m=6;
for(i=0; i<m; i++)
scanf("%d", &a[i]);
min=a[0]; mi=0;
for(i=0; i<m; i++)
if(a[i]<min)
{ min=a[i]; mi=i;
}
printf("%d, %d\n", min, mi);
return 0;
}
- 输入一些整数(不超过1000个),哪两个数最接近,输出结果?
(1) 假设答案只可能有一对数。
#include<stdio.h>
#include<math.h>
main()
{
int a[1000+1], min, i,j, x,y ;
int m=6;
for(i=0; i<m; i++)
scanf("%d", &a[i]);
min=fabs(a[0]-a[1]); x=0 ; y=1;
for(i=0; i<m-1; i++)
for(j=i+1; j<m; j++)
if( fabs(a[i]-a[j])<min )
{
min=fabs(a[i]-a[j]);
x=i; y=j;
}
printf("%d %d\n", a[x], a[y]);
return 0;
}
- 输入一些整数(不超过1000个),哪两个数最接近,输出结果?
(2) 考虑答案可能有多对数的情况。
#include<stdio.h>
#include<math.h>
#define N 1000
main()
{
int a[N+1], i,j,k=0, min;
int m=6;
for(i=0; i<m; i++)
scanf("%d", &a[i]);
min=fabs(a[0]-a[1]);
for(i=0; i<m-1; i++)
for(j=i+1; j<m; j++)
if( fabs(a[i]-a[j])<min )
min=fabs(a[i]-a[j]);
for(i=0; i<m-1; i++)
for(j=i+1; j<m; j++)
if( fabs(a[i]-a[j])==min )
{
printf("%d %d\n", a[i], a[j]);
}
return 0;
}