请看下面程序:
#include
#include
void
xopy();
void
prime();
void
sort(int*,int);
void
printstar(int);
void
main(){
char
c='1';
while(c!='5'){
cout
<<"\n\n";
cout
<<"\t--------------
功能清单
--------------\n";
cout
<<"\t1
四则运算\n"
<<"\t2
判断素数\n"
<<"\t3
输入10数,并进行排序,并按从小到大的顺序输出结果\n"
<<"\t4
使用“*”符号输入菱形图案\n"
<<"\t5
退出\n";
cout
<<"\t--------------------------------------\n";
cout
<<"\t请选择(1-5):";
while((c=cin.get())=='\n');
//忽略一些回车符
if(c=='5')
break;
switch(c){
case
'1':
xopy();
break;
case
'2':
prime();
break;
case
'3':
{
int
a[10],i;
cout
<<"请输入10个整数:\n";
for(i=0;i<10;i++)
cin
>>a[i];
sort(a,10);
cout
<<"排序后:\n";
for(i=0;i<10;i++)
cout
<<<"
";
cout
<
break;
case
'4':
{
int
n;
cout
<<"n=(1<=n<=9)?";
cin
>>n;
printstar(n);
}
break;
}
//
switch(c)
}
//
while(c!='0')
}//---------------
void
xopy(){
float
x,y,r;
char
op;
cout
<<"请输入一个算式(例如:12+5):";
cin
>>x
>>op
>>y;
switch(op){
case
'+':
r=x+y;
break;
case
'-':
r=x-y;
break;
case
'*':
r=x*y;
break;
case
'/':
if(y==0){
cout
<<"错误:除数为0!";
return;
}
r=x/y;
}
cout
<
<
}
//End
of
xopy()
void
prime(){
int
n,i,k,flag=1;
cout
<<"请输入一个正整数:";
cin
>>n;
k=int(sqrt(n));
for(i=2;flag
&&
i<=k;i++)
flag=n%i;
if(flag)
cout
<
else
cout
<
return;
}//End
of
prime()
void
sort(int*
p,int
n){
int
i,j,k,t;
for(i=0;i
for(j=i+1;j
k=j;
t=p[k],p[k]=p[i],p[i]=t;
}
return;
}//End
of
sort()
void
printstar(int
n){
int
i,j;
for(i=-n;i<=n;i++){
for(j=0;j
<<"
";
for(j=1;j<=(n-abs(i))*2+1;j++)
cout
<<"*";
cout
<<"\n";
}
}//End
printstar()
#include
int main()
{
char Team1[5]={'A','B','C','D','E'}; //定义数组Team1存储A队
char Team2[5]={'J','K','L','M','N'}; //定义数组Team2存储B队
int i,j; //定义i,j用于遍历2数组
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if((i==0&&j==0)||(i==3&&j==3)||(i==4&&j==3)) //判断AJ,MD,ME的组合
{
//如果是的就什么都不做
}
else
{
cout<
}
}
}
C语言中也有这个题,我用C写给你吧,你看看算法,自己去写C++程序
#include
int main(void)
{
int t1,t2,t3,t4,t5; //假设t1=A,t2=B,t3=C,t4=D,t5=E
for(t1='J';t1<='N';t1++)
for(t2='J';t2<='N';t2++)
if(t1!=t2)
for(t3='J';t3<='N';t3++)
if(t1!=t3&&t2!=t3)
for(t4='J';t4<='N';t4++)
if(t1!=t4&&t2!=t4&&t3!=t4)
for(t5='j';t5<='N';t5++)
if(t1!=t5&&t2!=t5&&t3!=t5&&t4!=t5)
if(t1!='J'&&t4!='M'&&t5!='M') //满足题目条件
printf("A--%c B--%c C--%c D--%c E--% c\n",t1,t2,t3,t4,t5);
return 0;
}
程序趁写的可能有错(本人才学C不久),但算法应该没问题,这算法比较简单,但有点烦人,需要仔细,希望有高手给出更简洁的答案,我也学习学习
采用枚举算法,穷搜就行了