用指针法编写求 a 数组 n 个元素中的数值最大和最小的函数。 并求一维数组 10 个数中最大值和最小值。
两个问题可以结合到一块去,N的值可以你自己定就是第一问了,以下是以10为例的:
#define N 10
#include
void main()
{
int *num;
int min, max;
int i;
printf("请输入N个数:
");
for (i = 0; i < N; i++)
scanf("%d", num + i);
min=*num;max=*num;
for (i = 0; i < N; i++)
{if(min>*num+i)
min=*num+i;
if(max<num+i)
max=*num+i
}
printf("%d,%d", min,max);
}
#include
int max_min(int *a, int len)
{
int max=a[0],min=a[0];
int i;
for(i=1; i<len; i++)
{
if(max < a[i]) max=a[i];
if(min > a[i]) min=a[i];
}
return (max+min);
}
int main()
{
int a[]={1,3,5,7,9};
printf("%d
",max_min(a,5));
}
1、#define N 10
#include <stdio.h>
void main()
{
int *num;
int min, max;
int i;
printf("请输入N个数:
");
for (i = 0; i < N; i++)
scanf("%d", num + i);
min=*num;max=*num;
for (i = 0; i < N; i++)
{if(min>*num+i)
2、#include <stdio.h>
#define N 10 //定义符号常bai量
//求最大值du函数
int max_func(int a[],int n)
{
int i,max;
for(max=a[0],i=1;i<N;i++) //初始zhi默认最大值为a[0],遍历数组元素
if(max<a[i]) //如果当前最大值<当前数组元素,则dao将该元素赋值给max
max=a[i];
return max;
}
//求最小值函数
int min_func(int a[],int n)
{
int i,min;
for(min=a[0],i=1;i<N;i++) //初始默认最小值为a[0],遍历数组元素
if(min>a[i]) //如果当前最小值>当前数组元素,则将该元素赋值给min
min=a[i];
return min;
}
//求平均值函数
float ave_func(int a[],int n)
{
for(i=sum=0;i<N;i++) //初始设置sum=0,遍历数组元素
sum+=a[i]; //累加数组元素
ave=1.0*sum/n; //求平均值
return ave;
}
int main()
{
int arr[N],i;
int max,min;
float ave;
for(i=0;i<N;i++) //输入10个数组元素
scanf("%d",&arr[i]);
max=max_func(arr,N); //调用max_func()函数
min=min_func(arr,N); //调用min_func()函数
ave=ave_func(arr,N); //调用ave_func()函数
printf("最大值=%d
最小值=%d
平均值=%.2f
",max,min,ave); //输出结果
扩展资料:
指针相对于一个内存单元来说,指的是单元的地址,该单元的内容里面存放的是数据。在C语言中,允许用指针变量来存放指针,因此,一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。
指针变量是存放一个变量地址的变量,不同于其他类型变量,它是专门用来存放内存地址的,也称为地址变量。定义指针变量的一般形式为:类型说明符*变量名。
类型说明符表示指针变量所指向变量的数据类型;*表示这是一个指针变量;变量名表示定义的指针变量名,其值是一个地址,例如:char*p1;表示p1是一个指针变量,它的值是某个字符变量的地址。
参考资料来源:百度百科-指针
旗卓恒苏: 展开全部#include int max_min(int *a, int len) { int max=a[0],min=a[0]; int i; for(i=1; i { if(max < a[i]) max=a[i]; if(min > a[i]) min=a[i]; } return (max+min); } int main() { int a[]={1,3,5,7,9}; printf("%d\n",max_min(a,5)); }
溧水县15746543471: 指针方式编写程序完成下列要求:2.编写子函数,求a数组n个元素中的数值最大和最小数之和,主函数调用并输?
旗卓恒苏: <p>#include "stdio.h"</p> <p>int func(int a[],int n)</p> <p>{</p> <p> int *max,*min;</p> <p> int i;</p> <p> max=min=&a[0];</p> <p> for(i=1;i<n;i++)</p> <p> {</p> <p> if(*max<a[i])</p> <p> max=&a[i];</p> <p> if(*min>a[i])</p> <p...
溧水县15746543471: 用C语言编写一个程序,通过指针求一个数组中所有元素的和 - ?
旗卓恒苏: #include "stdio.h"void main() {int a[10];int i,count=0; printf("请输入10个数组元素: \n"); for(i=0;i<10;i++){printf("%d : ",i+1);scanf("%d",&a[i]);} for(i=0;i<10;i++)count+=*(a+i); printf("数组元素和 = %d\n",count); }
溧水县15746543471: 编写求a数组n个元素中的数值最大和最小的函数(要求用指针). 并求一维数组10个数中最大值和最小值 - ?
旗卓恒苏: 两个问题可以结合到一块去,N的值可以你自己定就是第一问了,以下是以10为例的:#define N 10#include <stdio.h
溧水县15746543471: 编写函数,求包含n个元素的整型数组中元素的平均值.要求在函数内部使用指针操纵数组元素.这个c语言函数怎么写啊? - ?
旗卓恒苏: #include float ave(int *a, int n) { int *p = a; float s = 0; while(p
溧水县15746543471: C++ 下面给出用数组的方法将数组a中的n个整数按相反顺序存放,请用指针的方法重写^ - ^ - ?
旗卓恒苏: 用指针遍历数组,有两种方法:1. 按偏移位置引用数据(类似数组元素引用)2. 移动指针,取当前位置数据 参考代码://按偏移位置引用数据 void inv(int x[],int n) { int i; for( i=0;i<n/2;i++ ) { int temp=*(x+i); //相当于temp=x[i] *(x+i)=*(x+n-i-1);//相...
溧水县15746543471: 用指针编程序将a数组中的N个整数按输入时相反的顺序排列. - ?
旗卓恒苏: #include<iostream.h>#include<string.h> int main(){ char a[99]; cout<<"Input :"<<endl; cin>>a; char* p; p=a+strlen(a)-1; for(p;*p;p--){ cout<<*p; } cout<<endl; return 0; } 自己调试过的,正确
溧水县15746543471: 改写程序,将数组 a中的n个数按相反顺序存放,请用指针的方法重写^ - ^ - ?
旗卓恒苏: void inv(int a[ ],int n) -> void inv(int *a,int n) 就够了 a既是数组的名字 也是第一个数组成员的地址
溧水县15746543471: 将数组a中的n个数逆序存放.要求用指针完成 - ?
旗卓恒苏: 设置两个指针 一个指向 数组的第一个元素 设为 p 一个指向数组的最后一个元素 设为q 然后交换他们的值 然后p++ q--
溧水县15746543471: C++编写指针函数实现对n个数组元素的由大到小的排序 - ?
旗卓恒苏: #include<iostream> #include<cstdlib>//函数exit的函数头 using namespace std; int main() {void sort(int x[],int n);//函数声明int n;cin>>n;//数组长度由用户输入int *a=new int[n];//动态分配数组的长度if(a==NULL){cout<<"Error,Cannot ...