Python重写C语言程序100例--Part9

[python]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. ''''' 
  2. 【程序71】 
  3. 题目:编写input()和output()函数输入,输出5个学生的数据记录。 
  4. 1.程序分析: 
  5. 2.程序源代码: 
  6. 使用list来模拟结构(不使用class) 
  7. stu = [string,string,list] 
  8. '''  
  9. N = 3  
  10. #stu  
  11.     # num : string  
  12.     # name : string  
  13.     # score[4]: list  
  14. student = []  
  15. for i in range(5):  
  16.     student.append(['','',[]])  
  17.   
  18. def input_stu(stu):  
  19.     for i in range(N):  
  20.         stu[i][0] = raw_input('input student num:\n')  
  21.         stu[i][1] = raw_input('input student name:\n')  
  22.         for j in range(3):  
  23.             stu[i][2].append(int(raw_input('score:\n')))  
  24.   
  25. def output_stu(stu):  
  26.     for i in range(N):  
  27.         print '%-6s%-10s' % ( stu[i][0],stu[i][1] )  
  28.         for j in range(3):  
  29.             print '%-8d' % stu[i][2][j]  
  30.   
  31. if __name__ == '__main__':  
  32.     input_stu(student)  
  33.     print student  
  34.     output_stu(student)  

 

[python]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. ''''' 
  2. 题目:反向输出一个链表。    
  3. 1.程序分析: 
  4. 2.程序源代码: 
  5. '''  
  6. if __name__ == '__main__':  
  7.     ptr = []  
  8.     for i in range(5):  
  9.         num = int(raw_input('please input a number:\n'))  
  10.         ptr.append(num)  
  11.     print ptr  
  12.     ptr.reverse()  
  13.     print ptr  


 

[python]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. ''''' 
  2. 【程序72】 
  3. 题目:创建一个链表。 
  4. 1.程序分析:            
  5. 2.程序源代码: 
  6. '''  
  7. if __name__ == '__main__':  
  8.     ptr = []  
  9.     for i in range(5):  
  10.         num = int(raw_input('please input a number:\n'))  
  11.         ptr.append(num)  
  12.     print ptr  


 

[python]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. ''''' 
  2. 【程序74】 
  3. 题目:连接两个链表。 
  4. 1.程序分析: 
  5. 2.程序源代码: 
  6. 代码上好像只有,列表排序 
  7. '''  
  8. if __name__ == '__main__':  
  9.     arr1 = (3,12,8,9,11)  
  10.     ptr = list(arr1)  
  11.     print ptr  
  12.     ptr.sort()  
  13.     print ptr  


 

[python]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. ''''' 
  2. 【程序75】 
  3. 题目:放松一下,算一道简单的题目。 
  4. 1.程序分析: 
  5. 2.程序源代码: 
  6. '''  
  7. if __name__ == '__main__':  
  8.     for i in range(5):  
  9.         n = 0  
  10.         if i != 1: n += 1  
  11.         if i == 3: n += 1  
  12.         if i == 4: n += 1  
  13.         if i != 4: n += 1  
  14.         if n == 3print 64 + i  


 

[python]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. ''''' 
  2. 【程序76】 
  3. 题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 
  4.    1/1+1/3+...+1/n(利用指针函数) 
  5. 1.程序分析: 
  6. 2.程序源代码: 
  7. '''  
  8. def peven(n):  
  9.     i = 0  
  10.     s = 0.0  
  11.     for i in range(2,n + 1,2):  
  12.         s += 1.0 / i  
  13.     return s  
  14.   
  15. def podd(n):  
  16.     s = 0.0  
  17.     for i in range(1, n + 1,2):  
  18.         s += 1 / i  
  19.     return s  
  20.   
  21. def dcall(fp,n):  
  22.     s = fp(n)  
  23.     return s  
  24.   
  25. if __name__ == '__main__':  
  26.     n = int(raw_input('input a number:\n'))  
  27.     if n % 2 == 0:  
  28.         sum = dcall(peven,n)  
  29.     else:  
  30.         sum = dcall(podd,n)  
  31.     print sum  


 

[python]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. ''''' 
  2. 【程序77】 
  3. 题目:填空练习(指向指针的指针) 
  4. 1.程序分析:      
  5. 2.程序源代码: 
  6. main() 
  7.  
  8.     char *s[]={"man","woman","girl","boy","sister"}; 
  9.     char **q; 
  10.     int k; 
  11.     for(k=0;k<5;k++) 
  12.     {;/*ÕâÀïÌîдʲôÓï¾ä*/ 
  13.     printf("%s\n",*q); 
  14.     } 
  15.  
  16. '''  
  17. if __name__ == '__main__':  
  18.     s = ["man","woman","girl","boy","sister"]  
  19.     for i in range(len(s)):  
  20.         print s[i]  
  21.           


 

[python]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. ''''' 
  2. 【程序78】 
  3. 题目:找到年龄最大的人,并输出。请找出程序中有什么问题。 
  4. 1.程序分析: 
  5. 2.程序源代码 
  6. '''  
  7. if __name__ == '__main__':  
  8.     person = {"li":18,"wang":50,"zhang":20,"sun":22}  
  9.     m = 'li'  
  10.     for key in person.keys():  
  11.         if person[m] < person[key]:  
  12.             m = key  
  13.   
  14.     print '%s,%d' % (m,person[m])  


 

[python]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. ''''' 
  2. 【程序79】 
  3. 题目:字符串排序。 
  4. 1.程序分析: 
  5. 2.程序源代码: 
  6. '''  
  7. if __name__ == '__main__':  
  8.     str1 = raw_input('input string:\n')  
  9.     str2 = raw_input('input string:\n')  
  10.     str3 = raw_input('input string:\n')  
  11.     print str1,str2,str3  
  12.       
  13.     if str1 > str2 : str1,str2 = str2,str1  
  14.     if str1 > str3 : str1,str3 = str3,str1  
  15.     if str2 > str3 : str2,str3 = str3,str2  
  16.   
  17.     print 'after being sorted.'  
  18.     print str1,str2,str3  


 

[python]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. ''''' 
  2. 【程序80】 
  3. 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只 
  4.    猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了 
  5.    一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的, 
  6.    问海滩上原来最少有多少个桃子? 
  7. 1.程序分析: 
  8. 2.程序源代码: 
  9. '''  
  10. if __name__ == '__main__':  
  11.     for i in range(4,10000,4):  
  12.         count = 0  
  13.         m = i  
  14.         for k in range(5):  
  15.             j = i / 4 * 5 + 1  
  16.             i = j  
  17.             if j % 4 == 0:  
  18.                 count += 1  
  19.             else:  
  20.                 break  
  21.         i = m  
  22.         if count == 4:  
  23.             print count  
  24.             break  
  25.           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值