为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输出来的工资最高的月份 出来的是这样的

为什么输出来的工资最高的月份 出来的是这样的

float j[12];    int b[10],c[10]; int i,s=0,k=0,n=0; float max,min,sum=0; for(i=0;i<12;i++){ printf("请输入%d月的公司收入:",i+1); scanf("%f",&j[i]); sum=sum+j[i];     }printf("总收入:%f\n",sum); max=j[0]; for(i=0;i<12;i++){ if(max<=j[i]){ max=j[i];         s=i+1; b[n]=s; n++; } } for(i=0;i<n;i++){ printf("最高的是%d月\t",b[i]); }
查看完整描述

1 回答

已采纳
?
asd8532

TA贡献143条经验 获得超187个赞

#include <stdio.h>
int main(){
    float j[12];
    int b[10],c[10];
    int i,s=0,k=0,n=0;
    float max,min,sum=0;

for(i=0;i<12;i++){
printf("请输入%d月的公司收入:",i+1);
scanf("%f",&j[i]);
sum=sum+j[i];
    
}printf("总收入:%f\n",sum);
 max=j[0];
 
for(i=1;i<12;i++){
	if(max<j[i]){//你的逻辑有问题,max<的时候n要重置,所以<和=要分开处理
		max=j[i];
		n=0;
  	    s=i+1;
		b[n]=s;
		n++;
	}else if(max == j[i]){
		b[n]=i+1;
		n++;
	}
}

for(i=0;i<n;i++){
printf("最高的是%d月\t",b[i]);

}return 0;}


查看完整回答
5 反对 回复 2016-05-11
  • 1 回答
  • 0 关注
  • 1283 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信