要求:
http://codeup.cn/problem.php?cid=100000575&pid=6
说明:
这一题又是通过了样例但显示答案不对,也是醉了,,到底不知道哪里不合题意
另外感觉总是把问题弄得复杂,代码越写越长。。。
代码:(显示答案错误,不是完全正确)
#include <stdio.h>
struct recordnum{
int a;
int b;
int c;
double d;
int e;
} record[1000];
void print(int a){
if(a !=0){
printf("%d",a);
}
else{
printf("N");
}
}
int main(){
int n;
int num[1000];
for(int i = 0;i <1000;i++){
record[i].a = 0;
record[i].b = 0;
record[i].c = 0;
record[i].d = 0;
record[i].e = 0;
}
int signal = 0;
while(scanf("%d",&n) != EOF){
int sum1 = 0,sum2 = 0;
double sum3 = 0;
int count = 0,count1 = 0,count2 = 0;
int MAX = 0;
for(int i = 0;i <n;i++){
scanf("%d",&num[i]);
if(num[i] % 5 ==0){
if(num[i] % 2 ==0){
sum1 =sum1 + num[i];
}
}
else if(num[i] % 5 ==1){
if(count % 2 ==0){
sum2 = sum2 + 1*num[i];
count++;
}
else{
sum2 = sum2 - 1*num[i];
count++;
}
}
else if(num[i] % 5 ==2){
count1++;
}
else if(num[i] % 5 ==3){
sum3 = sum3 + num[i];
count2++;
}
else{
if(num[i] >MAX){
MAX = num[i];
}
}
}
record[signal].a = sum1;
record[signal].b = sum2;
record[signal].c = count1;
record[signal].d = sum3/count2;
record[signal].e = MAX;
signal++;
sum1 = 0;
sum2 = 0;
count = 0;
sum3 = 0;
count1 = 0;
count2 = 0;
MAX = 0;
}
for(int i = 0;i <signal;i++){
print(record[i].a);
printf(" ");
print(record[i].b);
printf(" ");
print(record[i].c);
printf(" ");
if(record[i].d >0){
printf("%.1f ",record[i].d);
}
else{
printf("N ",record[i].d);
}
print(record[i].e);
if(i != signal -1){
printf("\n");
}
}
return 0;
}