1、打擂台算法
1 #include<stdio.h>
2 int main()
3 {
4 int max(int x,int y);
5 int a[10],m,n,i;
6 printf("enter 10 numbers:");
7 for(i=0;i<10;i++)
8 scanf("%d",&a[i]);
9 printf("\n");
10 for(i=0,m=a[0],n=0;i<10;i++)
11 {
12 if(max(m,a[i])>m)
13 {m=max(m,a[i]);
14 n=i;
15 }
16 }
17 printf("The largest number is %d\n is the%dth number\n",m,n+1);
18 }
19 int max(int x,int y)
20 {
21 return(x>y?x:y);
22 }
2、一维数组名做函数参数求平均值
1 #include<stdio.h>
2 int main()
3 {
4 float average(float array[10]);
5 float score[10],aver;
6 int i;
7 printf("input 10 scores:\n");
8 for(i=0;i<10;i++)
9 scanf("%f",&score[i]);
10 printf("\n");
11 aver=average(score);
12 printf("average is %5.2f\n",aver);
13 return 0;
14 }
15 float average(float array[10])
16 {
17 int i;
18 float aver,sum=array[0];
19 for(i=1;i<10;i++)
20 sum=sum+array[i];
21 aver=sum/10;
22 return(aver);
23 }
3、用选择法排序
#include<stdio.h>
int main()
{
void sort(int array[],int n);
int a[10],i;
printf("enter arry:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);
printf("the sort arry:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
void sort(int arry[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(arry[j]<arry[k])
k=j;
t=arry[k];arry[k]=arry[i];arry[i]=t;
}
}
4、二维数组做形参时第一位大小省略,第二位不能省略
1 #include<stdio.h>
2 int main()
3 {
4 int max(int array[][4]);
5 int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};
6 printf("Max value is%d\n",max(a));
7 return 0;
8 }
9 int max(int arry[][4])
10 {
11 int i,j,max=arry[0][0];
12 for(i=0;i<3;i++)
13 for(j=0;j<4;j++)
14 if(arry[i][j]>max)
15 max=arry[i][j];
16 return max;
17 }
5、全局变量求最低分和最高分·
#include<stdio.h>
float Max=0,Min=0;
int main()
{
float average(float array[],int n);
float ave,score[10];
int i;
printf("please enter 10 scores:");
for(i=0;i<10;i++)
scanf("%f",&score[i]);
ave=average(score,10);
printf("max=%6.2f\nmin=%6.2f\naverage=%6.2f\n",Max,Min,ave);
return 0;
}
float average(float array[],int n)
{
int i;
float aver,sum=array[0];
Max=Min=array[0];
for(i=1;i<n;i++)
{
if(array[i]>Max)
Max=array[i];
else if(array[i]<Min) Min=array[i];
sum=sum+array[i];
}
aver=sum/n;
return(aver);
}