21xrx.com
2024-12-22 19:46:18 Sunday
登录
文章检索 我的文章 写文章
如何在C语言中使用三个数字组成不同的数字
2023-06-13 01:56:13 深夜i     --     --
C语言编程 数字组合 循环遍历

在C语言编程中,我们经常需要组合数字来表示不同的数值。但是,有时候这些数字的组合方式会受到限制,比如只能使用三个数字来组成不同的数字。那么在这种情况下,我们应该如何编写代码,才能实现三个数字组成不一样的数呢?

首先,我们可以使用三层嵌套的循环来遍历所有的数字组合情况,具体如下:


for(int i=1;i<=9;i++){

  for(int j=0;j<=9;j++){

    for(int k=0;k<=9;k++)

      // TODO: 组合数字

    

  }

}

在上面的代码中,我们使用三个循环分别枚举三个数字的可能取值。接下来,我们需要在循环体中将这三个数字组合成一个数字,并判断该数字是否已经出现过。如果是全新的数字,我们就可以将它保存下来,否则就忽略它。

具体实现如下:


#include

int main(){

  int nums[1000]; // 保存所有不同的数字

  int cnt = 0; // 数字总数

  

  for(int i=1;i<=9;i++){

    for(int j=0;j<=9;j++){

      for(int k=0;k<=9;k++){

        if(i!=j && j!=k && i!=k){ // 三个数字不相同

          int num = i*100 + j*10 + k;

          int flag = 1; // 标记数字是否已经出现过

          

          for(int m=0;m

            if(nums[m] == num)

              flag = 0;

              break;

            

          }

          

          if(flag){ // 新的数字

            nums[cnt++] = num;

          }

        }

      }

    }

  }

  

  printf("共有%d个不同的数字:\n", cnt);

  for(int i=0;i

    printf("%d ", nums[i]);

  }

  

  return 0;

}

上面的代码先定义一个数组 `nums`,用来保存所有不同的数字。然后,在三重循环中,我们将三个数字组合成一个数字,并使用一个标记 `flag` 来判断该数字是否已经出现过。然后,我们判断如果是全新的数字,就将它保存到 `nums` 数组中,并将 `cnt` 计数器加一。最后,我们遍历 `nums` 数组,输出所有不同的数字。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章