仔细审题,第一个数字是输入项N(刚刚还在这里卡了大半天……)
其次是A2,要留心如果通过计算后得出的值是0,那么输出应该是0,而不是N
代码实现:
#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int A1(int *p,int len);
int A2(int *p,int len);//计算后可能会有算出来是0的情况
int A3(int *p,int len);
double A4(int *p,int len);
int A5(int *p,int len);
int main(){
int a[1001];
int len = 0;
cin>>len;
for(int i = 0;i<len;i++){
cin>>a[i];
}
int a1 = A1(a,len);
int a2 = A2(a,len);
int a3 = A3(a,len);
int a5 = A5(a,len);
double a4 = A4(a,len);
if(a1==0){
cout<<'N';
}else{
cout<<a1;
}
if(a2==-1){
cout<<' '<<'N';
}else{
cout<<' '<<a2;
}
if(a3==0){
cout<<' '<<'N';
}else{
cout<<' '<<a3;
}
if(a4==0){
cout<<' '<<'N';
}else{
printf(" %.1lf",a4);
}
if(a5==0){
cout<<' '<<'N';
}else{
cout<<' '<<a5;
}
return 0;
}
int A1(int *p,int len){
int sum = 0;
for(int i = 0;i<len;i++){
if(p[i]%10==0)
sum+=p[i];
}
return sum;
}
int A2(int *p,int len){
int isadd = 1;
int sum = 0;
int iscount = 0;
for(int i = 0;i<len;i++){
if(p[i]%5==1){
iscount = 1;
if(isadd){
sum = sum+p[i];
isadd = 0;
}else{
sum = sum-p[i];
isadd = 1;
}
}
}
if(iscount){
return sum;
}else
return -1;
}
int A3(int *p,int len){
int sum = 0;
for(int i = 0;i<len;i++){
if(p[i]%5==2){
sum++;
}
}
return sum;
}
double A4(int *p,int len){
double sum = 0;
double count = 0;
double temp;
for(int i = 0;i<len;i++){
if(p[i]%5==3){
// printf("p[%d] = %d\n",i,p[i]);
temp = (double)p[i];
sum+=temp;
count++;
}
}
if(count==0)
return 0;
else
return sum/count;
}
int A5(int *p,int len){
int max = 0;
for(int i = 0;i<len;i++){
if(p[i]%5==4){
if(p[i]>max)
max = p[i];
}
}
return max;
}