永发信息网

C语言的一道题

答案:3  悬赏:80  手机版
解决时间 2021-01-30 19:05
#include "stdio.h"
void f(int[],int n,int flag)
{ int i,j,t;
for(i=0;i for(j=i;j if(flag?b[i]>b[j]:b[i]{ t=b[i];b[i]=b[j];b[j]=t;)}
}
main()
{ int a[10]={5,4,3,2,1,6,7,8,9,10},i;
f(&a[2],5,0); f(a,5,1);
for(i=0;i<10;i++)
printf("%d,",a[i]);
}

请给出答案并详细解答,谢谢!

我没打错,题目就是这个,一楼的可以详细解释一下吗
最佳答案
for(i=0;i for(j=i;j if(flag?b[i]>b[j]:b[i] { t=b[i];b[i]=b[j];b[j]=t;)}
循环都错啦·· 都不打大括号的 b[i] 没有定义吧· 、
我改了一下 ,呵呵
#include "stdio.h"
#include
void f(int b[],int n,int flag)
{ int i,j,t;
for(i=0;i {
for(j=i;j {
if(flag?b[i]>b[j]:b[i] {
t=b[i];b[i]=b[j];b[j]=t;
}
}
}
}
int main()
{ int a[10]={5,4,3,2,1,6,7,8,9,10},i;
f(&a[2],5,0); f(a,5,1);
for(i=0;i<10;i++)
printf("%d,",a[i]);
system("pause");
}
输出的结果是 3,4,5,6,7,2,1,8,9,10,
全部回答
首先指出程序的两处错误: #include "stdio.h" void f(int b[],int n,int flag) //函数形参变量名称未写出 { int i,j,t; for(i=0;ib[j]:b[i]
  • 2楼网友:酒安江南
  • 2021-01-29 19:56
前面几个都不按题目要求来编程,题目说要用两个子函数实现,所以应该是这样. #include "stdio.h" int a(int n) { int i,sum=0; for(i=1;i<=n;i++) { sum=sum+i; } return sum; } double b(int n) { int i; double nn=1; for(i=1;i<=n;i++) { nn=nn*i; } return nn; } int main(int argc, char* argv[]) { int n,sum; double nn; printf("请输入n的值:"); scanf("%d",&n); sum=a(n); nn=b(n); printf("1+2+3+....+n=%d n!=%0.0f\n",sum,nn); return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯