return0;
}
Q11.(10分)在一个已知的一维数组中分类统计正数和负数的个数。
正数的个数存入变量C1中,负数个数存入变量C2中.
输出格式要求:
cout<<"c1="<cout<<"c2="<#include
usingnamespacestd;
intmain()
{
inta[10]={1,-2,0,4,-5,0,7,8,-9,10};
intc1=0,c2=0;
inti;
for(i=0;i<10;i++)
if(a[i]>0)
c1++;
elseif(a[i]<0)
c2++;
cout<<"c1="< cout<<"c2="< return0;
}
Q12.(10分)在包含10个数的一维整数数组a中查找最大元素max和最小元素min。
输出格式要求:
cout<<"最大元素:
"<cout<<"最小元素:
"<#include
usingnamespacestd;
intmain()
{
inta[10]={32,43,65,23,432,543,543,54,542,87};
inti;
intmax,min;
max=a[0],min=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)max=a[i];
if(a[i] }
cout<<"最大元素:
"< cout<<"最小元素:
"< return0;
}
Q13.(10分)用while循环编程,求自然数1至100之间各奇数平方和sum。
输出结果格式为:
sum=166650
#include
usingnamespacestd;
intmain()
{
inti=1,sum=0;
while(i<=100)
{
if(i%2!
=0)
{
sum=sum+i*i;
}
i++;
}
cout<<"sum="<}
Q14.(10分)判断一个数23437是否是素数(要求程序中设置一个参数flag,flag为1代表是素数,为0代表不是)
输出结果:
0
#include
#include
usingnamespacestd;
intmain()
{
inta=23437;
intc,flag;
doubleb;
b=sqrt(a);
for(c=2;c<=a;c++)
{
if(a%c==0)
break;
}
if(c>b)
flag=1;
else
flag=0;
if(flag==1)
cout< elseif(flag==0)
cout<return0;
}
Q15.(10分)已知一个数m(=252),用循环求各位数字之和。
输出结果格式:
s=9
#include
usingnamespacestd;
intmain()
{
intm[3]={2,5,2},s=0;
for(inti=0;i<=2;i++)
{
s+=m[i];
}
cout<<"s="<
return0;
}
Q16.(10分)已知一个数m(=252),用循环求各位数字之积。
输出结果格式:
f=20
#include
#include
usingnamespacestd;
intmain()
{
intm[3]={2,5,2},f=1;
for(inti=0;i<=2;i++)
{
f*=m[i];
}
cout<<"f="< return0;
}
Q17.(10分)已知10个四位数输出所有对称数及个数n。
例如1221,2332都是对称数。
设:
intm[10]={1221,2243,2332,1435,1236,5623,4321,4356,6754,3234};
输出结果:
1221
2332
#include
usingnamespacestd;
intmain()
{
inti,n=0,m[10]={1221,2243,2332,1435,1236,5623,4321,4356,6754,3234};
for(i=0;i<10;i++)
{
inta,b,c,d;
a=m[i]/1000;
b=m[i]%1000/100;
c=m[i]%100/10;
d=m[i]%10;
if(a==d&&c==b)
{
cout< n++;
}
}
cout<<"n="< return0;
}Q18.(10分)将1-100之间奇数顺序累加存入n中,直到其和等于或大于200为止。
输出结果格式:
n=225
#include
usingnamespacestd;
intmain()
{
intn=0;
for(inti=1;i<=100;i++)
{
if(i%2!
=0&&n<=200)
n+=i;
}
cout<<"n="< return0;
}
Q19.(10分)从键盘上输入三个整数,编写程序求出三个数中的最大值。
输入格式要求:
cout<<"请输入三个整数:
";
输出格式要求:
cout<<"最大值是:
"<#include
usingnamespacestd;
intmain()
{
inta,b,c,t,max;
cout<<"请输入三个整数:
";
cin>>a>>b>>c;
if(a
{
t=b;
b=a;
a=t;
}
if(a {
t=c;
c=a;
a=t;
}
max=a;
cout<<"最大值是:
"< return0;
}
Q20.(10分)输入年份和月份,编写程序,判断这一年该月份的天数。
输入格式要求:
cout<<"请输入年份和月份:
";
输出格式要求:
cout<"<#include
usingnamespacestd;
intisLeap(intyear)
{
if(year%400==0||(year%4==0&&year%100!
=0))
{
return1;
}
else
{
return0;
}
}
intmain()
{
intyear;
intmonth;
inta[12]={31,28,31,30,31,30,31,31,30,31,30,31};
cout<<"请输入年份和月份:
";
cin>>year>>month;
if(isLeap(year))
{
a[1]=a[1]+1;
}
cout<"< return0;
}
Q21.(10分)
编写程序,求解下面的分段函数:
输入格式要求:
cout << "请输入x:
";
输出格式要求:
cout << "y="<< y << endl;
#include
usingnamespacestd;
intmain()
{
doublex,y;
cout<<"请输入x:
";
cin>>x;
if(x>-10&&x<0)y=x-8;
if(x==0) y=x;
if(x>0&&x<10) y=x*x;
cout<<"y="< return0;
}
Q22.(10分)用“辗转相除方法”计算两个数x,y的最大公约数。
输入格式要求:
无,直接输入
输出格式要求:
无,直接输出结果
#include
usingnamespacestd;
intmain()
{
intx,y,r;
cin>>x>>y;
while(y!
=0)
{
r=x%y;
x=y;
y=r;
}
cout< return0;
}
Q23.(10分)利用选择法将下面10个数按降序排列。
有如下定义:
intn[10]={5,6,4,2,3,7,8,5,6,7};
输入格式要求:
无
输出格式要求:
以逗号分隔降序数列
#include
#include
usingnamespacestd;
intmain()
{
inta[10]={5,6,4,2,3,7,8,5,6,7},i,j,k,t;
for(i=0;i<=8;i++)
{
k=i;
for(j=i+1;j<=9;j++)
if(a[k]
if(k!
=i)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
for(i=0;i<=9;i++)
{
cout< }
cout< return0;
}
Q24.(10分)定义数组,输入不多于20名若干学生成绩,统计高于平均分的人数k,用-1做结束标志。
输入格式要求:
无
输出格式要求:
cout<<"高于平均分的人数:
"<#include
usingnamespacestd;
intmain()
{
floatcj[]={76,89,90,67,56,45,24,87,66,56,-1},aver,sum=0;
inti,n=0,k=0;
while(cj[n]>=0)
{