return0;
}
⑤//错误
#include
usingnamespacestd;
intmain()
{
inti,j,m,num=22,maxnum,flag,a;
for(a=22;a<=num;a++)
{
flag=1;
{
for(i=0;i<=a/6;i++)
for(j=0;j<=a/9;j++)
for(m=0;m<=a/20;a++)
if(6*i+9*j+20*m==a)
{
flag=0;
}
}
if(flag==0)
continue;
num=maxnum=a;
num*=2;
}
cout<return0;
}
⑥//正确//稍有麻烦else:
continue:
#include
usingnamespacestd;
intmain()
{
inti,j,m,a,flag,maxnum,num=22;
for(a=22;a<=num;a++)
{
flag=1;
for(i=0;i<=a/6;i++)
for(j=0;j<=a/9;j++)
for(m=0;m<=a/20;m++)
{
if(6*i+9*j+20*m==a)
{
flag=0;
break;
}
else
{
continue;
}
}
if(flag==1)
{
num=maxnum=a;
num*=2;
}
}
cout<return0;
}
⑦//错误
#include
usingnamespacestd;
intryear(int,int,int,int);
intpyear(int,int,int,int);
int_ryear(int,int,int);
int_pyear(int,int,int);
intmain()
{
inta,b,c,d,e,f,tday=0;
cout<<"请输入合理的起始年月日:
"<cin>>a>>b>>c;
cout<<"请输入合理的终止年月日:
"<cin>>d>>e>>f;
while(a{
if((a%4==0&&a%100!
=0)||(a%100==0&&a%400==0))
ryear(a,b,c,tday);
else
pyear(a,b,c,tday);
break;
}//此时a已经加了1,执行完此次循环后
while(a{
if((a%4==0&&a%100!
=0)||(a%100==0&&a%400==0))
tday+=366;
else
tday+=365;
a+=1;
}
while(a==d)
{
if((a%4==0&&a%100!
=0)||(a%100==0&&a%400==0))
_ryear(e-1,f,tday);
else
_pyear(e-1,f,tday);
break;
}
cout<<"两日期共相差了:
"<return0;
}
intryear(inta,intb,intc,inttday)
{
do
{
switch(b)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:
tday=31-c+tday;
break;
case4:
case6:
case9:
case11:
tday=30-c+tday;
break;
case2:
tday=29-c+tday;
break;
}
b+=1;
c=0;
}while(b<=12);
a+=1;
returntday;
}
intpyear(inta,intb,intc,inttday)
{
do
{
switch(b)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:
tday=31-c+tday;
break;
case4:
case6:
case9:
case11:
tday=30-c+tday;
break;
case2:
tday=28-c+tday;
break;
}
b+=1;
c=0;
}while(b<=12);
a+=1;
returntday;
}
int_ryear(inte,intf,inttday)
{
do
{
switch(e)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:
tday+=31;
break;
case4:
case6:
case9:
case11:
tday+=30;
break;
case2:
tday+=29;
default:
tday=tday;
}
e-=1;
}while(e>=1);
tday+=f;
returntday;
}
int_pyear(inte,intf,inttday)
{
do
{
switch(e)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:
tday+=31;
break;
case4:
case6:
case9:
case11:
tday+=30;
break;
case2:
tday+=28;
default:
tday=tday;
}
e-=1;
}while(e>=1);
tday+=f;
returntday;
}
⑧//正确
#include
usingnamespacestd;
intmain()
{
inta,b,c,d,e,f,tday=0;
charch;
do
{
cout<<"请输入合理的起始年份:
"<cin>>a>>b>>c;
cout<<"请输入合理的终止年份:
"<cin>>d>>e>>f;
while(a{
do{
switch(b)
{
case2:
if((a%4==0&&a%100!
=0)||(a%100==0&&a%400==0))
{
tday=29-c+tday;
break;
}
else
{
tday=28-c+tday;
break;
}
case1:
case3:
case5:
case7:
case8:
case10:
case12:
tday=31-c+tday;
break;
case4:
case6:
case9:
case11:
tday=30-c+tday;
break;
}
b+=1;
c=0;
}while(b<=12);
a+=1;
b=0;
break;
}
while(a{
if((a%4==0&&a%100!
=0)||(a%100==0&&a%400==0))
tday+=366;
else
tday+=365;
a+=1;
}
while(a==d)
{
if(b==e)
tday=tday+f-c;
else
do
{
switch(b)
{
case2:
if((a%4==0&&a%100!
=0)||(a%100==0&&a%400==0))
{
tday=29-c+tday;
break;
}
else
{
tday=28-c+tday;
break;
}
case1:
case3:
case5:
case7:
case8:
case10:
case12:
tday=31-c+tday;
break;
case4:
case6:
case9:
case11:
tday=30-c+tday;
break;
}
b+=1;
c=0;
}while(btday+=f;
break;
}
cout<<"两日期之间共相差了:
"<cout<<"是否还要继续计算Y/N?
"<cin>>ch;
}while(ch=='y'||ch=='Y');
return0;
}
【19】
#include
usingnamespacestd;
intmain()
{
inti,j,m,n;
charch;
cout<<"请输入要打印的菱形行数:
"<do{
cin>>n;
if((n<=0)||(n%2==0))
{
cout<<"数据不合理,请重新输入要打印的菱形行数:
"<ch='N';
}
else
ch='Y';
}while(ch=='N');
for(j=1;j<=(n+1)/2;j++)
{
for(i=1;i<=(n+1)/2-j;i++)
cout<<"";//打印开头空格
cout<<"*";//打印开头菱形边框
for(m=1;m<=2*j-3;m++)
cout<<"";//打印中间空格
if(2*j-3>0)
cout<<"*";//打印末尾菱形
cout<}
//打印菱形的下半个部分
for(j=1;j<=(n+1)/2-1;j++)
{
for(i=1;i<=j;i++)
cout<<"";//是第几行就打印几个空格
cout<<"*";//菱形下半部分的开头部分
for(m=1;m<=n-2*j-2;m++)
cout<<"";//打空格
if(n-2*j-2>0)
cout<<"*"<}
cout<return0;
}
[20]//正确//打印字母三角形
#include
usingnamespacestd;
intmain()
{
inti,j,m,n,num[10];
chara[26][27],c[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
cout<<"输入要打印的字母三角形个数:
"<cin>>n;
cout<<"每一个分别要打印多少行:
"<for(i=0;icin>>num[i];//为每一个行赋值
for(m=0;m{
for(i=0;ia[i][0]='a';//为每行首元素赋值‘a’
for(i=0;ifor(j=1;j<=num[m];j++)
{
if(i+j-num[m]>=0)
a[i][j]=c[i+j-num[m]];
else
a[i][j]='';
}
for(i=0;i{
for(j=0;j<=num[m];j++)
cout<cout<}
cout<}
return0;
}
[21]//参数传递错误
#include
#defineN10
usingnamespacestd;
int_output1(int,int,char);
int_output2(int,int,char);
intmain()
{
inti,n,a[N],num=1;
charc[N];
cout<<"口的个数:
"<cin>>n;
cout<<"输入其有什么字母组成,及其口的大小。
"<for(i=0;i{
cin>>c[i];
cin>>a[i];
}
i=0;
do{
_output1(a[N],i,c[N]);
_output2(a[N],i,c[N]);
_output1(a[N],i,c[N]);
cout<num++;
i++;
}while(num<=n);
return0;
}
int_output1(inta[N],inti,charc[N])
{
intk=1,j;
while(k<=2)
{
for(j=0;jcout<k++;
cout<}
return0;
}
int_output2(inta[N],inti,charc[N])
{
intm,j;
for(m=0;m{
for(j=0;j<2;j++)
cout<for(j=0;jcout<<"";
for(j=0;j<2;j++)
cout<cout<}
return0;
}
【22】//均正确
#include
#defineN10
usingnamespacestd;
intmain()
{
inti,n,a[N],m,k=1,j,num=1;
charc[N];
cout<<"口的个数:
"<cin>>n;
cout<<"输入其有什么字母组成,及其口的大小。
"<for(i=0;i{
cin>>c[i];
cin>>a[i];
}
i=0;
do{
while(k<=2)
{
for(j=0;jcout<k++;
cout<}
k=1;
for(m=0;m{
for(j=0;j<2;j++)
cout<for(j=0;jcout<<"";
for(j=0;j<2;j++)
cout<cout<}
while(k<=2)
{
for(j=0;jcout<k++;
cout<}
k=1;
num++;
i++;
cout<}while(num<=n);
return0;
}