读入20个整数,统计出非负数个数及其和,且按从小到大的次序 输出
来源:百度知道 编辑:UC知道 时间:2024/06/13 17:44:35
首先用个冒泡进行排序,再判断非负数个数,再将非负数个数装入另一个数组
:
#include<stdio.h>
void main(){
int a[20],i,j,k=0,sum=0,t;
int b[20];int l=0;
for(i=0,i<20;i++)
scanf("%d",&a[i]);
/*以下是冒泡排序*/
for(i=0;i<20;i++)
{for(j=i+1;j<20;j++)
{if(a[i]>a[j])
t=a[i];a[i]=a[j];a[j]=t; }
}
/*以下是判断数组中的非负数及求非负数的个数*/
for(i=0;i<20;i++)
{if(a[i]>=0) ++k;
b[l]=a[i];++l;}
/*以下是求非负数的和*/
for(i=0;i<=l;i++)
sum=sum+b[i];
/*以下是输出排好序后的整个数组*/
for(i=0;i<20;i++)
printf("suzhu:%d ",a[i]);
/*以下是输入出非负数的个数及非负数的和*/
printf("\n sum=%d,geshu=%d",sum,k);
}
//----------------------------------------------------------------
程序未经调试可能存在一些小错误。但基本思想是这样的,你也可以把程序简化。<