C语言三道关于指针的题目 明天考试 急等答案 求高手解答+解释 非常感谢
1、以下程序执行后的输出结果是()#include“stdio.h”voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;;i+=2)...
1、以下程序执行后的输出结果是()
#include “stdio.h”
void sort(int a[],int n)
{ int i,j,t;
for(i=0;i<n-1;;i+=2)
for(j=i+2;j<n;j+=2)
if(a[i]<a[j]) {t=a[i];a=[j];a[j]=t;}
}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},I;
sort(aa,10);
for(i=0;i<10;i++) printf(“%d”,aa[i]);
printf(“\n “);
}
答案是:9,2,7,4,5,6,3,9,1,10,
2、、以下程序执行后的输出结果是()
#include “stdio.h”
void f(int a[],int i int j)
{ int t;
if(i<j)
{ t=a[i];a[i]=a[j];a[j]=t;
f(a,i+1,j-1);}
}
main()
{ int I,aa[5]={1,2,3,4,5};
ff(aa,0,4);
for(i=0;i<5,i++) printf(“%d,”,aa[i];printf(“\n”);
}
答案是:5,2,3,4,1
3、、以下程序执行后的输出结果是()
int c[ ]={10,30,5},*pc;
for(pc=c;pc<c+2;pc++) printf(“%d#”,*pc)
答案是:10#30#
请尽可能的帮我解释下好吗 谢谢
第一个答案是 9,2,7,4,5,6,3,8,1,10 我漏打了8
第二个我做出来就是5 4 3 2 1 但是老师给的答案是那个···无语 好吧 老师答案错了··· 展开
#include “stdio.h”
void sort(int a[],int n)
{ int i,j,t;
for(i=0;i<n-1;;i+=2)
for(j=i+2;j<n;j+=2)
if(a[i]<a[j]) {t=a[i];a=[j];a[j]=t;}
}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},I;
sort(aa,10);
for(i=0;i<10;i++) printf(“%d”,aa[i]);
printf(“\n “);
}
答案是:9,2,7,4,5,6,3,9,1,10,
2、、以下程序执行后的输出结果是()
#include “stdio.h”
void f(int a[],int i int j)
{ int t;
if(i<j)
{ t=a[i];a[i]=a[j];a[j]=t;
f(a,i+1,j-1);}
}
main()
{ int I,aa[5]={1,2,3,4,5};
ff(aa,0,4);
for(i=0;i<5,i++) printf(“%d,”,aa[i];printf(“\n”);
}
答案是:5,2,3,4,1
3、、以下程序执行后的输出结果是()
int c[ ]={10,30,5},*pc;
for(pc=c;pc<c+2;pc++) printf(“%d#”,*pc)
答案是:10#30#
请尽可能的帮我解释下好吗 谢谢
第一个答案是 9,2,7,4,5,6,3,8,1,10 我漏打了8
第二个我做出来就是5 4 3 2 1 但是老师给的答案是那个···无语 好吧 老师答案错了··· 展开
3个回答
展开全部
#include <stdio.h>
void sort(int a[],int n)
{
int i,j,t;
for(i=0;i<n-1;i+=2)
for(j=i+2;j<n;j+=2)
if(a[i]<a[j])
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
void ff(int a[],int i, int j)
{ int t;
if(i<j)
{
t=a[i];a[i]=a[j];a[j]=t;
ff(a,i+1,j-1);
}
}
void main()
{
int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
int a3[5]={1,2,3,4,5};
sort(aa,10);
for(i=0;i<10;i++)
printf("%d ",aa[i]);
printf("\n");
ff(a3,0,4);
for(i=0;i<5;i++)
printf("%d,",a3[i]);
printf("\n");
}
错误都改过来了
1,9 2 7 4 5 6 8 1 10
2,5 4 3 2 1
3,pc=c;pc<c+2;只执行2次 pc指针指向数组c的首地址
10#30#
void sort(int a[],int n)
{
int i,j,t;
for(i=0;i<n-1;i+=2)
for(j=i+2;j<n;j+=2)
if(a[i]<a[j])
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
void ff(int a[],int i, int j)
{ int t;
if(i<j)
{
t=a[i];a[i]=a[j];a[j]=t;
ff(a,i+1,j-1);
}
}
void main()
{
int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
int a3[5]={1,2,3,4,5};
sort(aa,10);
for(i=0;i<10;i++)
printf("%d ",aa[i]);
printf("\n");
ff(a3,0,4);
for(i=0;i<5;i++)
printf("%d,",a3[i]);
printf("\n");
}
错误都改过来了
1,9 2 7 4 5 6 8 1 10
2,5 4 3 2 1
3,pc=c;pc<c+2;只执行2次 pc指针指向数组c的首地址
10#30#
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
感觉 你那张纸 手动跑一下程序不就出来了啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询