return0;
}
3.9题另一解
#include
usingnamespacestd;
intmain()
{inta,b,c,temp,max;
cout<<"pleaseenterthreeintegernumbers:
";
cin>>a>>b>>c;
temp=(a>b)?
a:
b;/*将a和b中的大者存入temp中*/
max=(temp>c)?
temp:
c;/*将a和b中的大者与c比较,最大者存入max
*/
cout<<"max="<return0;
}
3.10题
#include
usingnamespacestd;
intmain()
{intx,y;
cout<<"enterx:
";
cin>>x;
if(x<1)
{y=x;
cout<<"x="<}
elseif(x<10)//1≤x<10
{y=2*x-1;
cout<<"x="<}
else//x≥10
{y=3*x-11;
cout<<"x="<}
cout<return0;
}
3.11题
#include
usingnamespacestd;
intmain()
{floatscore;
chargrade;
cout<<"pleaseenterscoreofstudent:
";
cin>>score;
while(score>100||score<0)
{cout<<"dataerror,enterdataagain.";
cin>>score;
}
switch(int(score/10))
{case10:
case9:
grade='A';break;
case8:
grade='B';break;case7:
grade='C';break;
case6:
grade='D';break;
default:
grade='E';
}
cout<<"scoreis"<return0;
}
3.12题
#include
usingnamespacestd;
intmain()
{longintnum;
intindiv,ten,hundred,thousand,ten_thousand,place;
/*分别代表个位,十位,百位,千位,万位和位数
*/
cout<<"enteraninteger(0~99999):
";
cin>>num;
if(num>9999)
place=5;
elseif(num>999)
place=4;
elseif(num>99)
place=3;
elseif(num>9)
place=2;
elseplace=1;
cout<<"place="<//计算各位数字
ten_thousand=num/10000;
thousand=(int)(num-ten_thousand*10000)/1000;
hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);
cout<<"originalorder:
";
switch(place)
{case5:
cout<dl;
cout<<"reverseorder:
";
cout<break;
case4:
cout<cout<<"reverseorder:
";
cout<break;
case3:
cout<cout<<"reverseorder:
";
cout<break;
case2:
cout<cout<<"reverseorder:
";
cout<break;
case1:
cout<cout<<"reverseorder:
";
cout<break;
}
return0;
}
3.13题
#include
usingnamespacestd;
intmain()
{longi;//i为利润
floatbonus,bon1,bon2,bon4,bon6,bon10;
bon1=100000*0.1;//利润为10万元时的奖金
bon2=bon1+100000*0.075;//利润为20万元时的奖金
bon4=bon2+100000*0.05;//利润为40万元时的奖金
bon6=bon4+100000*0.03;//利润为60万元时的奖金
bon10=bon6+400000*0.015;//利润为100万元时的奖金
cout<<"enteri:
";
cin>>i;
if(i<=100000)
bonus=i*0.1;//利润在10万元以内按10%提成奖金
elseif(i<=200000)
bonus=bon1+(i-100000)*0.075;//利润在10万元至20万时的奖金
elseif(i<=400000)
bonus=bon2+(i-200000)*0.05;//利润在20万元至40万时的奖金
elseif(i<=600000)
bonus=bon4+(i-400000)*0.03;//利润在40万元至60万时的奖金
elseif(i<=1000000)
bonus=bon6+(i-600000)*0.015;//利润在60万元至100万时的奖金
else
bonus=bon10+(i-1000000)*0.01;//利润在100万元以上时的奖金
cout<<"bonus="<return0;
}
3.13题另一解
#include
usingnamespacestd;
intmain()
{longi;
floatbonus,bon1,bon2,bon4,bon6,bon10;
intc;
bon1=100000*0.1;
bon2=bon1+100000*0.075;
bon4=bon2+200000*0.05;
bon6=bon4+200000*0.03;
bon10=bon6+400000*0.015;
cout<<"enteri:
";
cin>>i;
c=i/100000;
if(c>10)c=10;
switch(c)
{case0:
bonus=i*0.1;break;
case1:
bonus=bon1+(i-100000)*0.075;break;
case2:
case3:
bonus=bon2+(i-200000)*0.05;break;
case4:
case5:
bonus=bon4+(i-400000)*0.03;break;
case6:
case7:
case8:
case9:
bonus=bon6+(i-600000)*0.015;break;
case10:
bonus=bon10+(i-1000000)*0.01;
}
cout<<"bonus="<return0;
}
3.14题
#include
usingnamespacestd;
intmain()
{intt,a,b,c,d;
cout<<"enterfournumbers:
";
cin>>a>>b>>c>>d;
cout<<"a="<if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(a>d)
{t=a;a=d;d=t;}
if(b>c)
{t=b;b=c;c=t;}
if(b>d)
{t=b;b=d;d=t;}
if(c>d)
{t=c;c=d;d=t;}
cout<<"thesortedsequence:
"<cout<return0;
}
3.15题
#include
usingnamespacestd;
intmain()
{intp,r,n,m,temp;
cout<<"pleaseentertwopositiveintegernumbersn,m:
";cin>>n>>m;
if(n{temp=n;
n=m;
m=temp;//把大数放在n中,小数放在m中
}
p=n*m;//先将n和m的乘积保存在p中,以便求最小公倍数时用
while(m!
=0)//求n和m的最大公约数
{r=n%m;
n=m;
m=r;
}
cout<<"HCF="<cout<<"LCD="<
return0;
}
3.16题
#include
usingnamespacestd;
intmain()
{charc;
intletters=0,space=0,digit=0,other=0;
cout<<"enteroneline:
:
"<while((c=getchar())!
='\n')
{if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
elseif(c=='')
space++;
elseif(c>='0'&&c<='9')
digit++;
else
other++;
}
cout<<"letter:
"<"<"<other:
"<return0;
}3.17题
#include
usingnamespacestd;
intmain()
{inta,n,i=1,sn=0,tn=0;
cout<<"a,n=:
";
cin>>a>>n;
while(i<=n)
{tn=tn+a;//赋值后的tn为i个a组成数的值
sn=sn+tn;//赋值后的sn为多项式前i项之和
a=a*10;
++i;
}
cout<<"a+aa+aaa+...="<return0;
}
3.18题
#include
usingnamespacestd;
intmain()
{floats=0,t=1;
intn;
for(n=1;n<=20;n++)
{
t=t*n;//求n!
s=s+t;//将各项累加
}
cout<<"1!
+2!
+...+20!
="<
return0;
}
3.19题
#include
usingnamespacestd;
intmain()
{inti,j,k,n;
cout<<"narcissusnumbersare:
"<for(n=100;n<1000;n++)
{i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
cout<}cout<return0;
}
3.20题
#include
usingnamespacestd;
intmain()
{con