您的位置:首页 > 编程语言 > C语言/C++

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

2016-02-29 14:51 429 查看
'''
【程序71】
题目:编写input()和output()函数输入,输出5个学生的数据记录。
1.程序分析:
2.程序源码:
使用list来模拟结构(不使用class)
stu = [string,string,list]
'''
N = 3
#stu
# num : string
# name : string
# score[4]: list
student = []
for i in range(5):
student.append(['','',[]])

def input_stu(stu):
for i in range(N):
stu[i][0] = raw_input('input student num:\n')
stu[i][1] = raw_input('input student name:\n')
for j in range(3):
stu[i][2].append(int(raw_input('score:\n')))

def output_stu(stu):
for i in range(N):
print '%-6s%-10s' % ( stu[i][0],stu[i][1] )
for j in range(3):
print '%-8d' % stu[i][2][j]

if __name__ == '__main__':
input_stu(student)
print student
output_stu(student)


'''
题目:反向输出一个链表。

   
1.程序分析:
2.程序源码:
'''
if __name__ == '__main__':
ptr = []
for i in range(5):
num = int(raw_input('please input a number:\n'))
ptr.append(num)
print ptr
ptr.reverse()
print ptr


'''
【程序72】
题目:创建一个链表。
1.程序分析:           
2.程序源码:
'''
if __name__ == '__main__':
ptr = []
for i in range(5):
num = int(raw_input('please input a number:\n'))
ptr.append(num)
print ptr


'''
【程序74】
题目:连接两个链表。
1.程序分析:
2.程序源码:
代码上好像仅仅有,列表排序
'''
if __name__ == '__main__':
arr1 = (3,12,8,9,11)
ptr = list(arr1)
print ptr
ptr.sort()
print ptr


'''
【程序75】
题目:放松一下。算一道简单的题目。
1.程序分析:
2.程序源码:
'''
if __name__ == '__main__':
for i in range(5):
n = 0
if i != 1: n += 1
if i == 3: n += 1
if i == 4: n += 1
if i != 4: n += 1
if n == 3: print 64 + i


'''
【程序76】
题目:编写一个函数,输入n为偶数时。调用函数求1/2+1/4+...+1/n,当输入n为奇数时。调用函数
   1/1+1/3+...+1/n(利用指针函数)
1.程序分析:
2.程序源码:
'''
def peven(n):
i = 0
s = 0.0
for i in range(2,n + 1,2):
s += 1.0 / i
return s

def podd(n):
s = 0.0
for i in range(1, n + 1,2):
s += 1 / i
return s

def dcall(fp,n):
s = fp(n)
return s

if __name__ == '__main__':
n = int(raw_input('input a number:\n'))
if n % 2 == 0:
sum = dcall(peven,n)
else:
sum = dcall(podd,n)
print sum


'''
【程序77】
题目:填空练习(指向指针的指针)
1.程序分析:     
2.程序源码:
main()
{
char *s[]={"man","woman","girl","boy","sister"};
char **q;
int k;
for(k=0;k<5;k++)
{;/*ÕâÀïÌîдʲôÓï¾ä*/
printf("%s\n",*q);
}
}
'''
if __name__ == '__main__':
s = ["man","woman","girl","boy","sister"]
for i in range(len(s)):
print s[i]


'''
【程序78】
题目:找到年龄最大的人,并输出。请找出程序中有什么问题。
1.程序分析:
2.程序源码
'''
if __name__ == '__main__':
person = {"li":18,"wang":50,"zhang":20,"sun":22}
m = 'li'
for key in person.keys():
if person[m] < person[key]:
m = key

print '%s,%d' % (m,person[m])


'''
【程序79】
题目:字符串排序。
1.程序分析:
2.程序源码:
'''
if __name__ == '__main__':
str1 = raw_input('input string:\n')
str2 = raw_input('input string:\n')
str3 = raw_input('input string:\n')
print str1,str2,str3

if str1 > str2 : str1,str2 = str2,str1
if str1 > str3 : str1,str3 = str3,str1
if str2 > str3 : str2,str3 = str3,str2

print 'after being sorted.'
print str1,str2,str3


'''
【程序80】
题目:海滩上有一堆桃子,五仅仅猴子来分。第一仅仅猴子把这堆桃子凭据分为五份。多了一个。这仅仅
   猴子把多的一个扔入海中,拿走了一份。第二仅仅猴子把剩下的桃子又平均分成五份,又多了
   一个。它相同把多的一个扔入海中。拿走了一份,第三、第四、第五仅仅猴子都是这样做的,
   问海滩上原来最少有多少个桃子?
1.程序分析:
2.程序源码:
'''
if __name__ == '__main__':
for i in range(4,10000,4):
count = 0
m = i
for k in range(5):
j = i / 4 * 5 + 1
i = j
if j % 4 == 0:
count += 1
else:
break
i = m
if count == 4:
print count
break
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: