C语言:数组名作为函数参数

任务代码:

数组多数字求最大公约数:

#include 

#define N 8

int gcd(int,int);

int main()
{
    int a[N]={26,1007,956,705,574,371,416,517};
    int b[N]={994,631,772,201,262,763,1000,781};
    int c[N];
    int i;
    
    for(i=0;i

数组内存放10个学生的成绩并求平均值:

#include 

#define N 10

float averageMark(int array[],int n)
{
    int i,sum=array[0];
    float aver;
    for(i=1;i


向量数乘和:

C语言:数组名作为函数参数_第1张图片

#include 

int p(int a,int x[],int b, int y[],int n);


int main()
{
    int s1,s2;
    int d[]={1,3,5,2,6,8,3};
    int v[]={1,3,2,4,6,5,7,4,7,8};
    int w[]={2,3,4,6,2,3,6,8,9,9};
    s1=p(1,d,2,v,7);
    s2=p(3,v,4,w,9);
    
    printf("向量1的结果为:%d\n",s1);
    printf("向量2的结果为:%d\n",s2);
    return 0;
}

int p(int a,int x[],int b, int y[],int n)
{
    int sum=0,i;
    for(i=0;i<=n;i++)//注意这里必须是<=因为最后要算到第n项
    {
        sum+=a*x[i]+b*y[i];
    }
    return sum;
}

专门用于排序的函数:

#include 
//使用冒泡排序法和数组指针来是数组内的数据排序

#define N 10

void bubblesort(int array[])
{
    int i,j;
    int t;
    for(i=0;iarray[j+1])
            {
                t=array[j+1];
                array[j+1]=array[j];
                array[j]=t;
            }
        }
    }
}

int main()
{
    int a[N]={3,-9,2,5,7,98,-1,-5,100,32};//定义一个无序数组
    bubblesort(a);//冒泡排序a数组
    printf("整理后的数组为:");
    int i;
    for(i=0;i



执行情况:

第一题:

C语言:数组名作为函数参数_第2张图片

第二题:


第三题:



第四题:



知识总结:

C语言:数组名作为函数参数_第3张图片



数组的名称就是代表指针!指针的改变可以是元数组的值改变!



你可能感兴趣的:(C语言提高学习)