if(*p<10)s+=*p;
cout<
}
输出结果:
15
11.#include
voidmain(){
ints=0;
for(inti=1;i<=8;i+=2)
s+=i*i;
cout<<"s="<
}
输出结果:
s=84
12.#include
voidmain(){
inti=1,s=0;
while(s<15)s+=i++;
cout<
}
输出结果:
6,15
13.#include
voidmain(){
inta[8]={36,25,48,14,55,20,47,82};
intc1=0,c2=0;
for(inti=0;i<8;i++)
if(a[i]<50)c1++;elsec2++;
cout<}
输出结果:
62
14.#include
intLB(int*a,intn){
intp=1;
for(inti=0;ip*=*a;a++;
}
returnp;
}
voidmain(){
inta[5]={1,2,3,4,3};
cout<}
输出结果:
72
15.#include
structWorker{
charname[15];//姓名
intage;//年龄
floatpay;//工资
};
voidmain(){
Workerx={"wangfong",46,1640};
Workery,*p;
y=x;p=&x;
cout<pay*2<}
输出结果:
563280
四、写出下列每个函数的功能
1.intSA(inta,intb){
if(a>b)return1;
elseif(a==b)return0;
elsereturn-1;
}
函数功能:
比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a
2.intLK(inta[],intn){
floats=0;inti;
for(i=0;is/=n;
intm=0;
for(i=0;i=s)m++;
returnm;
}
函数功能:
求出数组a的n个元素中大于等于平均值的元素个数并返回。
3.intWD(inta[],intn){
intm=a[0];
for(inti=1;iif(a[i]>m)m=a[i];
returnm;
}
函数功能:
从数组a的n个元素中求出最大值并返回。
4.doubleFI(intn){//n为大于等于1的整数
doublex,y=0;
do{
cin>>x;
y+=x*x;
}while(--n);
returny;
}
函数功能:
求出从键盘上输入的n个整数的平方和并返回。
5.boolWE(inta[],intb[],intn){
for(inti=0;iif(a[i]!
=b[i])break;
if(i==n)returntrue;returnfalse;
}
函数功能:
判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假。
6.intLK(inta[],intn){
doubles=0;
inti,m=0;
for(i=0;is=s/n;
for(i=0;i=s)m++;
returnm;
}
函数功能:
统计出数组a[n]中大于等于其平均值的元素个数并作为函数值返回。
7.doubleFI(intn){//n为大于等于1的整数
doublex,y=0;
do{
cin>>x;
y+=x;
}while(--n);
returny;
}
函数功能:
求出从键盘上输入的n个整数的和并返回。
8.boolWE(inta[],intb[],intn){
for(inti=0;iif(a[i]!
=b[i])break;
if(i==n)returntrue;returnfalse;
}
函数功能:
判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假。
9.intLK(inta[],intn){
doubles=0;
inti,m=0;
for(i=0;is=s/n;
for(i=0;i=s)m++;
returnm;
}
函数功能:
统计出数组a[n]中大于等于其平均值的元素个数并作为函数值返回。
五、按题目要求编写程序
1.已知6≤a≤30、15≤b≤36,求出满足不定方程2a+5b=126的全部整数组解。
如(13,20)就是其中的一组解,并按此格式输出每组解。
#include
voidmain()
{
inta,b;
for(a=6;a<=30;a++)
for(b=15;b<=36;b++)
if(2*a+5*b==126)
cout<<'('<}
2.假定函数声明为“voidPrint(inta[],intn);”,要求按下标从大到小的次序输出数组a中的n个元素的值,每个值后面接着输出一个空格。
voidPrint(inta[],intn)
{
for(inti=n-1;i>=0;i--)
cout<cout<}
3.假定一个函数声明为“intFF(inta[],intn);”,要求递归求出数组a中所有n个元素之积并返回。
intFF(inta[],intn)
{
if(n==1)returna[n-1];
elsereturna[n-1]*FF(a,n-1);
//或者if(n==0)return1;
//elsereturna[n-1]*FF(a,n-1);
}
4.假定函数声明为“voidPrint(inta[],intn);”,要求按下标从大到小的次序输出数组a中的n个元素的值,每个值后面接着输出一个逗号,但最后一个值后面为换行符。
voidPrint(inta[],intn)
{
for(inti=n-1;i>0;i--)
cout<cout<}