C语言经典100例(Python版本)066-070


                               
               
                '''
【程序66】
题目:输入3个数a,b,c,按大小顺序输出。   
1.程序分析:利用指针方法。
2.程序源代码:
'''
if __name__ == '__main__':
    n1 = int(raw_input('n1 = :\n'))
    n2 = int(raw_input('n2 = :\n'))
    n3 = int(raw_input('n3 = :\n'))
    def swap(p1,p2):
        return p2,p1
    if n1 > n2 : n1,n2 = swap(n1,n2)
    if n1 > n3 : n1,n3 = swap(n1,n3)
    if n2 > n3 : n2,n3 = swap(n2,n3)
    print n1,n2,n3
'''
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
1.程序分析:谭浩强的书中答案有问题。      
2.程序源代码:
'''
def inp(numbers):
    for i in range(9):
        numbers.append(int(raw_input('input a number:\n')))
    numbers.append(int(raw_input('input a number:\n')))
p = 0
def max_min(array):
    max = min = 0
    for i in range(1,len(array) - 1):
        p = i
        if array[p] > array[max] : max = p
        elif array[p]  array[min] : min = p
    k = max
    l = min
    array[0],array[l] = array[l],array[0]
    array[9],array[k] = array[k],array[9]
def outp(numbers):
    for i  in range(len(numbers)):
        print numbers
if __name__ == '__main__':
    array = []
    inp(array)
    max_min(array)
    outp(array)
   
   
'''
【程序68】
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
1.程序分析:
2.程序源代码:
'''
if __name__ == '__main__':
    n = int(raw_input('the total number is:\n'))
    m = int(raw_input('back m:\n'))
    def move(array,n,m):
        array_end = array[n - 1]
        for i in range(n - 1,-1,- 1):
            array = array[i - 1]
        array[0] = array_end
        m -= 1
        if m > 0:move(array,n,m)
        
    number = []
    for i in range(n):
        number.append(int(raw_input('input a number:\n')))
    print 'orignal number:',number
    move(number,n,m)
    print 'after moved:',number
'''
【程序69】
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出
   圈子,问最后留下的是原来第几号的那位。
1. 程序分析:
2.程序源代码:
'''
if __name__ == '__main__':
    nmax = 50
    n = int(raw_input('please input the total of numbers:'))
    num = []
    for i in range(n):
        num.append(i + 1)
    i = 0
    k = 0
    m = 0
    while m  n - 1:
        if num != 0 : k += 1
        if k == 3:
            num = 0
            k = 0
            m += 0
        i += 1
        if i == n : i = 0
    i = 0
    while num == 0: i += 1
    print num
'''
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。   
1.程序分析:
2.程序源代码
就这样吧
'''
if __name__ == '__main__':
    s = raw_input('please input a string:\n')
    print 'the string has %d characters.' % len(s)