经典C语言程序设计100例 -- C 和 Python 版 (01 - 05)

这篇博客介绍了用C语言和Python实现的五个经典程序设计问题,包括三位数互异、奖金提成计算、完全平方数、闰年判断和三数比较。通过对比,展示了两种语言的不同特点和代码风格。
写在开头的话
Python 重写C语言程序设计百例,每篇5题,每题分别用C语言和Python实现,方便对比。
    C语言编译器:GCC 4.8.2
    Python版本:Python 3.4
写这个系列是受这位博主(http://blog.youkuaiyun.com/berguiliu?viewmode=contents)的启发,自己想重写一遍,使用更加Python化的风格——简洁。如有问题或疏漏,非常欢迎在评论中指出。

【01】各位互异的三位数
题目:输出由数字{1, 2, 3, 4}组成的所有三位数,不能重复,每个数字最多只能出现一次。
思路:采用穷举法。从这4个数字中选择3个数字进行全排列,然后过滤掉不符合条件的。
C 语言代码

#include <stdio.h>

int main()
{
    for (int x = 1; x <= 4; ++x)
        for (int y = 1; y <= 4; ++y)
            for (int z = 1; z <= 4; ++z)
            {
                if (x != y && x != z && y != z)
                {
                    printf("%d%d%d ", x, y, z);
                }
            }
    return 0;
}
Python 代码
m = [1, 2, 3, 4]
for x in m:
    for y in m:
        for z in m:
             if (x != y != z) and (x != z):
                print('{0}{1}{2}'.format(x, y, z), end=' ')  
或
m = [1, 2, 3, 4]
x = [str(x)+str(y)+str(z) for x in m for y in m for z in m
if x != y != z and x != z]
for k in x:
    print(int(k), end=' ')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值