c语言的一维数组指针函数 一维数组的指针表达方式

大一C语言问题?一维数组与指针函数?

#includestdio.h

成都创新互联专注于企业营销型网站建设、网站重做改版、乌审网站定制设计、自适应品牌网站建设、H5响应式网站商城开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为乌审等各大城市提供网站开发制作服务。

void Input(int *a,int n)

{int i;

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

scanf("%d",a+i);

}

int Max(int *a,int n)

{int i,max=*a;

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

if(*(a+i)max)max=*(a+i);

return max;

}

int Min(int *a,int n)

{int i,min=*a;

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

if(*(a+i)min)min=*(a+i);

return min;

}

float Avg(int *a,int n)

{int i,s=0;

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

s+=*(a+i);

return (float)s/n;

}

int main()

{ int a[10];

Input(a,10);

printf("最低分=%d\n",Min(a,10));

printf("最高分=%d\n",Max(a,10));

printf("平均分=%.1f\n",Avg(a,10));

return 0;

}

C语言指针实现自定义函数求一维数组中的最大值和最小值

import java.util.Scanner;

public class MaxMin{

public static void main(String[]args){

Scanner scan=new Scanner(System.in);

System.out.println("输入数组的长度:");

int count=scan.nextInt();

System.out.println("输出数组的"+count+"个数:");

int[]arr=new int[count];

for(int i=0;ilt;arr.length;i++){

arri=scan.nextInt();

}

System.out.println("输出数组:");

for(int i=0;ilt;arr.length;i++){

System.out.print(arri+"\t");

}

int max=Integer.MIN_VALUE;

int min=Integer.MAX_VALUE;

for(int i=0;ilt;arr.length;i++){

if(arrigt;max){//求出最大值

max=arri;

}

if(arrilt;min){//求出最小值

min=arri;

}

}

System.out.println("\n最大值:"+max);

System.out.println("最小值:"+min);

}

}

扩展资料:

system函数用法:int system(char*command);

system函数已经被收录在标准c库中,可以直接调用

程序例:

#includelt;stdlib.hgt;

#includelt;stdio.hgt;

int main(void)

{

printf("About to spawn and run a DOS command\n");

system("dir");

return 0;

}

又如:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。

例如,用system("color 0A");其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

0=黑色1=蓝色2=绿色3=湖蓝色4=红色5=紫色6=黄色7=白色8=灰色9=淡蓝色A=淡绿色B=淡浅绿色C=淡红色D=淡紫色E=淡黄色F=亮白色

(注意:Microsoft Visual C++6.0支持system)

用C语言如何使函数返回值为指向一维数组的指针?

子函数中定义的一般指针变量,在子函数结束之后会被自动释放,如果返回这种局部指针变量,调用者一般是不能正确读到指针地址中的数据的。

因此,如果想在主函数中输出自定义函数中定义的数组,就要在自定义函数中把数组定义为静态数组,然后返回数组名即可。

静态变量的生命周期是整个程序的生命期,从定义开始,直到程序结束,才会被释放。

参考代码:

#include stdio.h

char *get_str(void) //返回值类型为字符指针

{

static char str[100]={0};//静态变量初始化,只有在定义时这次完成,且初始化只执行一次。

sprintf(str,"hello world");

return str ;

}

void main()

{

char *p;

p=get_str();

printf("%s\n", p );

}

C语言关于指向一维数组的指针

你的2个程序是不同的。关键知识是: 普通指针 和 数组指针 的 不同点。

下面是简单的说明。

int *p; 是普通的指针,指向一个地址。

p=a; 让它指向2维数组的始地址。由于数组是按行排列,所以下标[i,j] 的 元素 a[i][j] 排在 i*4+j 位,即: p[i*4+j]

printf("a[%d][%d]=%d\n",i,j, (p[i*4+j])); // 就是 输出 a[i][j]。

=========

int (*p)[4]; 这是数组指针,用于指向4个元素一行的数组。

p= a[0]; 让 它指向 数组 的开始地址。

程序中可以用 p[i][j] 代替 a[i][j] 使用。

printf("a[%d][%d]=%d\n",i,j, p[i][j]); // 就是 输出 a[i][j]。


文章标题:c语言的一维数组指针函数 一维数组的指针表达方式
转载注明:http://cdiso.cn/article/dohejjc.html

其他资讯