该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
编程,输入一批互不相等的正整数存入一维整型
数组 a 中,直到输入0时终止,要求对这批数(不
包括最后输入的表示输入结束的0)作相应的处理
并按示例格式依次输出下列结果:
⑴ 最大值和最小值及其所在位置下标;
⑵ 平均值(保留1位小数);
⑶ 大于并最接**均值的数及其所在位置下标;
⑷ 小于平均值的数的个数及其占总数的百分比
(保留1位小数) ;
⑸ 这批数按从小到大的顺序排列。
include
main()
{
int a[81],s[81],i,j,t,n,count=0; float ave=0,d;
for(i=0;;i++)
scanf("%d",&a[i]); count++;
ave+=a[i];s[i]=i;
ave/=count;
for(i=1;a[i+1]!=0;i++)
for(j=i+1;a[j]!=0;j++)
if(a[i]>a[j])
{t=a[i];a[i]=a[j];a[j]=t;
t=s[i];s[i]=s[j];s[j]=t;}
printf("Maximum: a[%d]=%d\n",s[count-1],a[count-1]);
printf("Minimun: a[%d]=%d\n",s[0],a[0]);
printf("Average: %.1f\n",ave);
for(i=0;i<10;i++)
if (a[i]>ave) break;
printf("Closest to: a[%d]=%d\n",s[i],a[i]);
for(i=n=0;i<10;i++)
if(a[i]
printf("Less than: %d(%.1f%%)\n",n,d);
printf("Sort: ");
for(i=0;a[i]!=0;i++)
printf("%d ",a[i]);
}
我这个程序错了,这个一维数组中的元素个数不确定,如何来输入一维数组赋值呢?请各位高手帮我改正一下。非常感谢