一、项目2:数组选择
从键盘中输入10个数放在数组A中,将该数组中不重复的数放到数组B中
#include<iostream.h>
void main()
{
int a[10],i,b[10],j,k=0; //使用const定义常量会使等于该常量的变量无法输出,原因未知
cout<<"请输入十个数字:";
for(i=0;i<10;i++)
cin>>a[i]; //输入a数组
for(i=0;i<10;i++)
{
for(j=0;j<11;j++) //与数组中每一个数做比较(N+1的原因:防止最后一个数执行continue语句跳出导致无法输出)
{
if(i==j) //排除同项
continue;
if(a[i]==a[j]) //判断是否相等,若相等,跳出
break;
if(j==10) //此时已经进行到最后一步,确定a数组的数没有重复
{
b[k]=a[i];
k++;
}
}
}
cout<<"不重复的数字为:";
for(i=0;i<k;i++)
cout<<b[i]<<'\t'; //输出b数组
cout<<endl;
} <span style="font-family: Arial, Helvetica, sans-serif;"> </span>
项目3:成绩
#include<iostream.h>
#include<math.h>
void main()
{
const int N=10; //定义常量N
int a[N],i,max,min,j=0,k=0,b[N],c[N];
double S=0.0,aver=0.0;
cout<<"请输入成绩:";
for(i=0;i<N;i++) //输入成绩并判断是否在0~100之间
{
cin>>a[i];
if(a[i]>100||a[i]<0)
cout<<"输入有错"<<endl;
}
max=a[0];
min=a[0];
for(i=0;i<N;i++)
{
if(a[i]>max) //求最大值
max=a[i];
if(a[i]<min) //求最小值
min=a[i];
aver+=a[i]; //求和
}
aver/=N; //求平均
cout<<"最高分为:"<<max<<"分;最低分为"<<min<<"分;平均分为"<<aver<<"分。"<<endl;
for(i=0;i<N;i++)
{
if(a[i]==max) //找出成绩最高者
{
b[j]=i; //将学号存入数组b
j++;
}
if(a[i]==min) //找出成绩最低者
{
c[k]=i; //将学号存入数组c
k++;
}
}
cout<<"最高分有"<<j<<"个,学号为";//输出成绩最高者的个数和学号
for(i=0;i<j;i++)
cout<<b[i]<<" ";
cout<<endl;
cout<<"最低分有"<<k<<"个,学号为";//输出成绩最低者的个数和学号
for(i=0;i<k;i++)
cout<<c[i]<<" ";
cout<<endl;
for(i=0;i<N;i++) //计算标准偏差
S+=pow(a[i]-aver,2);
S/=(N-1.0);
S=sqrt(S);
cout<<"标准偏差为"<<S<<endl;
}
三、项目4:字符串
统计输出字符串中(大/小写)字母个数,数字个数及其它字符个数。
#include<iostream.h>
#include<stdio.h> //C语言程序头文件(用到gets())
void main()
{
char str[50]; //定义字符数组
int i=0,m=0,n=0,k=0,j=0;
cout<<"输入字符串:"<<endl;
gets(str); //将字符串转为数组
while(str[i]!='\0')
{
if(str[i]>=48&&str[i]<=57) //数字
m++;
else if(str[i]>=65&&str[i]<=90) //大写字母
n++;
else if(str[i]>=97&&str[i]<=122) //小写字母
j++;
else //其他字符
k++;
i++;
}
cout<<"其中的数字个数是: "<<m<<endl;
cout<<"其中的大写字母个数是: "<<n<<endl;
cout<<"其中的小写字母个数是: "<<j<<endl;
cout<<"其中的其他字符个数是: "<<k<<endl;
}
四、 项目5:求和
从键盘中输入10个数放入数组a,求a数组中正数和负数的和。
#include<iostream.h>
void main()
{
const int N=10; //定义常量N
int a[N],sum1=0,sum2=0,i;
cout<<"请输入十个整数:";
for(i=0;i<N;i++)
{
cin>>a[i];
if(a[i]>0) //判断是否为正数
sum1+=a[i];
if(a[i]<0) //判断是否为负数
sum2+=a[i];
}
cout<<"正数之和为"<<sum1<<endl;
cout<<"负数之和为"<<sum2<<endl;
}