c语言运用地址传值求最小数,用传值调用求三个数中的最大值最小值中间值c

1,用传值调用求三个数中的最大值最小值中间值c#include<iostream>using namespace std;int fmax(int a,int b) int fmin(int a,int b) void main() cin>>a>>b>>c;x=fmax(fmax(a,b),c);y=fmin(fmax(a,b),fmax(fmin(a,b),c));z=fmin(fmin(a,b),c);cout<<x<<">="<<y<<">="<<z<<endl;}【c语言运用地址传值求最小数,用传值调用求三个数中的最大值最小值中间值c】
2 , c用传值传址引用三种方式定义求三个数的最大最小值函数#include<iostream.h>#define M 3int Max(int ×a)for(int i=0;i<M-1;i++)if(a[i]>a[i+1])int t=a[i];a[i]=a[i+1];a[i+1]=t;}}return a[M-1];}void main()int a[M]=cout<<Max(a)<<endl;}传址#include<iostream.h>#define M 3int Max(int a[])for(int i=0;i<M-1;i++)if(a[i]>a[i+1])int t=a[i];a[i]=a[i+1];a[i+1]=t;}}return a[M-1];}void main()int a[M]=cout<<Max(a)<<endl;}传值
3,关于C语言的问题求三个数中的最小值if(ab) a=b; f(a>c) a=c; min=a; 这两个写错了,如果原来a是最小值 。在第一次的if判断时 。。他就会被b的值覆盖掉,那你后面怎么有a这个原来的值 。。用个替换就好;例如: int d; if(ab) a=b; f(a>c) a=c; min=a; max = (a> b) ? a: b; if (max < c) max = c; min = (a < b) ? a: b; if (min > c) min = c;#include<stdio.h>void main() int a,b,c,z; printf("请输入任意三个数:\n"); scanf("%d,%d,%d",&a,&b,&c);if(a<b)z=a; elsez=b; if(c<z)z=c; //printf("%d\n",z); //去掉 //else //去掉printf("%d\n",z);}// }修改为英文下的}if(c<z)z=c; printf("%d\n",z);} elseprintf("%d\n",z);
4 , C语言输出最大和最小数#include "conio.h"int max,min;find_max_min(int *p,int n)int *q;max=min=*p;for(q=p; q<p+n/**/; q++)if(max<*q) max=*q;else if(min>*q) min=*q;}main()int i,num[10];printf("Input 10 numbers: ");for(i=0;i<10;i++) scanf("%d",&num[i]);find_max_min(num,10);printf("max=%d,num=%d\n",max,min);getch();}c语言中求最大值和最小值,一般都是使用假设法,即先假设某个数是最大值和最小值,然后遍历比较即可 。下面实例 , 求一个数组中的最大值和最小值 , 先假设a[0]是最大值 , 同时也是最小值,然后遍历数组进行比较 , 得出结果 。#includeint main() int a[] = int max, min;max = min = a[0]; //假设第1个元素即是最大值也是最小值 。int *p = a; //遍历数组,找出数组a中的最大数和最小数for (int inx=0; inx!=sizeof(a) / sizeof(int); ++inx) if (*(p+inx) > max) max = *(p + inx); else if (*(p+inx) < min) min = *(p+inx);}printf("最大数:%d\t最小数:%d\n", max, min);return 0;}依次是:p+nmax<*qnum5 , C语言求INT的最小值方法#include <stdio.h>#define N 10int main(void)int i,j,min,key;//定义变量 int s[N];printf("请输入%d个整数:\n",N);for(i = 0;i < N;i++)//输入数据scanf("%d",&s[i]); for(i = 0;i < N - 1;i++) //排序min = i;for(j = i + 1;j < N; j++)min = j;}key = s[i];s[i] = s[min];s[min] = key; } printf("%d个整数中最小数是:%d",N,s[0]);//输出最小数 return 0;}#include<stdio.h>#include <limits.h>int main()int Min = INT_MIN;printf("%d", Min);return 0;}main() int a,b=0,min=1000; while(a!=-1)printf("请输入用户出价,注意要在100到1000之间,结束请输入-1:\n"); scanf("%d",&a); if(a>=100&&a<=1000) if(a<min)min=a,b=1; else if(a==min)b=0; } else if(a!=-1) printf("输入错误!请重新输入!\n");} if(b==1)printf("最后拍到这部手机的用户所出的价格为%d元\n",min); else printf("-1\n");}

    推荐阅读