c语言编程题,不知道错在哪,请高人指点
#include<stdio.h>voidmax_min_value(int*t)//交换函数{int*max,*min,*p,temp;max=min=t;for(p=...
#include<stdio.h>
void max_min_value(int *t) // 交换函数
{ int *max,*min,*p,temp;
max=min=t;
for (p=t+1;p<t+10;p++)
if (*p>*max) max=p; // 将大数地址赋给 max
else if (*p<*min) min=p; // 将小数地址赋给 min
temp=t[0];t[0]=*min;*min=temp; // 将最小数与第一数交换
temp=t[9];t[9]=*max;*max=temp; // 将最小数与第一数交换
}
int main()
{
int a[10],*p=a;
for(p=a,p<a+10,p++)
scanf("%d",p);
p=a;
void max_min_value(int *p);
p=a;
for(p=a,p<a+10,p++)
printf("%d",*p);
return 0;
} 展开
void max_min_value(int *t) // 交换函数
{ int *max,*min,*p,temp;
max=min=t;
for (p=t+1;p<t+10;p++)
if (*p>*max) max=p; // 将大数地址赋给 max
else if (*p<*min) min=p; // 将小数地址赋给 min
temp=t[0];t[0]=*min;*min=temp; // 将最小数与第一数交换
temp=t[9];t[9]=*max;*max=temp; // 将最小数与第一数交换
}
int main()
{
int a[10],*p=a;
for(p=a,p<a+10,p++)
scanf("%d",p);
p=a;
void max_min_value(int *p);
p=a;
for(p=a,p<a+10,p++)
printf("%d",*p);
return 0;
} 展开
3个回答
展开全部
这程序我把所有的语法错误都改了 但是运行出来结果是不对的,算法有问题
void max_min_value(int *t) // 交换函数
{
int *max, *min, *p, temp;
max = min = t;
for (p=t+1;p<t+10;p++){
if (*p>*max)
max=p; // 将大数地址赋给 max
else if (*p<*min)
min=p; // 将小数地址赋给 min
}
temp=t[0];
t[0]=*min;
*min=temp; // 将最小数与第一数交换
temp=t[9];
t[9]=*max;
*max=temp; // 将最小数与第一数交换
}
int main(int argc, char* argv[])
{
int a[10];
int *p = a;
for (p = a; p < a + 10; p++)
scanf("%d\n", p);
p = a;
max_min_value(p);
p = a;
for (p = a; p < a + 10; p++)
printf("%d\n", *p);
return 0;
}
void max_min_value(int *t) // 交换函数
{
int *max, *min, *p, temp;
max = min = t;
for (p=t+1;p<t+10;p++){
if (*p>*max)
max=p; // 将大数地址赋给 max
else if (*p<*min)
min=p; // 将小数地址赋给 min
}
temp=t[0];
t[0]=*min;
*min=temp; // 将最小数与第一数交换
temp=t[9];
t[9]=*max;
*max=temp; // 将最小数与第一数交换
}
int main(int argc, char* argv[])
{
int a[10];
int *p = a;
for (p = a; p < a + 10; p++)
scanf("%d\n", p);
p = a;
max_min_value(p);
p = a;
for (p = a; p < a + 10; p++)
printf("%d\n", *p);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个错误
一、 for循环里面以分号;作为分隔符
for(p=a; p<a+10; p++)
二、函数调用跟声明有区别
这个void max_min_value(int *p);是声明,调用应写成这样:
max_min_value(p);
一、 for循环里面以分号;作为分隔符
for(p=a; p<a+10; p++)
二、函数调用跟声明有区别
这个void max_min_value(int *p);是声明,调用应写成这样:
max_min_value(p);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把for循环中的,改为;
;和,很容易看错
;和,很容易看错
追问
程序说我第十八行出错,掉了分号,怎么回事
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询