}
•
第2题
•用cin语句从键盘输入一个月份的值,用switch语句判断该月的季节并输出结果。
(假设1-3为春,4-6为夏,7-9为秋,10-12为冬)
#include
voidmain()
{intseason;
cout<<"请输入一个季节:
";
cin>>season;
cout<<"季节为:
";
switch(season)
{case12:
cout<<"冬";break;
case11:
cout<<"冬";break;
case10:
cout<<"冬";break;
case9:
cout<<"秋";break;
case8:
cout<<"秋";break;
case7:
cout<<"秋";break;
case6:
cout<<"夏";break;
case5:
cout<<"夏";break;
case4:
cout<<"夏";break;
case3:
cout<<"春";break;
case2:
cout<<"春";break;
case1:
cout<<"春";break;
}
}
第3题
•要求从键盘输入年份,判断该年份,是否为闰年。
参教材p90页。
#include
voidmain()
{intyear;
cout<<"请输入一年份\n";
cin>>year;
if(year%4==0&&year%100!
=0||year%400==0)//能被4整除但不能被100整除,或者能被400整除
cout<else
cout<}
第4题
用cin从键盘输入一个字符,用if语句判断并输出该字符的种类(大写字母、小写字母、阿拉伯数字以及其他字符)。
#include
voidmain()
{charc;
cout<<"请输入一个字符:
";
cin>>c;
if(c>='a'&&c<='z')
cout<<"该字符为小写字母\n";
elseif(c>='A'&&c<='Z')
cout<<"该字符为大写字母\n";
elseif(c>='0'&&c<='9')
cout<<"该字符为阿拉伯数字\n";
else
cout<<"该字符为其他字符\n";
•}
第5题
从键盘输入三个数(a,b,c),要求按从小到大进行排序。
#include
voidmain()
{
floata,b,c,t;
cout<<"请输入abc三个数:
"<cin>>a>>b>>c;
if(a
{t=a;a=b;b=t;}
if(b{t=b;b=c;c=t;
if(a
{t=a;a=b;b=t;}
}
cout<}
实验五
第1题
用任意的循环语句求出1-100之间所有奇数的和(1+3+5+…+99)并输出结果。
#include
voidmain()
{inti,sum;
i=1;
sum=0;
while(i<100)
{sum+=i;//sum=sum+i的C++写法
i=i+2;
}
cout<<"1到100之间所有奇数的和是:
";
cout<}
第2题
•编程输出1-100之内所有能被3整除的数,并输出这些数。
•本题输出结果应该为:
36912….99
•提示:
对i进行100次循环,在每次循环中判断i能否被3整除,如果可以则输出,否则进行下一次循环。
#include
voidmain()
{inti,x;
x=3;
for(i=1;i<=100;i++)
{
if(i%3==0)
cout<
}
}
第3题
•求一个正整数的所有因子。
例如:
24的因子是12348612
#include
voidmain()
{inti,x;
cout<<"请输入一个正整数:
";
cin>>i;
cout<<"这个正整数的所有因子为";
for(x=1;x<=i;x++)
{if(i%x==0)
cout<}
}
第4题
写一个程序,计算输入的正整数的位数,如输入2008,该数的位数为4。
#include
voidmain()
{intn,i=0;
cout<<"请输入一个正整数:
";
cin>>n;
cout<<"位数为:
";
while(n)
{
n=n/10;
i++;
}
cout<<"输入正整数的位数为:
"<
}
第5题
•输出所有的顺序三位数。
•所谓的顺序三位数是指百位<=十位<=个位,如123,556都是顺序三位数,而987则不是。
#include
voidmain()
{inta,b,c;
cout<<"所有的顺序三位数为:
";
for(inti=100;i<1000;i++)
{a=i/100;
b=i/10%10;
c=i%10;
if(a<=b&&b<=c)
{
cout<
}
}
}
实验六
•第1题:
编写函数squaresum,用来求解两个整数的平方和。
从键盘里面用cin输入两个整数,调用该函数,并输出结果。
•例:
cout<#include
#include
intsquaresum(inta,intb)
{intsquaresum;
returnsquaresum=a*a+b*b;
}
voidmain()
{inta,b;
cout<<"请输入两个值";
cin>>a>>b;
cout<}
第2题
•编写函数mypower,用来求解整数a的n次方。
•该函数的声明为intmypower(inta,intn);
•提示:
进行n次循环,每次累乘a即可。
•例:
cout<#include
intmypower(inta,intn)
{intb=1;
for(inti=1;i<=n;i++)
b=b*a;
returnb;
}
voidmain()
{
inta,n;
cin>>a>>n;
cout<}
第3题
•编写函数boolisprime(intn)用来判断整数n是否为素数,如果是则返回true,否则返回false。
•利用该函数求出1000以内所有的素数并显示。
#include
#include
boolisprime(intn)
{
boola=1;
for(inti=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
a=0;break;
}
}
returna;
}
voidmain()
{
intx;
for(x=2;x<=1000;x++)
{
if(isprime(x))
cout<}
}
•第4题:
编程从键盘输入一个数,判断是奇偶性;
•要求定义一个判断奇偶数的函数inteven(intn),
当n为偶数时返回1,否则返回0。
#include
voidmain()
{
inteven(intn);
intx;
cin>>x;
if(even(x))
cout<<"偶数!
"<else
cout<<"奇数!
"<}
inteven(intn)
{
if(n%2==0)return1;
elsereturn0;
}
实验七
1.已知组合数:
c(m,r)=m!
/(r!
(m-r)!
),其中m,r为正整数,且m>r,分别求出c(5,2),c(8,6)的组合数,阶乘及组合数用函数实现。
#include
intzhs(intx)
{
if((x==0)||(x==1))
return1;
returnx*zhs(x-1);
}
voidmain()
{
inta,b,c,d,e;
cout<<"输入组合数:
";
cin>>d>>e;
a=zhs(d);
b=zhs(e);
c=zhs(d-e);
if(d>e)
cout<}
2.求400之内的亲密对数,所谓亲密对数,即A的所有因子之和等于B,B的所有因子之和等于A。
要求设计函数intfun(intn)该函数完成查找因子的功能
#include
intfun(intn);
voidmain()
{for(i=2;i<400;i++)
if(fun(fun(i))==i)
if(i!
=fun(i))
cout<
}
intfun(intn)
{ints=0;
for(i=1;iif(n%i==0)
s+=i;
returns;
}
3.打印输出下面图形。
第一行:
一个*
第二行:
3个*
第三行:
5个*
第四行:
7个*
第五行:
9个*
#include
voidmain()
{intj,i;
for(i=1;i<=5;i++)
{
for(j=1;j<=5-i;j++)
cout<<"";
for(j=1;j<=2*i-1;j++)
cout<<'*';
cout<}
}
实验八
•熟悉数组的基本操作过程
•1)定义数组inta[5];
•2)利用循环从键盘依次输入5个数分别赋给数组的5个元素;
•3)求出它们的总和;
•4)在屏幕上显示数组的5个元素以及总和
#include
voidmain()
{inta[5];
ints=0;
cout<<"请输入五个正整数:
\n";
for(inti=0;i<=4;i++)
{cin>>a[i];
s+=a[i];}
cout<<"五个数的和为:
"<
}
第2题
•假设数组inta[5]={1,2,3,4,5};
•1)定义数组intb[5];
•2)将数组a中元素的平方依次付给数组b的对应元素,也就是b[0]=1,b[1]=4……要求必须使用循环完成;
•3)在屏幕上显示数组b的5个元素的值
#include
voidmain()
{inta[5]={1,2,3,4,5};
intb[5];
for(inti=0;i<=4;i++)
{b[i]=a[i]*a[i];
cout<
}
cout<}
第3题
•定义数组intx[5]={5,2,3,1,4};
•复习课本当中求解数组最大值的算法,利用循环求出数组x最大值和最小值之间的差。
#include
voidmain()
{intx[5]={5,2,3,1,4};
inti,main,max,min;
max=x[0];
for(i=1;i<5;i++)
if(x[i]>max)
{
max=x[i];
}
min=x[0];
for(i=1;i<5;i++)
if(x[i]{min=x[i];
}
main=max-min;
cout<<"max="<}
第4题:
•复习课本上的冒泡和选择排序算法,任选一种对数组intx[5]={5,2,3,1,4}进行排序,并输出排序后的结果。
#include
voidmain()
{intx[5]={5,2,3,1,4},t;
for(intj=1;j<5;j++)
for(inti=0;i<=4-j+1;i++)
if(x[i]>x[i+1])
{t=x[i];
x[i]=x[i+1];
x[i+1]=t;
}
for(inti=0;i<5;i++)
cout<}
实验九
•第1题
•定义数组inta[2][3],运行以下步骤:
•1)从键盘依次输入6个数存入该数组当中
•2)按每行三个的形式打印这6个数的值
•如输入的是123456,则输出效果是
•123
•456
#include
voidmain()
{cout<<"请输入六个数:
\n"<inti,j,a[2][3];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
cin>>a[i][j];
cout<for(i=0;i<2;i++)
{for(j=0;j<3;j++)
cout<cout<}
}
第2题
•定义数组inta[3][4]
•1)从键盘输入12个整数,存入该数组中;
•2)利用循环求出数组中的最大值、最小值和总和;
•3)打印上述结果
#include
voidmain()
{inti,j,k,a[3][4],max,min,sum=0;
cout<<"请输入12个整数:
\n";
for(i