3.17作业解答


作业1: 打印倒等腰三角形
*****
***
*
//外层循环控制行数:3
int i,j,k;
for(i=0;i<3;i++){
//控制空格的数量
for(j=0;j<i;j++){
printf(" ");
}
//控制星号的数量
for(k=0;k<5-2*i;k++){
printf("*");
}
printf("\n");
}


作业2:打印菱形
     *
    ***
  *****
*******
  *****
    ***
      *
分析:菱形=正等腰三角形+倒等腰三角形
正等腰三角形=空格组成的倒直角三角形(1行:3个空格;2行:2个空格;3行1空格;4行:0个空格)+星号组成的正直角三角形(1行:1个;2行:3个;3行:5个;4行:7)
倒等腰三角形= 空格组成的正直角三角形+星号组成的倒等腰三角形


int i,j,k;

for(i=0;i<4;i++){

for(j=0;j<3-i;j++){
printf(" ");
}

for(k=0;k<2*i+1;k++){
printf("*");
}
printf("\n");
}

for(i=0;i<3;i++){

for(j=0;j<=i;j++){
printf(" ");
}

for(k=0;k<5-2*i;k++){
printf("*");
}
printf("\n");
}

作业3: 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(暴力破解)

分析:i=1,2,3,4;j=1,2,3,4;k=1,2,3,4
判断数字两两不同:i!=j&&i!=k&&j!=k

int i,j,k,count=0;
for(i=1;i<5;i++){
for(j=1;j<5;j++){
for(k=1;k<5;k++){
if(i!=j&&i!=k&&j!=k){
printf("%d%d%d\t",i,j,k);
count++;
}
}
}
}
printf("\n1,2,3,4共有%d互补相同的数字",count);

原文地址:https://www.cnblogs.com/1147blog/p/6586498.html