Python 练习实例1(Python 100例)
题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
学习知识点:range()函数的用法
例子:
>>>range(5) # 从 0 开始到 10
[0, 1, 2, 3, 4]
>>> range(1, 6) # 从 1 开始到 11
[1, 2, 3, 4, 5]
>>> range(0, 10, 3) # 步长为 5
[0, 3, 6, 9]
程序代码:
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if( i != k ) and (i != j) and (j != k):
print i,j,k
结果:
1 2 3
1 2 4
1 3 2
1 3 4
1 4 2
1 4 3
2 1 3
2 1 4
2 3 1
2 3 4
2 4 1
2 4 3
3 1 2
3 1 4
3 2 1
3 2 4
3 4 1
3 4 2
4 1 2
4 1 3
4 2 1
4 2 3
4 3 1
4 3 2
【程序29】题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。(c语言经典编程实例100题)
程序代码:
#include <stdio.h>
void main()
{
int i,j,k;
printf("请输入一个小于100000的正整数\n");
scanf("%d",&k);
if (k/100000!=0)
{
printf("输入错误\n");
}
else if (k/10000!=0)
{
printf("输入的数为五位数\n");
printf("逆序打印出各位数字为:%d %d %d %d %d\n",k%10,k%100/10,k%1000/100,k/1000%10,k/10000);
}
else if (k/1000!=0)
{
printf("输入的数为四位数\n");
printf("逆序打印出各位数字为:%d %d %d %d\n",k%10,k%100/10,k%1000/100,k/1000);
}
else if (k/100!=0)
{
printf("输入的数为三位数\n");
printf("逆序打印出各位数字为:%d %d %d\n",k%10,k%100/10,k/100);
}
else if (k/10!=0)
{
printf("输入的数为二位数\n");
printf("逆序打印出各位数字为:%d %d\n",k%10,k/10);
}
else if (k<10)
{
printf("输入的数为一位数\n");
printf("逆序打印出各位数字为:%d\n",k);
}
else if (k<1)
{
printf("输入错误\n");
}
}
结果:
输入:56798
输出:
请输入一个小于100000的正整数
输入的数为五位数
逆序打印出各位数字为:8 9 7 6 5
31.设计一个从5个整数中取最小数和最大数的程序(南阳理工acm)
输入:
输入只有一组测试数据,为五个不大于1万的正整数
输出:
输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。
样例输入
1 2 3 4 5
样例输出
1 5
程序代码:
#include <stdio.h>
void main()
{
int i,j,k,max,min,a[5];
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
min=max=a[0];
for(i=0;i<5;i++)
{
if(max<a[i])
{
max=a[i];
}
if(min>a[i])
{
min=a[i];
}
}
printf("%d %d\n",min,max);
}
结果:
输入
1 2 6 4 5
输出
1 6