组合-循环与判断
问:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
新建筛选器combination,下面新建项loopBranch.c
将loop.c最后一个main方法的名改为main33
1.准备基础框架
void
int main(void) {}
int main(void) {
return 0;
}
int main(void) {
printf();
return 0;
}
#include <stdio.h>
int main(void) {
printf();
return 0;
}
#include <stdio.h>
int main(void) {
printf("");
return 0;
}
2.准备for
#include <stdio.h>
int main(void) {
for (int i = 1; i < 5; i++)
{
for (int j = 1; j < 5; j++)
{
for (int k = 1; k < 5; k++)
{
}
}
}
printf("");
return 0;
}
3.为每个for加上if
#include <stdio.h>
int main(void) {
for (int i = 1; i < 5; i++)
{
for (int j = 1; j < 5; j++)
{
if (i == j)
{
continue;
}
else {
for (int k = 1; k < 5; k++)
{
if (i == k)
{
continue;
}
else if (j == k) {
continue;
}
}
}
}
}
printf("");
return 0;
}
4.输出每个三位数
#include <stdio.h>
int main(void) {
for (int i = 1; i < 5; i++)
{
for (int j = 1; j < 5; j++)
{
if (i == j)
{
continue;
}
else {
for (int k = 1; k < 5; k++)
{
if (i == k)
{
continue;
}
else if (j == k) {
continue;
}
else
{
printf("%d%d%d\n",i,j,k);
}
}
}
}
}
printf("");
return 0;
}
5.统计个数
#include <stdio.h>
int main(void) {
int count = 0;
for (int i = 1; i < 5; i++)
{
for (int j = 1; j < 5; j++)
{
if (i == j)
{
continue;
}
else {
for (int k = 1; k < 5; k++)
{
if (i == k)
{
continue;
}
else if (j == k) {
continue;
}
else
{
printf("%d%d%d\n",i,j,k);
count++;
}
}
}
}
}
printf("%d",count);
return 0;
}


浙公网安备 33010602011771号