Python 练习实例2(Python 100例)
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
方法一:
I=input()
if I<1:
print 'error'
elif I<10:
print(I*0.1)
elif I<20:
print(10*0.1+(I-10)*0.075)
elif I<40:
print(10*0.1+10*0.075+(I-20)*0.05)
elif I<60:
print(0*0.1+10*0.075+20*0.05+(I-40)*0.03)
elif I<100:
print(10*0.1+10*0.075+20*0.05+20*0.03+(I-60)*0.015)
else:
print(10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(I-100)*0.01)
方法二:
i = int(raw_input('净利润:'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
r = 0
for idx in range(0,6):
if i>arr[idx]:
r+=(i-arr[idx])*rat[idx]
print (i-arr[idx])*rat[idx]
i=arr[idx]
print r
【程序30】题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
程序代码:
#include
void main()
{
int k;
printf("请输入一个五位数的正整数\n");
scanf("%d",&k);
if (k/100000!=0)
{
printf("输入错误\n");
}
else if (k/10000!=0)
{
if ((k%10==k/10000)&&(k%100/10==k/1000%10))
{
printf("%d 是回文数\n",k);
}
else
printf("%d 不是回文数\n",k);
}
else
{
printf("输入错误\n");
}
}
11.有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。(南阳理工acm)
#include
int main()
{
int a[50],i,j,k,p,n;
scanf("%d",&j);
for(i=0;i { scanf("%d",&a[i]); } for(i=0;i { n=a[i]; k=1,p=2; while(k<=n) { printf("%3d",k); k=k+2; } printf("\n"); while(p<=n) { printf("%3d",p); p=p+2; } printf("\n"); printf("\n"); printf("\n"); } return 0; }