第一题
题目:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
解题思路:可填在百位、十位、个位的数字都是 1、2、3、4,组成所有的排列后再去掉不满足条件的排列。
#include<stdio.h>
int main()
{
int i,j,k;
printf("\n");
//以下为三重循环
for(i=1;i<5;i++){
for(j=1;j<5;j++){
for(k=1;k<5;k++){
if(i!=k&&i!=j&&j!=k){//确保i、j、k三位互不相同
printf("%d,%d,%d\n",i,j,k);
}
}
}
}
}
运行结果
第二题
题目:输出指定的由“*”组成的倒三角图案。
#include<stdio.h>
int main()
{
printf("* * * *\n");
printf(" * * *\n");
printf(" * *\n");
printf(" *\n");
return 0;
}
第三题
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
解题思路:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
#include<stdio.h>
int main()
{
int x,y,z,t;
printf("\n请输入三个数字:\n");
scanf("%d%d%d",&x,&y,&z);
if(x>y){//交换x,y的值
t=x;x=y;y=t;
}
if(x>z){//交换x,z的值
t=z;z=x;x=t;
}
if(y>z){//交换z,y的值
t=y;y=z;z=t;
}
printf("从小到大排序:%d %d %d\n",x,y,z);
}
运行结果