![]() |
#2
return_02020-03-10 11:00
|
只有本站会员才能查看附件,请 登录
输入样例 1:
13 1 2 3 4 5 6 7 8 9 10 20 16 18
输出样例 1:
30 11 2 9.7 9
输入样例 2:
8 1 2 4 5 6 7 9 16
输出样例 2:
N 11 2 N 9
这是我的,希望各位有没有其他简便的方法

#include <stdio.h>
#include <stdlib.h>
#define MAX 1000
int main(void)
{
int num[MAX];
float n[5] = {0};
int count = 0, sum = 0,flag=0;
int m, max = 0, sign = 1;
scanf("%d", &m);
for (int i = 0; i < m; i++)
{
scanf("%d", &num[i]);
if (num[i] % 5 == 0 && num[i] % 2 == 0)
{
n[0] += num[i];
}
if (num[i] % 5 == 1)
{
flag=1;
n[1] += sign * num[i];
sign *= -1;
}
if (num[i] % 5 == 2)
{
n[2]++;
}
if (num[i] % 5 == 3)
{
count++;
sum += num[i];
}
if (num[i] % 5 == 4)
{
if (num[i] > max)
{
max = num[i];
n[4] = max;
}
}
}
if(count!=0)
n[3] = 1.0 * sum / count;
for (int i = 0; i < 5; i++)
{
if (n[i] != 0&& i!=1)
{
if (i == 3)
printf("%.1f", n[i]);
else
{
printf("%.0f", n[i]);
}
}
else if(i==1&&flag!=0)
{
printf("%.0f",n[i]);
}
else
{
printf("%c",'N');
}
if (i < 4)
{
printf(" ");
}
else
{
printf("");
}
}
system("pause");
return 0;
}
#include <stdlib.h>
#define MAX 1000
int main(void)
{
int num[MAX];
float n[5] = {0};
int count = 0, sum = 0,flag=0;
int m, max = 0, sign = 1;
scanf("%d", &m);
for (int i = 0; i < m; i++)
{
scanf("%d", &num[i]);
if (num[i] % 5 == 0 && num[i] % 2 == 0)
{
n[0] += num[i];
}
if (num[i] % 5 == 1)
{
flag=1;
n[1] += sign * num[i];
sign *= -1;
}
if (num[i] % 5 == 2)
{
n[2]++;
}
if (num[i] % 5 == 3)
{
count++;
sum += num[i];
}
if (num[i] % 5 == 4)
{
if (num[i] > max)
{
max = num[i];
n[4] = max;
}
}
}
if(count!=0)
n[3] = 1.0 * sum / count;
for (int i = 0; i < 5; i++)
{
if (n[i] != 0&& i!=1)
{
if (i == 3)
printf("%.1f", n[i]);
else
{
printf("%.0f", n[i]);
}
}
else if(i==1&&flag!=0)
{
printf("%.0f",n[i]);
}
else
{
printf("%c",'N');
}
if (i < 4)
{
printf(" ");
}
else
{
printf("");
}
}
system("pause");
return 0;
}