1.编写函数输出以下形状的图形,其中构成图形的符号和输出的行数通过参数传送。
2.编写一个程序,实现如下功能:
(1)输入k(<100)个整数到数组x[100]中;
(2)计算k个数的平均值及大于平均值的元素个数。
请问各位大虾这两大题怎样做?
[此贴子已经被作者于2006-1-9 12:00:55编辑过]
我这样会不会被人PK呀!!
#include <iostream>
#include <stdlib.h>
#include <iomanip>
using namespace std;
void form(int row);
int main(int argc, char *argv[])
{
int rows;
cout<<"请输入行数(请不要超过40行,DOS没有那么大!):";
cin>>rows;
form(rows);
system("PAUSE");
return 0;
}
void form(int row)
{
for(int j=row,i=0;i<row*2;i+=2,j--)
{
cout.fill(' ');
cout<<setw(j)<<'#';
if(i==row*2-2)
{
cout.fill('#');
cout<<setw(i)<<'#'<<endl;
break;
}
if(i!=0)
cout<<setw(i)<<'#'<<endl;
else
cout<<endl;
}
}
第二题应该比较简单吧:
float ShuRu(int *p,int &n)
{
float average=0.0;
while(1)
{
cout<<"请输入整数个数(100以内)"<<endl;
cin>>n;
if(n<=100&&n>0)
break;
}
cout<<"逐个输入整数"<<endl;
for(int i=0;i<n;i++)
{
cin>>p[i];
average+=p[i];
}
average/=n;
return(average);
}
int DaYu(int *p,int n,float ave)
{
int num=0;
for(int j=0;j<n;j++)
if(p[i]>ave)
num++;
return (num);
}
int main()
{
const int MAX=100;
int a[MAX],k;
float ave;
ave=ShuRu(a,k);
int count;
count=DaYu(a,k,ave);
cout<<"average="<<ave<<endl;
<<"count="<<count<<endl;
renturn 0;
}