C语言(不是C++)程序改错题 求各位大神帮忙做做~感激不尽 感激不尽啊!

C语言(不是C++)程序改错题求各位大神帮忙做做~感激不尽感激不尽啊!题目:下列给定程序中,函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。请改正... C语言(不是C++)程序改错题 求各位大神帮忙做做~感激不尽 感激不尽啊!
题目:
下列给定程序中,函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。请改正程序中的错误,使程序能得出正确的结果。注意,不要改多main函数,不得增行或删行,也不得更改程序的结构。
程序如下:
#include <stdio.h>
#define N 20
void fun(int a[],int n)
{
int i,j,t,p;
for (j=0;j<n-1;j++)
{
p=j ——加上“;”
for (i=j;i,n;i++) ——j改为j+1
if (a[i]<a[p])
p=j; ——j改为i
t=a[p];a[p]=a[j];a[j]=t;
}
}
main()
{
int a[N]={9,6,8,3,-1},i,m=5;
printf("排序前的数据:");
for (i=0;i<m;i++)
printf("%d",a[i]);printf("\n");
fun(a,m);
printf("排序后的数据:");
for (i=0;i<m;i++)
printf("%d",a[i]);printf("\n");
}
展开
 我来答
小玲说人工智能
2012-06-27 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:79万
展开全部
有个地方没家花括号,就是if那里。

#include <stdio.h>#define N 20void fun(int a[],int n){ int i,j,t,p;for (j=0;j<n-1;j++){p=j; //——加上“;”for (i=j;i,n;i++) //——j改为j+1 if (a[i]<a[p]){p=j;// ——j改为i t=a[p];a[p]=a[j];a[j]=t;}}}main(){int a[N]={9,6,8,3,-1},i,m=5;printf("排序前的数据:");for (i=0;i<m;i++) printf("%d",a[i]);printf("\n");fun(a,m);printf("排序后的数据:");for (i=0;i<m;i++) printf("%d",a[i]);printf("\n");}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
转身后两相忘
2012-06-27 · 超过39用户采纳过TA的回答
知道答主
回答量:178
采纳率:0%
帮助的人:90.2万
展开全部
main() 改为 void main()
for (i=j;i,n;i++) 改为 for (i=j+1;i<n;i++)
其他你修改的地方都是对的
但是这程序没用的东西挺多的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun_siliang
2012-06-27 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4625万
展开全部
//改过的是fun函数,正确的如下:
void fun(int a[],int n)
{
int i,j,t,p;
for (j=0;j<n-1;j++)
{
p=j; //加分号。
for (i=j;i<n;i++) //i,n改为i<n
if (a[i]<a[p])
p=i; //j改为i
t=a[p];a[p]=a[j];a[j]=t;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
理越辨越明
2012-06-27 · TA获得超过163个赞
知道小有建树答主
回答量:264
采纳率:50%
帮助的人:34.3万
展开全部
你的选择排序少了1个if条件啊
要不在什么时候都交换了
void fun(int a[],int n)
{ int i,j,t,p; for (j=0;j<n-1;j++) { p=j; for (i=j+1;i<=n-1;i++) { if (a[i]<a[p]){ p=i; } } if(p!=j){ t=a[p]; a[p]=a[j]; a[j]=t; } }}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式