码迷,mamicode.com
首页 > 编程语言 > 详细

C 语言学习 1

时间:2015-08-07 14:48:23      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:c语言

【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列

2.程序源代码:

#include "stdio.h"
#include "conio.h"
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);
      }
  getch();
}

我觉得这个程序中最用用的思路就是先组合出全部的三位数,在把不满足条件的数去掉。

其实我最开始的想法是:在第一位放一个数字,然后第二位放与第一位不同的数字,第三位再放与第一二位不同的数字,这种想法其实是可行的,但是落实到程序的话,就会发现比上面的程序多了很多。所以人的想法跟机器的操作还是有很大的不同,想要编写出好的 C 语言程序,很重要的一点就是学会 C 程序思维方式。

都说算法很难,都觉得算法都很高大上,但是我觉得这个简单的小程序就是一个算法,因为它解决了一个问题,能解决问题的程序都可以算是算法


版权声明:本文为博主原创文章,未经博主允许不得转载。

C 语言学习 1

标签:c语言

原文地址:http://blog.csdn.net/haozi0_0/article/details/47338253

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!