B1012

    技术2025-10-04  5

    数字分类 (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; }

     

    Processed: 0.009, SQL: 9