cout<return0;
}
voidselect_sort(intarray[],intn)//形参array是数组名
{
inti,j,k,t;
for(i=0;i{
k=i;
for(j=i+1;jif(array[j]t=array[k];array[k]=array[i];array[i]=t;
}
}
习题:
6、打印出杨辉三角(要求打印出10行)
#include
#include
usingnamespacestd;
intmain()
{constintn=11;
inti,j,a[n][n];
for(i=1;i{a[i][i]=1;
a[i][1]=1;
}
for(i=3;ifor(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i{for(j=1;j<=i;j++)
cout<cout<}
cout<return0;
}
C语言部分
1.编程计算1,1+2,1+2+3,…,1+2+3+…+n各项值的积
答案:
#include
usingnamespacestd;
voidmain()
{
inti,n,mul=1,sum=0;
cout<<"Pleaseinputn:
";
cin>>n;
for(i=1;i<=n;i++)
{
sum+=i;
mul*=sum;
}
cout<<"Themultipleis:
"<}
2.编写重载函数Max可分别求取两个整数,三个字符,两个浮点型数,三个双精度数的最大值。
答案:
intmax(inti,intj)
{
if(i>j)
returni;
else
returnj;
}
charmax(charc1,charc2,charc3)
{
charch;
if(c1>c2)
ch=c1;
else
ch=c2;
if(c3>ch)
ch=c3;
returnch;
}
floatmax(floatx,floaty)
{
if(x>y)
returnx;
else
returny;
}
doublemax(doublex1,doublex2,doublex3)
{
doubley;
if(x1>x2)
y=x1;
else
y=x2;
if(x3>y)
y=x3;
returny;
}
3.请编写一个函数intfind(chars[],chart[]),该函数在字符串s中查找字符串t,如果找到,则返回字符串t在字符串s中的位置(整数值);
否则返回-1。
注意:
用数组方式及两重循环来实现该函数。
答案:
intfind(chars[],chart[])
{
inti,j,slen,tlen;
slen=strlen(s);
tlen=strlen(t);
i=0;j=0;
while(i{
if(s[i]==t[j])
{
i++;
j++;
}
else
{
i=i-j+1;
j=0;
}
}
if(j>=tlen)
returni-tlen+1;
else
return-1;
}
4.写一程序,将字符串a的所有字符传送到字符串b中,要求每传送3个字符后放一个空格,例如,字符串a为”abcdefg”,则b为”abcdegg”。
答案:
#include
#include
#defineN40
voidfun(chars[],chart[])
{
inti=0,j=0;
while(s[i])
{
t[j]=s[i];
i++;
j++;
if((i)%3==0)
{
t[j]='';
j++;
}
}
t[j]='\0';
}
main()
{
chara[N],b[N];
printf("请输入原始字符串a:
");
gets(a);
fun(a,b);
printf("加入空格后的字符串b:
");
puts(b);
}
5.编程判断一个数是否为素数。
答案:
#include
#include
usingnamespacestd;
intprime(intm)
{
inti,flag=1;
for(i=2;i<=int(sqrt(m));i++)
if(m%i==0)
{flag=0;break;}
returnflag;
}
intmain(void)
{
intn;
cout<<"请输入一个整数:
";
cin>>n;
if(prime(n))
cout<"<else
cout<"<return0;
}
6.编程打印九九乘法表:
1×1=1
1×2=22×2=4
1×3=32×3=63×3=9
….
答案:
#include
usingnamespacestd;
voidmain()
{
inti,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%1d*%1d=%2d",j,i,i*j);
printf("\n");
}
}
7.请编写一个程序,程序的功能是打印以下图案。
*
***
*****
*******
*****
***
*
答案:
#include
usingnamespacestd;
voidmain()
{
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
cout<<'';
for(j=1;j<=2*i-1;j++)
cout<<'*';
cout<}
for(i=3;i>=1;i--)
{
for(j=1;j<=4-i;j++)
cout<<'';
for(j=1;j<=2*i-1;j++)
cout<<'*';
cout<}
}
8.写出下面程序的运行结果:
#include
voidaverage(float*p,intn)
{
inti;
floatsum=0;
for(i=0;isum+=(*p);
cout<}
voidmain()
{
floatscore[2][2]={{1,2},{3,4}};
average(*score,4);
}
答案:
2.5
C++部分
1.定义一个满足如下要求的Date类。
(1)用下面的格式输出日期:
日/月/年
(2)可运行在日期上加一天操作;
(3)设置日期。
答案:
#include
usingnamespacestd;
externinti=0;
classDate
{
public:
set(inty,intm,intd);
add();
print();
private:
intyear;
intmonth;
intday;
};
Date:
:
set(inty,intm,intd)
{
year=y;
month=m;
day=d;
}
Date:
:
add()
{
switch(month)