
(一)一维数组和指针
定义一个数组,从键盘输入值并将其输出。
#include"stdio.h"
void main()
{
int array[10],*pointer=array,i;/*定义数组和指向数组的指针变量*/
printf("Input 10 numbers: ");
for(i=0; i<10; i++)
scanf("%d", pointer+i); /*使用指针变量来输入数组元素的值*/
printf("array[10]: ");
for(i=0; i<10; i++)
printf("%3d", *(pointer+i)); /*使用指向数组指针变量输出数组*/
printf("\n");
}
(二)二维数组和指针
程序定义了N×N的二维数组,并在主函数中赋值。函数fun的功能是求出数组周边元素的平均值并作为函数值返给主函数中的s。
例如:
则返回主程序后s的值应为:3.375。
#include <stdio.h>
#define N 5
double fun (int (*w)[N])
{
int i,j;
double av=0.0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(i==0||j==0||i==N-1||j==N-1) av+=w[i][j];
return av/(5*4-4);
}
main ()
{int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5, 9,1,4,1};
int i, j;
double s ;
printf("***** The array *****\n");
for (i =0; i<N; i++)
{for (j =0; j<N; j++)
{printf("%4d", a[i][j]);}
printf("\n");
}
s = fun (a);
printf ("***** THE RESULT *****\n");
printf("The sum is : %lf\n",s);
}
二、练习
以下的程序的输出结果是__________。
void amovep(int *p,int(*a)[3],int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++){*p=a[i][j];p++;}
}
void main()
{int *p,a[3][3]={{1,3,5},{2,4,6}};
p=(int*)malloc(100);
amovep(p,a,3);
printf(“%d%d\n”,p[2],p[5]);
free(p);
}
【答案】56考研实用工具推荐
1、2022考研院校专业匹配查询系统
2、近4年全国各在招院校专业复试分数线查询
3、历年调剂信息查询
4、历年各院校专业目录查询
5、历年各院校报录比查询
6、历年各院校参考书目录查询
免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用,不涉及商业盈利目的。如涉及版权问题,请联系本站管理员予以更改或删除。
分享到
下一篇:计算机组成原理-微命令的编码方式





