这道程序题如何做?答案如何算出来的,请高手解答。

main(){inti=1,n=3,j,k=3;inta[5]={1,4,5};while(i<=n&&k>a[i])i++;for(j=n-1;j>=i;j--)a[j... main()
{ int i=1,n=3,j,k=3;
int a[5]={1,4,5};
while(i<=n&&k>a[i]) i++;
for(j=n-1;j>=i;j--)
a[j+1]=a[j];
a[i]=k;
for(i=0;i<=n;i++)
printf("%3d",a[i]);
}
展开
 我来答
爱pig爱
2013-07-29
知道答主
回答量:15
采纳率:0%
帮助的人:4.2万
展开全部
输出:1,3,4,0

解析:a[3],a[4]默认为0
while你的条件不成立,i=1不变,for循环只控制a[j+1]=a[j];这一句,得到a[2]=a[1]=4,

a[1]=k=3;
追问
输出是 1,3,4,5
追答
恩,a[3]是等于5,在for循环的第一步a[3]=a[2]=5,上面的笔误打错了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式