将不多于10个的正整数输入到数组a[ ]中,以-1作为结束符, 要求数组的值按逆序重新存放并输出(不包含-1)。
输出语句必须是:
for(i=0;i<n;i++) printf("%d ",a[i]);
例如,输入: 8 6 5 4 1 -1
输出 1 4 5 6 8。
注意输入数据和输出数据的格式,且注意-1并不在逆序存放的范围内。#include <stdio.h>
int main()
{ int a[10],i=0,k,j,t;
while(a[i]!=-1)
scanf("%d",&a[++i]);
k++;
for(i=0;i<k-1;i++)
{for(j=0;j<k-i-1;j++)
{if(a[j]>a[j+1])
{t=a[j+1];
a[j+1]=a[j];
a[j]=t; }
}
}
for(i=0;i<k-1;i++)
printf("%d ",a[i]);
}
这是我写的出不来,我很菜,求高手解答
根据你的C语言程序改写的逆序输出数组元素的C语言程序如下,你看看吧
#include <stdio.h>运行结果
追问为什么开始要两次scanf,这样为什么就可行,使其结束于-1