用c语言,调用函数指针,输入十个数,求最大和最小值

作者&投稿:阳侧 (若有异议请与网页底部的电邮联系)
c语言:用指针做函数参数从10个数中找出其中最大值和最小值。~

#include<stdio.h>
main(){
printf("输入10个整数,找出其中最大值和最小值···
");
int a[10]={0};
int max,min,i;
for(i=0;i<=9;i++){
printf("请输入第%d个整数:",(i+1));
scanf("%d",&a<i>);
}
max=min=a[0];
for(i=0;i<=9;i++){
if(a<i>>max)max=a<i>;
if(a<i><min)min=a<i>;
}
printf("最大值为:%d;最小值为:%d
",max,min);
}

扩展资料:include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:
#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏
你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。
【例1】在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbg.h"
#else
#define MY_HEADER"myProject.h"
#endif
#include MY_HEADER
当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。

程序如下:#include#define MAXSIZE 10main()
{int a[MAXSIZE];int k;printf("please inter ten number:");for(k=0;k<MAXSIZE;k++){
scanf("%d",&a[k]);}
Fun(a);for(k=0;k<MAXSIZE;k++)printf("%d,",a[k]);
}
void Fun(int a[])
{
int i;int temp;int MaxNum=a[0];int maxIndex = 0;int minIndex = 0;int MinNum=a[0];for(i=0;i<10;i++)
{
if(a[i]>MaxNum)
{
MaxNum=a[i];maxIndex = i;}
else if(a[i]<MinNum){MinNum=a[i];minIndex = i;
}
}temp = a[maxIndex];a[maxIndex] = a[minIndex];a[minIndex] = temp;}

扩展资料:指针定义格式
类型名 *函数名(函数参数列表);
其中,后缀运算符括号“()”表示这是一个函数,其前缀运算符星号“*”表示此函数为指针型函数,其函数值为指针,即它带回来的值的类型为指针,当调用这个函数后,将得到一个“指向返回值为…的指针(地址),“类型名”表示函数返回的指针指向的类型”。
“(函数参数列表)”中的括号为函数调用运算符,在调用语句中,即使函数不带参数,其参数表的一对括号也不能省略。其示例如下:int *pfun(int, int);由于“*”的优先级低于“()”的优先级,因而pfun首先和后面的“()”结合,也就意味着,pfun是一个函数。即:int *(pfun(int, int));
接着再和前面的“*”结合,说明这个函数的返回值是一个指针。由于前面还有一个int,也就是说,pfun是一个返回值为整型指针的函数。

#include <stdio.h>
#define N 10
void func(int *arr,int n)
{
int i,max,min;
max=min=arr[0];
for(i=0;i<n;i++)
{
if(max<arr[i])
max=arr[i];
if(min>arr[i])
min=arr[i];
}
printf("最大值=%d
",max);
printf("最小值=%d
",min);
}
int main()
{
int a[N],i;
void (*pf)(int*,int); //声明函数指针
for(i=0;i<N;i++)
scanf("%d",&a[i]);
pf=func; //函数指针指向函数首地址
pf(a,N); //使用函数指针调用函数
return 0;
}

示例运行结果:

1 3 5 7 9 2 4 6 8 10

最大值=10

最小值=1




C语言指针对FUN函数调用
b也是函数指针,但是参数是空的。w是int数组,c是整型变量。A: a本身是函数指针, 而函数指针的返回值是int,类型不匹配。B: *a和a是一样的, &c是int *型,参数类型符合。所以 这个是合法调用。C: b指向的函数指针是无参的,所以b(w)是错的。D: fun要求的是int *参数,而b是函数指针...

c语言中函数名就是一个指针吗
例:A) char * (*fun1)(char * p1,char * p2);B) char * *fun2(char * p1,char * p2);表达式相比,唯一不同的就是函数的返回值类型为char**,是个二级指针。C) char * fun3(char * p1,char * p2);fun3是函数名,p1,p2是参数,其类型为char *型,函数的返回值为char *类型...

C语言中函数的调用有哪些步骤?
long p=1;初始化。p *= m;初始化。long s = 0;累加。s += power(i,k);累乘计算。这类题弄清楚每个函数做什么,涉及哪些量,和函数之间的调用关系。初始化、循环计算、返回结果是最常见的3个步骤,其中第2步可以是基本运算,也可以是调用其它函数完成某个功能。

c语言,在函数中创建的指针,在其他函数中能直接调用吗
能啊,在参数里调用指针其实只是用的只是地址,下面的程序就是调用数组a的首地址。int reform(int *q,int n){...} main(){ int a[10],*p;p=a;reform(p,10);}

c语言中怎么调用函数?
函数分为库函数和自定义函数,在调用库函数时只要标明头文件(所谓头文件就是一个东西,里面包括了一些函数各声明之类的,当你要调用它中的函数时就就得先向程序说明你要调用这个文件里的函数,否则有有侵权行为哦)可以在主调函数中调用这个头文件里的所有函数了,例如头文件为#include<stdio.h>你就...

c语言程序中如何判断那个是调用函数和定义函数他们有什么区别
举个例子:int Max (int ,int);\/*函数原型声明,注意没函数体,形参名字可加可不加,必须用分号结束*\/ int main(){ int z=Max(1,2);\/*调用函数*\/ } \/*下面是函数定义,若它放在main之前,则上面的函数原型声明可不写*\/ int max (int x,int y){ return x>y?x:y;} ...

c语言中函数可以调用自定义的函数吗?
C语言的函数定义的作用域,只限于后面的函数可见。在main函数中用到的其它函数,一种方法是在main函数的前面定义并实现函数,如 \/\/定义并实现foo函数void foo(int *a){ *a++;}int main(void){ int k foo(&k);\/\/调用foo函数}另外一种方法是在main函数后实现函数,但需要在之前定义,如 v...

C语言函数调用的三种方式并分别举一例。
1、值传递,创建变量x和y,x的值等于a的值,y的值等于b的值 void Exchg1(int x, int y){ int tmp;tmp=x;x=y;y=tmp;printf(“x=%d,y=%d\/n”,x,y)} void main(){ int a=4,b=6;Exchg1 (a,b) ;printf(“a=%d,b=%d\/n”,a,b)} 2、地址传递,相当于建立了px和py两个...

c语言函数的调用和声明
int a;\/\/这就是全局变量,作用域下所有函数共用 int main(){ int b;\/\/这就是局部变量,只在本函数有效,如果想在调用fun函数时让fun也使用该变量,需要把这个变量的地址作为参数传递过去。printf("%d",b);return 0;} 注意:c语言中允许局部变量和全局变量同名,但是同名的局部变量会屏蔽全局...

关于c语言 在c中调用函数时,只能把实参的值传递给形参,形参的值不能...
C语言中的自动变量是默认的变量,实际上是函数中的局部变量,所以D选项正确。全局变量一经定义都是需要分配内存单元,在程序运行过程中自始至终都会占用固定的空间,在未知内存情况下,最好不要使用全局变量。函数调用时,值可以双向传递,并没有限制使用全局变量还是局部变量,需要根据程序的逻辑需要进行...

黎城县18645568202: C语言,用函数调用的方法,输入十个数,求出其中的最大数,最小数,平均值和大于平均值的数的个数 -
甘胥骨松: #include<stdio.h>#include<malloc.h> void main() { int i,a[10]; printf("请输入10个数:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); void f(int a[],int n); f(a,10); } void f(int a[],int n) { int x,y,i,c; float sum; float f; sum=0; x=a[0]; y=a[0]; for(i=0;i<n;i++) { ...

黎城县18645568202: c语言编程用指针编写三个函数分别是输入十个数,将他们小到大排序后最后输出这 -
甘胥骨松: #include <stdio.h> #define N 10 void printit(int *a,int n){int i;for(i=0;i<n;i++)printf("%5d",*(a+i)); } void sortit(int *a,int n){int i,j,m;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(*(a+i)>*(a+j)){m=*(a+i);*(a+i)=*(a+j);*(a+j)=m;} }void inputit(int *a,int n){...

黎城县18645568202: C语言 用指针的方法输入10个整数,···要写三个函数··· -
甘胥骨松: #include<stdio.h> void main() { int a[10],i,*p,m,t,max=-32767; p=a; for(i=0;i<10;i++) scanf("%d",p++); for(i=0;i<10;i++) if(max<a[i]) { max=a[i]; m=i; } t=a[m]; a[m]=a[9]; a[9]=t; p=a; for(i=1;i<10;i++) printf("%d",*p++); }

黎城县18645568202: C语言 编写函数完成十个整数的输入 -
甘胥骨松: 你输入的是十个数,在控制循环中只输入了9个数, 输出中要有间隔,才能更清晰:另外说一下,最好代码要规范一下:#include<stdio.h> int main() { void order(int a[10]); int a[10],i; printf("please input 10 numbers:\n"); for(i=0;i<10;i++)///////////////...

黎城县18645568202: c语言自定义函数输入十个数 -
甘胥骨松:#include #include int scanf_arr(int arr[]) {int i;for (i=0;i<10;i++){scanf("%d",&arr[i]);}return arr; } int main() {int arr[10],i;scanf_arr(arr);for (i=0;i<10;i++){printf("a[i]=%d\n",arr[i]);}return 0; }

黎城县18645568202: 用C语言编程从键盘上输入10个数,写一个函数(主函数调用该函数),求出其中最大的一个数. -
甘胥骨松: #include<stdio.h> #define N 10 int mmax(int *a,int n) { int m,i;m=a[0]; for ( i=1;i<n;i++ ) if ( m<a[i] ) m=a[i];return m; } void main() { int i,a[N],max;for ( i=0;i<N;i++ ) scanf("%d",&a[i]);max=mmax(a,N); printf("%d\n",max); }

黎城县18645568202: C语言编程,要用指针.输入十个数,将最小值与第一个互换,最大值与最后一个互换,输出十个数. -
甘胥骨松: 1234567891011121314151617181920212223242526 intnum[10] = { 2, 3, 4, 5, 6, 7, 8, 9, 0, 1 }; inttemp; int*begin = num; int*end = num + 9;for(int*pointer = begin; pointer <= end; pointer ++) { if(*pointer < *begin) { temp = *pointer; *pointer = *...

黎城县18645568202: c语言中,用指针,实现从键盘输入十个整数,计算出最大值和最小值,并返回它们所在的数组中的位置 -
甘胥骨松: #include<stdio.h> int main () { int *p,*q; int max=0,min=100; p=&max;//指针P指向max q=&min;//指针q指向min int x; scanf("%d",&x); while(x!=0) //输入0结束输入 { if(*p<x) *p=x; if(*q>x) *q=x; scanf("%d",&x); } printf("max:%d\tmin:%d\n",*...

黎城县18645568202: 输入10个数 按从小到大排序 从小到大输出 c语言 用指针 -
甘胥骨松: #include <stdio.h> void sort(int* a, int n) {int t;for (int i = 0; i < n; i++){for (int j = i+1; j < n; j++){if(*(a+i) > *(a+j)){t = *(a+i);*(a+i) = *(a+j);*(a+j) = t;}}} }void output(int* a,int n) {for (int i = 0; i < n; i++)printf("%d ",*(a+i));printf("\n"); } ...

黎城县18645568202: C语言:输入十个整数存入数组,编写一个函数实现将该10个数倒序存储,要求使用指针法
甘胥骨松: #include #define N 10 void reverse(int *a,int n) { int i,k,*p,*q; for ( i=0,p=a,q=a+n-1;i

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网