项目1:数组分离
从键盘中输入10个数放在数组A中,将该数组中奇数放到数组B,偶数放到数组C中后分别输出。
#include<iostream>
using namespace std;
int main()
{
int a[10],b[10],c[10],num,i,j=0,k=0;
cout<<"请输入10个数放在数组a"<<"\n";
for(i=0;i<10;i++)
{
cout<<"第"<<i+1<<"个数为:"<<"\n";
cin>>num;
a[i]=num;
if(num%2==1)
{
b[j]=num;
j++;
}
else
{
c[k]=num;
k++;
}
}
cout<<"数组a是:";
for(i=0;i<10;i++)
cout<<a[i]<<", ";
cout<<"\n将数组a中奇数放到数组b,偶数放到数组c中后分别输出\n";
cout<<"奇数数组b有";
for(i=0;i<j;i++)
cout<<b[i]<<", ";
cout<<endl;
cout<<"偶数数组c有";
for(i=0;i<k;i++)
cout<<c[i]<<", ";
return 0;
}
项目3:成绩
在数组score中将要存储某小组程序设计的成绩(设有10人),编程实现下列功能:
(1)输入小组人数及成绩,要保证成绩在0-100之间;
(2)输出该小组的最高成绩、最低成绩、平均成绩;
(3)输出考得最高成绩和最低成绩的同学的人数;
(4)输出考得最高成绩和最低成绩的同学的学号(设数组下标即学号,可能有相同的成绩)。
(5)(选做)求出所有同学成绩的标准偏差,标准偏差公式为,其中为xi样本(即某同学成绩),x(上带一横)为均值(前面已经求出),N为样本数目;
#include<iostream>
#include<cmath>
using namespace std;
int set_score(int _sco[20])
{
int _num,i;
cout<<"请输入小组的人数";
cin>>_num;
for(i=0;i<_num;i++)
{
cout<<"输入第"<<i+1<<"个人的分数:";
cin>>_sco[i];
}
return _num;
}
int Statistics(int _sco[20],int num)
{
int Max,Min,i,j,c[20],max=0,min=0,sum=0;
double ave;
Max=_sco[0];
Min=_sco[0];
for(i=0;i<num;i++)
{
for(j=i;j<num;j++)
{
if(Max<_sco[j])
{
Max=_sco[j];
}
if(Min>_sco[j])
{
Min=_sco[j];
c[20-min]=j;
}
}
sum+=_sco[i];
}
for(i=0;i<num;i++)
{
if(_sco[i]==Max)
{
c[max]=i;
max++;
}
if(_sco[i]==Min)
{
c[20-min]=i;
min++;
}
}
ave=sum/num;
cout<<"该组最高成绩为:"<<Max<<" 最低成绩为:"<<Min<<" 平均成绩为:"<<ave<<"\n考出最高成绩的人数有"<<max<<" 最低成绩的人数有"<<min<<endl;
for(i=0;i<max;i++)
cout<<"考出最高成绩童鞋的学号:"<<c[i]<<endl;
for(i=0;i<min;i++)
cout<<"考出最高成绩童鞋的学号:"<<c[20-i]<<endl;
return ave;
}
void standard(int num,int _sco[20],int ave)
{
int i;
double sum;
for(i=0;i<num;i++)
{
sum=(ave-_sco[i]);
}
sum=sum/(num-1);
sum=sqrt(sum);
cout<<"所有童鞋成绩的标准差是:"<<sum;
}
int main()
{
int sco[20],num,ave;
num=set_score(sco);
ave=Statistics(sco,num);
standard(num,sco,ave);
return 0;
}
项目4:字符串
参考上面的示例,统计输出字符串中(大/小写)字母个数,数字个数及其它字符个数。
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
char str[50];
int i=0,n=0,j=0,k=0;
cout<<"输入字符串:";
gets(str);
while(str[i]!='\0')
{
if(str[i]>='0'&&str[i]<='9') n++;
else if(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z') j++;
else k++;
i++;
}
cout<<"其中的数字个数是: "<<n<<endl;
cout<<"其中的字母个数是: "<<j<<endl;
cout<<"其他字符个数是: "<<k<<endl;
return 0;
}
项目5:求和
从键盘中输入10个数放入数组a,求a数组中正数和负数的和。
#include<iostream>
using namespace std;
int main()
{
int a[10],num,i,j=0,k=0;
cout<<"请输入10个数\n";
for(i=0;i<10;i++)
{
cin>>num;
a[i]=num;
if(num>0)
j+=num;
else if(num<0)
k+=num;
}
cout<<"这10个数中正数和为"<<j<<endl;
cout<<"这10个数中负数和为"<<k<<endl;
return 0;
}