以下是使用指针,求10个数中的最大值及其位置
成都创新互联-成都网站建设公司,专注网站设计制作、成都网站制作、网站营销推广,域名与空间,雅安服务器托管,网站托管、服务器托管有关企业网站制作方案、改版、费用等问题,请联系成都创新互联。
#includestdio.h
void main()
{
int a[10];
int i,row,max;
for(i=0;i9;i++)
{
scanf("%d",a+i);//a+i代表a[i]
}
for(i=0,max=*a,row=i;i9;i++)
{
if(max*(a+i))//*(a+i)代表a[i]
{
void swap(int *a,int *b);
swap(max,a+i);
row=i;
}
}
printf("%d,%d\n",row,max);
}
void swap(int *pa,int *pb)
{
int tmp;
tmp=*pa;
*pa=*pb;
*pb=tmp;
}
#include stdio.h
#define N 10
void func(int *arr,int n)
{
int i,max,min;
max=min=arr[0];
for(i=0;in;i++)
{
if(maxarr[i])
max=arr[i];
if(minarr[i])
min=arr[i];
}
printf("最大值=%d\n",max);
printf("最小值=%d\n",min);
}
int main()
{
int a[N],i;
void (*pf)(int*,int); //声明函数指针
for(i=0;iN;i++)
scanf("%d",a[i]);
pf=func; //函数指针指向函数首地址
pf(a,N); //使用函数指针调用函数
return 0;
}
示例运行结果:
1 3 5 7 9 2 4 6 8 10
最大值=10
最小值=1
#include "stdio.h"
#include "stdlib.h"
int * getMax(int *p,int n)//求数组最大值的指针函数
{
int i;
int *max=(int *)malloc(sizeof(int));
*max=*p;
for(i=1;in;i++)
if(*(p+i)*max)
*max=*(p+i);
return max;
}
void main()
{
int a[]={92,45,3,87,99,24};
int *p=getMax(a,6); // int *p=a;
printf("%d\n",*p);
free(p);
}
结果:
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)
你看maxToFront函数能不能这样写:用一个变量来存整数组的最大值,一个存最大值的下标,遍历玩整个数组之后从最大值的下标开始,前面的所有的数都向后移动一个位置,最后再把最大值赋给数组的第一个元素,
void maxToFront(int *a, int n) {
/* BEGIN ANSWER -- do not delete this line */
int i=1;
int max;
int x=0;
max=*a;
while(in)
{
if(max*(a+i))
{
max=*(a+i);
x=i;
}
i++;
}
while(x0)
{
*(a+x)=*(a+x-1);
x--;
}
*a=max;
/* END ANSWER -- do not delete this line */
}