- '''''
- 【程序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