您的位置:首页 > 编程语言 > C语言/C++

C++第5次作业

2016-05-05 14:03 483 查看
项目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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: