今天做练习有两个心得
1.循环得到的结果,倒序输出
需要用到数组,把结果放在数组中,再倒序输出。
例:把十进制数字变成二进制数字
#include<stdio.h>
int main()
{
while(1)
{
int a,b;
int c[10];
scanf("%d",&a);
int i=0;
for(i=0;i<=9;i++)
c[i]=' ';
for(i=0;a>=1;i++)
{
b=a%2;
a=a/2;
c[i]=b+48;
}
for(i=9;i>=0;i--)
printf("%c",c[i]);
}
}
2 排列组合的输出与统计
例 X,Y,Z 和a,b,c,d形成的组合有几种
利用空格“ ”
#include<stdio.h>
int main()
{
int i,j,k,l,m,n,o,p,sum=0;
char a[4];
a[0]='x';
a[1]='y';
a[2]='z';
a[3]=' ';
char b[4];
b[0]='A';
b[1]='B';
b[2]='C';
b[3]='D';
for(i=0;i<4;i++)
for(j=0;j<4;j++)
for(k=0;k<4;k++)
for(l=0;l<4;l++)
for(m=0;m<4;m++)
for(n=0;n<4;n++)
for(o=0;o<4;o++)
for(p=0;p<4;p++)
{
if((i!=k&&i!=m&&i!=o&&k!=m&&k!=o&&m!=o&&j!=l&&j!=n&&j!=p&&l!=n&&l!=n&&l!=p&&n!=p))
{
printf("%c%c,%c%c,%c%c,%c%c " ,a[i],b[j],a[k],b[l],a[m],b[n],a[o],b[p]);
sum=sum+1;
}
}
printf("%d",sum);
}