|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
void cmax(int* p,int sz, int* x)
{
int i = 0;
*p = *x;
for (i = 0; i < sz; i++)
{
if (*(p + i) > *x)
{
*x = *(p + i);
}
}
}
void cmin(int* p,int sz, int* y)
{
int j = 0;
*p = *y;
for (j = 0; j < sz; j++)
{
if (*(p + j) < *y)
{
*y = *(p + j);
}
}
}
int main()
{
int x=0,y=0;
int arr[5] = { 5,1,4,7,3 };
int sz = sizeof(arr) / sizeof(arr[0]);
cmax(arr,sz,&x);
cmin(arr,sz,&y);
printf("最大值=%d,最小值=%d\n", x, y);
}
请问一下大佬们题目是求数组中的最大值和最小值 我这个程序跑起来最大值能够出来 但是最小值是0 请问问题出在哪儿? 用的VS2022
VS
本帖最后由 ckblt 于 2022-2-26 17:17 编辑
试试这样:
- void cmax(int *p, int sz, int *x)
- {
- int i = 0;
- *x = *p;
- for (i = 0; i < sz; i++)
- {
- if (*(p + i) > *x)
- {
- *x = *(p + i);
- }
- }
- }
- void cmin(int *p, int sz, int *y)
- {
- int j = 0;
- *y = *p;
- for (j = 0; j < sz; j++)
- {
- if (*(p + j) < *y)
- {
- *y = *(p + j);
- }
- }
- }
复制代码
|
|