关于指针的问题,求教
要求用调用函数和指针找出一维数组中的最大值并在主函数中输出,我只写出了调用函数找出了最大值,不会用指针,#include "stdio.h"
int zql(int a[],int n)
{
int i,t=0;
for(i=0;i<n;i++)
if(a[i]>t)
t=a[i];
return t;
}
int main()
{
int a[5]={1,2,3,4,5},i;
i=zql(a,5);
printf("%d",i);
}
#include <stdio.h> #define SIZE 5 void show_arr(const *arr, int n); int xql(const int *arr, int n); int main(void) { int a[SIZE]={1,2,5,4,3}; int max; printf("这个数组中的元素分别是:"); show_arr(a,SIZE); printf("最大的元素值是:"); max=zql(a,SIZE); printf("%d\n",max); return 0; } int zql(const int *arr,int n) { int i,tem=*arr; for(i=0;i<n;i++) { if(tem<(*arr+i)) { tem=*(arr+i); } } return tem; } void show_arr(const int *arr, int n) { int i; for(i=0;i<n;i++) { printf("%d ",*(arr+i)); } printf("\n"); }
#include<stdio.h> #include<stdlib.h> #define SIZE 5 void show_arr(const double *arr, int n); double xql(const double *arr, int n); int main(void) { double a[SIZE]={1.1,2.2,5.5,4.4,3.3}; double max; printf("这个数组中的元素分别是:"); show_arr(a,SIZE); printf("最大的元素值是:"); max=zql(a,SIZE); printf("%g\n",max); return 0; } double zql(const double *arr,int n)//这里改成int zql(const double *arr,int n)没事,是因为精度问题嘛? { int i; double tem=*arr; for(i=0;i<n;i++) { if(tem<(*arr+i)) { tem=*(arr+i); } } return tem; } void show_arr(const double *arr, int n) { int i; for(i=0;i<n;i++) { printf("%g ",*(arr+i)); } printf("\n"); }
#include<stdio.h> #include<stdlib.h> #define SIZE 5 double zql(const double *arr,int n){//这里改成int zql(const double *arr,int n)没事,是因为精度问题嘛? int i; double tem=*arr; for(i=0;i<n;i++){ if(tem<(*arr+i)) tem=*(arr+i); } return tem; } void show_arr(const double *arr, int n){ int i; for(i=0;i<n;i++) printf("%g ",*(arr+i)); printf("\n"); } int zql(const int *arr,int n){ int i,tem=*arr; for(i=0;i<n;i++){ if(tem<(*arr+i)) tem=*(arr+i); } return tem; } void show_arr(const int *arr, int n){ int i; for(i=0;i<n;i++){ printf("%d ",*(arr+i)); } printf("\n"); } int main(void){ double a[SIZE]={1.1,2.2,5.5,4.4,3.3}; double max; printf("这个数组中的元素分别是:"); show_arr(a,SIZE); printf("最大的元素值是:"); max=zql(a,SIZE); printf("%.2lf\n",max); //////////////////////////////////////// int b[SIZE]={1,2,5,4,3}; int maxb; printf("这个数组中的元素分别是:"); show_arr(b,SIZE); printf("最大的元素值是:"); maxb=zql(b,SIZE); printf("%d\n",maxb); return 0; }