c语言函数fun设计 c语言fun

C语言编写fun函数

#include stdio.h

为东乡族等地区用户提供了全套网页设计制作服务,及东乡族网站建设行业解决方案。主营业务为成都网站建设、网站设计、东乡族网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

#include stdlib.h

#define N 15

void fun(int *a,int n,int p)

{

int *aa,i;

aa=(int *)malloc(sizeof(int)*n);

for(i=0;in;i++)

aa[i]=a[(i+p)%n];

for(i=0;in;i++)

a[i]=aa[i];

free(aa);

}

int main(){

int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

int i;

for(i=0;iN;i++)

printf("%4d",a[i]);

printf("\n");

fun(a,N,6);

for(i=0;iN;i++)

printf("%4d",a[i]);

printf("\n");

}

这个C语言程序题中main函数的fun函数怎么理解?

main函数的fun函数的两个实参,分别为(a++,b++,a+b)和 c++

前者是一个逗号表达式,从左向右计算,其值为最后a+b的值,等于2+3=5

c++是一个后自增表达式,先取c的值传递到形参,然后c再自增。传递的值是3。

所以,最后程序的输出是8。

C语言程序设计 fun函数的功能是,计算二维数组主对角线元素的值和。

① 自定义矩阵阶数,函数间传递数组

#include stdio.h

main()

{

int i,j,n,s;

printf("请输入矩阵阶数:");

scanf("%d",n);

int fun(int n,int a[][n]);

int a[n][n];

printf("请输入矩阵元素:\n");

for(i=0;in;i++)

for(j=0;jn;j++)

scanf("%d",a[i][j]);

s=fun(n,a);

printf("该矩阵主对角线和为:%d\n",s);

}

int fun(int n,int a[][n])

{

int s=0,i;

for(i=0;in;i++)

s+=a[i][i];

return s;

}

② 自定义矩阵阶数,函数间传递指针

#include stdio.h

main()

{

int i,j,n,s;

printf("请输入矩阵阶数:");

scanf("%d",n);

int fun(int n,int (*a)[n]);

int a[n][n];

printf("请输入矩阵元素:\n");

for(i=0;in;i++)

for(j=0;jn;j++)

scanf("%d",a[i][j]);

s=fun(n,a);

printf("该矩阵主对角线和为:%d\n",s);

}

int fun(int n,int (*a)[n])

{

int s=0,i;

for(i=0;in;i++)

s+=a[i][i];

return s;

}

③ 规定函数阶数,函数间传递数组

#include stdio.h

#define N 4

int fun(int a[][N]);

main()

{

int a[N][N],i,j,s;

printf("矩阵阶数:%d\n",N);

printf("请输入矩阵元素:\n");

for(i=0;iN;i++)

for(j=0;jN;j++)

scanf("%d",a[i][j]);

s=fun(a);

printf("该矩阵主对角线和为:%d\n",s);

}

int fun(int a[][N])

{

int s=0,i;

for(i=0;iN;i++)

s+=a[i][i];

return s;

}

④ 规定函数阶数,函数间传递指针

#include stdio.h

#define N 4

int fun(int (*a)[]);

main()

{

int a[N][N],i,j,s;

printf("矩阵阶数:%d\n",N);

printf("请输入矩阵元素:\n");

for(i=0;iN;i++)

for(j=0;jN;j++)

scanf("%d",a[i][j]);

s=fun(a);

printf("该矩阵主对角线和为:%d\n",s);

}

int fun(int (*a)[N])

{

int s=0,i;

for(i=0;iN;i++)

s+=a[i][i];

return s;

}

以4阶为例,运行结果为:


文章名称:c语言函数fun设计 c语言fun
本文来源:http://pwwzsj.com/article/highep.html