Python 练习实例39 Python 100例
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
程序代码(学习):
a = [1,3,6,9,12,15,18,24,60,100,0]
for i in range(len(a)):
print a[i],
number = int(raw_input("number\n"))
end = a[9]
if number > end:
a[10] = number
else:
for i in range(10):
if a[i] > number:
temp1 = a[i]
a[i] = number
for j in range(i + 1,11):
temp2 = a[j]
a[j] = temp1
temp1 = temp2
break
for i in range(11):
print a[i],
Python 练习实例40 Python 100例
题目:将一个数组逆序输出。
程序分析:用第一个与最后一个交换。
程序代码:
a = [1,3,6,9,12,15,18,24,60,100]
m=len(a)
for i in range(0,m/2):
n=a[i]
a[i]=a[m-1-i]
a[m-1-i]=n
for i in range(0,m):
print a[i]
题目29 求转置矩阵问题 (南阳oj)
时间限制:3000 ms | 内存限制:65535 KB
难度:2
描述
求一个三行三列的转置矩阵。
输入
第一行一个整数n<20,表示有n组测试数据,下面是n组数据;
每组测试数据是九个整型数(每个数都不大于10000),分别为矩阵的的每项;
输出
每组测试数据的转置矩阵;
请在每组输出之后加一个换行
样例输入
2
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 1
样例输出
1 4 7
2 5 8
3 6 9
2 5 8
3 6 9
4 7 1
方法一:
#include <stdio.h>
int main()
{
int n,a[9],i,j;
scanf("%d",&n);
while(n--)
{
for(i=0;i<9;i++)
scanf("%d",&a[i]);
j=0;
while(j<3)
{
printf("%d %d %d\n",a[j],a[j+3],a[j+6]);
j++;
}
}
}
方法二:
#include<stdio.h>
int main()
{
int m,i,j,a[3][3];
scanf("%d",&m);
while (m--)
{
a[3][3]=0;
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
printf("\n");
}
}
网友评论