美文网首页
从零开始学c语言第三天

从零开始学c语言第三天

作者: 别欺负小白了好咩 | 来源:发表于2019-03-13 15:13 被阅读0次

    今天就是第三天了,为了加快我们的进度,建议各位浏览“菜鸟教程”“w3cshool”“CSDN”等网站学习c语言相关基础,上面的教程详细但基础,很适合入门。

    我们接下来继续解决九九乘法表的问题:

    九九乘法表

    这个代码打印出来的九九乘法表,会非常的整齐,美观,但是也多了很多繁琐的东西,但体现一个人的代码功底之一我想就是美观了。

    我们今天继续讲算法题

    第一题:

    现在有1,2,3,4,四个数字,他们之间能组成多少个互不相同且无重复的三位数?都是多少?并打印出来。

    看到题目第一步不是去敲代码!!!

    先思考,先想思路,先想想需要用到什么语句,有什么需要注意的东西。可以拿一张纸来记下来你认为的办法,还有需要避免的雷区。

    我们可以直接得到一点:需要用到for循环遍历每一个由1,2,3,4,组成的三位数,并且还需要排除重复的,相同的。

    那就是:

    1.需要用到for循环语句

    2.需要排除重复的三位数

    3.需要排除相同的三位数

    那我们又出现了问题,怎么去排除呢?

    很简单,用if语句,如果这个三位数满足这个条件,那么就允许他打印这个三位数出来,如果这个三位数不满足,我们就不打印。

    所以我们只需要把2.3.改成需要用到if语句就行了。

    那我们需要怎么去做呢?

    别急,一步步来。

    第一步,用for循环嵌套遍历每一个由这四个数字组成的三位数。

    第一步

    如果我们就这么执行的话,会发现打印的三位数中有重复的数字,那我们该怎么解决呢?

    就是我们之前讲到的,用if语句:

    if语句

    【忽视下面的歌词】

    我们用if语句就可以完美解决这个不能重复这个问题。

    但我们在if语句的条件里面写了 “!=”这个东西,这是什么意思呢?

    !在c语言里是非的意思,非等于也就是不等于的意思,a != b的意思就是a不等于b,这也就避免了出现重复数字的情况。

    &&在c语言里是与的意思,也就是两边的条件同时满足才可以继续下去。

    if语句在这里的意思就是当a不等于b且b不等于c并且a不等于c就打印这个三位数,如果大家感兴趣的话,可以自己下去打印一下尝试一下,也可以优化我的代码,尝试用更少的代码来解决这个问题。

    第二道题:

    用户输入三个整数,你将这三个数排序,由大到小输出出来。

    我们第一步应该是什么?

    先敲代码?

    我们应该先分析一下雷区和用的东西。

    1.用scanf获取用户输入的东西

    2.需要用几个空变量来临时储存用户输入的整数

    3.需要用到if语句

    我们先尝试写第一版:

    #include <stdio.h>

    int main ()

    {

    int a = 0 ;

    int b = 0 ;

    int c = 0 ;

    int max = 0 ;

    int count = 0 ;

    int min = 0 ;

    scanf ("%d\n%d\n%d",&a,&b,&c);

    if (a >= b && a >= c)

    {

    max = a;

    if (b >= c)

    {

    count = b; min = c;

    }

    else

    {

    count = c; min = b;

    }

    }

    if(c >= a && c >= b)

    {

    max = c;

    if (a >= b)

    {

    count = a; min = b;

    }

    else

    {

    count = b; min = a;

    }

    }

    if (b >= a && b >= c)

    {

    max = b;

    if(a >= c)

    {

    count = a; min = c;

    }

    else

    {

    count = c; min = a;

    }

    }

    printf ("%d\t%d\t%d",max,count,min);

    return 0 ;

    }

    以上就是代码,可以自己复制去dev-c++上自己敲一下看看,这不是最优算法,还有更优,欢迎大家去自己钻研。

    最后,如果有什么不清楚的,不了解的,都可以在下面评论指出。

    相关文章

      网友评论

          本文标题:从零开始学c语言第三天

          本文链接:https://www.haomeiwen.com/subject/uyezpqtx.html