c经典100例【python实现】最新版

上传人:ZJ****2 文档编号:45943810 上传时间:2018-06-20 格式:PDF 页数:59 大小:579.08KB
返回 下载 相关 举报
c经典100例【python实现】最新版_第1页
第1页 / 共59页
c经典100例【python实现】最新版_第2页
第2页 / 共59页
c经典100例【python实现】最新版_第3页
第3页 / 共59页
c经典100例【python实现】最新版_第4页
第4页 / 共59页
c经典100例【python实现】最新版_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《c经典100例【python实现】最新版》由会员分享,可在线阅读,更多相关《c经典100例【python实现】最新版(59页珍藏版)》请在金锄头文库上搜索。

1、c 经典经典 100 例例 python 完成完成 【1】 收藏收藏 【程序【程序 1】 题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多 少? 1.程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: for i in range(1,5): for j in range(1,5): for k in range(1,5): if( i != k ) and (i != j) and (j != k): print i,j,k 【程序【程序 2】 题目:企业发放的奖金根据利润提成。利润(I)

2、低于或等于 10 万元时,奖金可提 10%;利 润高 于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分, 可可提 成 7.5%;20 万到 40 万之间时,高于 20 万元的部分,可提成 5%;40 万到 60 万之间 时高于 40 万元的部分,可提成 3%;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5%,高于 100 万元时,超过 100 万元的部分按 1%提成,从键盘输入当月利润 I,求应发放奖 金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: bonus1 = 100

3、000 * 0.1 bonus2 = bonus1 + 100000 * 0.500075 bonus4 = bonus2 + 200000 * 0.5 bonus6 = bonus4 + 200000 * 0.3 bonus10 = bonus6 + 400000 * 0.15 i = int(raw_input(input gain:n) if i = 100: bonus += (i-100)*0.01 i = 100 if i = 60: bonus += (i-60)*0.015 i = 60 if i = 40: bonus += (i-40)*0.03 i = 40 if i =

4、 20: bonus += (i-20)*0.05 i = 20 if i = 10: bonus += (i-10)*0.075 i = 10 if i 0: bonus += i*0.1 print bonus i=k bonus = 0 bonus1 = 10 * 0.1 bonus2 = bonus1 + 10 * 0.075 bonus4 = bonus2 + 20 * 0.05 bonus6 = bonus4 + 20 * 0.03 bonus10 = bonus6 + 40 * 0.015 print bonus1,bonus2,bonus4,bonus6,bonus10 #i

5、= int(raw_input(input gain:n) if i 2): sum += 1 print it is the %dth day. % sum 【程序【程序 5】 题目:输入三个整数 x,y,z,请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 xy 则将 x 与 y 的值 进行交换, 然后再用 x 与 z 进行比较,如果 xz 则将 x 与 z 的值进行交换,这样能使 x 最 小。 2.程序源代码: l = for i in range(3): x = int(raw_input(integer:n) l.appen

6、d(x) l.sort()#升序排序 print l 【程序【程序 6】 题目:用*号输出字母 C 的图案。 1.程序分析:可先用*号在纸上写出字母 C,再分行输出。 2.程序源代码: print Hello Python world!n print * * 10 for i in range(5): print * * print * * 10 print *n * 6 【程序【程序 7】 题目:输出特殊图案,请在 c 环境中运行,看一看,Very Beautiful! 1.程序分析:字符共有 256 个。不同字符,图形不一样。 2.程序源代码: a = 176 b = 219 print

7、chr(b),chr(a),chr(a),chr(a),chr(b) print chr(a),chr(b),chr(a),chr(b),chr(a) print chr(a),chr(a),chr(b),chr(a),chr(a) print chr(a),chr(b),chr(a),chr(b),chr(a) print chr(b),chr(a),chr(a),chr(a),chr(b) 【程序【程序 8】 题目:输出 9*9 口诀。 1.程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。 2.程序源代码: #include “stdio.h“ main() int i

8、,j,result; printf(“n“); for (i=1;ik,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数你 n, 重复执行第一步。 (3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。 2.程序源代码: from sys import stdout n = int(raw_input(“input number:n“) print “n = %d“ % n for i in range(2,n + 1): while n != i: if n % i = 0: stdout.write(str(i) stdout

9、.write(“*“) n = n / i else: break print “%d“ % n 我的程序: import sys import math def IsPrim(n): if n=2: return True m = int(math.sqrt(n) for e in range(3,m+1): if n%e = 0: return False return True def Find(n,lt): if(n 1): for e in range(2,n+1): if n 1: if IsPrim(e): if n%e = 0: lt.append(e) n = n/e if(

10、n 1): lt = Find(n,lt) lt.sort() return lt if _name_ = _main_: for n in range(10,100): lt = print n,Find(n,lt) 示例可以修改为: from sys import stdout n = int(raw_input(“input number:n“) print “n = %d“ % n for i in range(2,n + 1): while n != 1: if n % i = 0: stdout.write(str(i) stdout.write(“*“) n = n / i el

11、se: break 【程序【程序 15】 题目:利用条件运算符的嵌套来完成此题:学习成绩=90 分的同学用 A 表示,60- 89 分之间的用 B 表示, 60 分以下的用 C 表示。 1.程序分析:(ab)?a:b 这是条件运算符的基本例子。 2.程序源代码: 不支持这个运算符 score = int(raw_input(input score:n) if score = 90: grade = A elif score = 60: grade = B else: grade = C print %d belongs to %s % (score,grade) 【程序【程序 17】 题目:输

12、入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用 while 语句,条件为输入的字符不为n. 2.程序源代码: import string s = raw_input(input a string:n) letters = 0 space = 0 digit = 0 others = 0 for c in s: if c.isalpha(): letters += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: others += 1 print char = %d,spac

13、e = %d,digit = %d,others = %d % (letters,space,digit,others) 程序程序 18 题目:求 s=a+aa+aaa+aaaa+aa.a 的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此时 共有 5 个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。 2.程序源代码: Tn = 0 Sn = n = int(raw_input(n = :n) a = int(raw_input(a = :n) for count in range(n): Tn = Tn + a a = a * 10 Sn.

14、append(Tn) print Tn Sn = reduce(lambda x,y : x + y,Sn) print Sn 我的程序: import sys Tn = 0 n = int(raw_input(n = ) a = int(raw_input(a = ) for count in range(1,n+1): Tn *= 10 Tn += a*count for x in range(count): sys.stdout.write(%d % a) print print Tn 【程序【程序 19】 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=123.编程 找出 1000 以内的所有完数。 1. 程序分析:请参照程序 /Linux 下的编程 void main(void) int color; for (color = 1; color lj:min = j li,lmin = lmin,li print after sorted for i in range(N): print li 【程序【程序 38】 题目:求一个 3*3 矩阵对角线元素之和 1.程序分析:利用双重 for 循环控制输入二维数组

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号