#include <stdio.h>
int max(int a[3]);
int main()
{
int a[3]={6,8,5};
return 0;
}
int max(int a[3])
{
int temp;
if(a[0]<a[1])
{
temp=a[1];
a[1]=a[0];
a[0]=temp;
}
elseif(a[1]<a[2])
{
temp=a[2];
a[2]=a[1];
a[0]=a[2];
}
else(a[1]<a[2])
{
temp=a[2];
a[2]=a[1];
a[1]=temp;
}
printf("%d,%d",a[0],a[1]);
}
我想知道哪里不对

设计一个从三个整数类型数据中得到最大数值和次大数值的函数
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 我秃了,但没强 2021-09-13 11:39关注
int max(int* a); //数组只能传递指针,不能传 a[3] 这种 void main() //现在main函数都用void类型了,int main()是很久以前的版本 { int a[3]={6,8,5}; max(a); //函数在这里调用 return; } int max(int* a) { int i, j, temp; for (i = 0; i < 3; i++) //简单排序一下 { for (j = i; j < 3; j++) { if (a[j] > a[i]) { temp = a[i]; a[i] = a[j]; a[j] = temp; } } } printf("%d,%d",a[0],a[1]); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报