Q)写一个程序来接受n个雇员的年龄并计算 以下年龄组的人数:(i)26-35
(ii)36-45
(iii)46-55
我写了这个程序:
#include<iostream.h>
#include<conio.h>
int main(){
clrscr();
unsigned int a, i,ii,iii,ch;
while(1){
cout<<"Enter age: ";
cin>>a;
if(a>=26 && a<=35){i++;};
if(a>=36 && a<=45){ii++;};
if(a>=46 && a<=55){iii++};
cout<<"continue...[0/1]: ";
cin>>ch;
if(!ch){break;}else{continue;};
};
cout<<"26-35: "<<i<<"/n 36-45: "<<ii<<"\n 45-55: "<<iii;
return 0;
};
该程序的第一个版本包括goto
语句,而不是while
循环,但事实是两种情况下的结果都是错误的。
运行此代码后的答案是:
26-35:1515
36-45:1539
46-55:1
在这里你可以看到只有最后一个年龄组的数量是正确的,因为我在代码运行时只输入了27,37和54次。
答案 0 :(得分:4)
初始化i=0,ii=0,iii=0
。
你忘记了初始化它们。(这是错误答案的原因)
不要使用多余的额外逻辑。
else {continue;}
。你不需要它。