for(N=100;N<=999;N++)
{
M=N;
for(intj=0;j<3;j++)//提取数字的个十百位
{
a[j]=M%10;
M/=10;
}
if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==N)
cout<}
}
//求1!
+2!
+…+50!
。
#include
voidmain()
{
intsum1=1;//记录i!
的结果
intsum2=0;//记录i!
累加的结果
for(inti=1;i<=50;i++)
{
for(intj=1;j<=i;j++)//计算i!
sum1*=j;
sum2+=sum1;
}
cout<<"1!
+2!
+…+50!
="<}
//编写程序求一元二次方程ax*x+bx+c=0的解。
#include
#include
voidmain()
{
floata,b,c;//方程的系数
floats1,s2;//解
floattemp;
cout<<"Inputa,b,c:
"<cin>>a>>b>>c;
if(a==0)
{
cout<<"不是一元二次方程!
"<}else
{
temp=b*b-4*a*c;
if(temp<0)//无根的情况
cout<<"无实根!
"<elseif(temp==0)//只有一个实根的情况
{
s1=-b/(2*a);
cout<<"方程有一个实根,为"<}
else//两个实根的情况
{
s1=(-b+sqrt(temp))/(2*a);
s2=(-b-sqrt(temp))/(2*a);
cout<<"方程有两个实根,为"<}
}
}
//3-4-9编写程序,用循环语句打印如下图案。
#include
#include
#include
voidmain()
{
for(inti=1;i<=7;i++)
{
cout<if((i==1)||(i==7))//第一行和最后一行仅显示一个@
{
cout<continue;
}
for(intm=abs(4-i)+2;m<=6-abs(4-i);m++)//显示中间的*
cout<<"*";
cout<<"@"<}
}
//3-4-10编写程序,输入年月日信息,并输出这一天为这一年的第几天,注意闰年问题。
#include
voidmain()
{
intyear,month,day;
intnum=0;
intlength;
cout<<"Inputyear:
";
cin>>year;
cout<<"Inputmonth:
";
cin>>month;
cout<<"Inputday:
";
cin>>day;
for(inti=1;i{
if((i==1)||(i==3)||(i==5)||(i==7)||(i==8)||(i==10)||(i==12))
//大月31天
length=31;
elseif((i==4)||(i==6)||(i==9)||(i==11))//小月30天
length=30;
else
if(((year%100==0)&&(year%4==0))||((year%100!
=0)&&(year%4==0)))//闰年判断条件
length=29;//闰年的二月29天
else
length=28;//非闰年的二月28天
num+=length;
}
num+=day;
cout<"<}
//3-4-11编写程序,由用户输入x值,计算函数值并输出y。
函数如下所示:
#include
voidmain()
{
intx,y;
cout<<"InputX(int):
";
cin>>x;
if(x<0)//x<0的情况
y=x;
elseif(x>10)//x>10的情况
y=4*x*x*x-x*x;
else//其余的情况
y=x*x;
cout<<"函数结果y为:
"<}
//3-4-12鸡兔同笼问题。
若鸡兔共有100只脚,利用循环计算鸡兔各几只。
#include
voidmain()
{
intrabbit,chicken;
for(rabbit=100/4;rabbit>=0;rabbit--)//兔子最多有25只,最少没有
{
chicken=(100-rabbit*4)/2;
cout<<"兔子有"<}
}
//4-5-1编写一个函数,计算直角坐标系中点a(x0,y0)到点b(x1,y1)的距离。
#include
#include
floatlength(floatx0,floaty0,floatx1,floaty1)//求两点距离的子函数
{
returnsqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1));;
}
voidmain()
{
floatx0,x1,y0,y1;
cout<<"Inputxandyofapoint:
";
cin>>x0>>y0;
cout<<"Inputxandyofbpoint:
";
cin>>x1>>y1;
cout<<"Thelengthfromatobis"<}
//4-5-2求a!
+b!
+c!
的值,其中求n!
要用一个函数实现,通过主函数输入a、b和c的值,并在主函数中输出计算的结果。
#include
intfactorial(intn)//求两点距离的子函数
{
intsum=1;
for(inti=1;i<=n;i++)
sum*=i;
returnsum;
}
voidmain()
{
inta,b,c;
cout<<"Inputa,b,c:
";
cin>>a>>b>>c;
cout<<"a!
+b!
+c!
="<}
//4-5-3编写一个函数。
该函数读入一个整数,并判断这个整数是否为一个回文数字。
例如4,44,434,4334,43534都是回文数字。
#include
boolpalindrome(intn)//判断n是否为回文的子函数
{
inta[20];
intm=n;
inti=0;
inttemp,num;
while(m>0)//将数字的各位反向放置在数组a中
{
a[i]=m%10;
m=m/10;
i++;
}
temp=i/2;//需要比较的次数
num=--i;//数字的最高位存储在a[num]中
for(intj=0;j{
if(a[j]!
=a[num-j])returnfalse;//如果出现不相等的情况立即退出
}
returntrue;//若比较的各个位置都相等,则为回文
}
voidmain()
{
intnumber;
cout<<"Inputthenumber:
";
cin>>number;
if(palindrome(number))
cout<else
cout<}
//4-5-4编写一个程序,为选修3、4和5门课程的学生计算平均分,其中求平均分要用重载函数实现
#include
floataverage(floata,floatb,floatc)//求三门课程平均分子函数
{
return(a+b+c)/3;
}
floataverage(floata,floatb,floatc,floatd)//求四门课程平均分子函数
{
return(a+b+c+d)/4;
}
floataverage(floata,floatb,floatc,floatd,floate)//求五门课程平均分子函数
{
return(a+b+c+d+e)/5;
}
voidmain()
{
intnumber;
floats1,s2,s3,s4,s5;
cout<<"Thetotalofstudent'scoursesis";
cin>>number;
if(number==3)
{
cout<<"Inputthreescoreofstudent:
";
cin>>s1>>s2>>s3;
cout<<"Theaverageis"<}
elseif(number==4)
{
cout<<"Inputfourscoreofstudent:
";
cin>>s1>>s2>>s3>>s4;
cout<<"Theaverageis"<}
else
{
cout<<"Inputthreescoreofstudent:
";
cin>>s1>>s2>>s3>>s4>>s5;
cout<<"Theaverageis"<}
}
//4-5-5用递归方法将一个整数n转换成字符串。
#include
#include
usingnamespacestd;
stringconvert(intn);
stringnumstring("");
voidmain()
{