作业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);