数字分类 (20分)
总结:
用数组存放五类数字的结果(a[5])和个数(count[5] 判断是否存在(=0))。switch分支内,注意一定要加break语句!否则会从匹配的case处执行到switch语句结束。输出结尾无空格。
代码:
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
int i;
int a[5]={0}, count[5]={0};
int max=0;
for(i=0; i<n; i++){
int temp;
scanf("%d", &temp);
switch(temp%5){
case 0:
if(temp%2==0){
a[0] += temp;
count[0]++;
} break;
case 1:
if(count[1]%2){
a[1] -= temp;
count[1]++;
}else{
a[1] += temp;
count[1]++;
}
break;
case 2:
count[2]++;
break;
case 3:
a[3] += temp;
count[3]++;
break;
case 4:
if(temp>max) max = temp;
count[4]++;
break;
}
}
if(count[0] == 0){
printf("N ");
}
else {
printf("%d ", a[0]);
}
if(count[1] == 0){
printf("N ");
}else{
printf("%d ", a[1]);
}
if(count[2] == 0){
printf("N ");
}else{
printf("%d ", count[2]);
}
if(count[3] == 0){
printf("N ");
}else{
double a3 = (double)a[3]/(double)count[3];
printf("%.1f ", a3);
}
if(count[4] == 0){
printf("N");
}else{
printf("%d", max);
}
return 0;
}