解决函数中变量不够用的方法

本文介绍了三种在C语言中求解一组数的最大值和最小值的方法:使用指针变量、增加数组名以及使用全局变量。每种方法都提供了详细的代码示例,帮助读者理解并实践。

#输入五个数求出最大值和最小值

一.使用指针变量

#include <stdio.h>
int main()
{
int maxandmin(int a[5],int *max,int *min);
int i,a[5],max,min;
printf(“请输入5个数:”);
for(i=0;i<=4;i++)
{
scanf("%d",&a[i]);
}
maxandmin(a,&max,&min);//指针变量存放的是一个地址
printf(“最大值为%d\n最小值为%d\n”,max,min);
}
int maxandmin(int a[5],int *max,int *min)//子函数后面不用定义
{
int i;
*max=a[0];
*min=a[0];
for(i=1;i<5;i++)
{
if(*max<a[i])
*max=a[i];
if(*min>a[i])
*min=a[i];
}
}

二.增加数组名

#include <stdio.h>
int main()
{
int maxandmin(int a[7]);
int i,a[7],max,min;
printf(“请输入5个数:”);
for(i=0;i<=4;i++)
{
scanf("%d",&a[i]);
}
maxandmin(a);
printf(“最大值为%d\n最小值为%d\n”,a[5],a[6]);
}
int maxandmin(int a[7])
{
int i;
a[5]=a[0];
a[6]=a[0];
for(i=1;i<5;i++)
{
if(a[5]<a[i])
a[5]=a[i];
if(a[6]>a[i])
a[6]=a[i];
}
}

三.使用全局变量

#include <stdio.h>
int m,n;//全局变量,解决变量不够用,但是内存到主函数结束才释放内存
int main()
{
int maxandmin(int a[5]);
int i,a[5],max,min;
printf(“请输入5个数:”);
for(i=0;i<=4;i++)
{
scanf("%d",&a[i]);
}
maxandmin(a);
printf(“最大值为%d\n最小值为%d\n”,m,n);
}
int maxandmin(int a[5])
{
int i;
m=a[0];
n=a[0];
for(i=1;i<5;i++)
{
if(m<a[i])
m=a[i];
if(n>a[i])
n=a[i];
}
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值