在for语句嵌套中
我要是用if就只能输入一组数据,要是用while就没办法结束输出,所以我应该怎么办
#include<stdio.h>
int main() {
int N, a, M,M1=0, W,W1=0, i,j=0,k=0;
float p, pM=0, pW=0;
scanf("%d", &N);
while(i <= N){
scanf("%d", &a);
if (a==1) {
scanf("%d", &M);
M1 += M;
j++;
}
if (a == 0) {
scanf("%d", &W);
W1 += W;
k++;
}
i++;
}
p = (float)(M1 + W1) / N;
printf("%.1f\t", p);
if (j != 0) {
pM = M1 / j;
printf("%.1f\t", pM);
}
else printf("X\t");
if (k != 0) {
pW = W1 / k;
printf("%.1f\t", pW);
}
else printf("X");
return 0;}
for循环,while循环都可以
循环条件改为scanf(....)!=EOF
scanf只要有成功接收返回值便不是EOF