三道编程基础练习题的
C语言代码和
Python代码对比
一、输入三个整数 x, y, z,请把这三个数由小到大输出。
C Code:
#include <stdio.h>
int main(void)
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x > y)
{
t=x;
x=y;
y=t;
} /*交换x,y的值*/
if(x > z)
{
t=z;
z=x;
x=t;
}/*交换x,z的值*/
if(y > z)
{
t=y;
y=z;
z=t;
}/*交换z,y的值*/
printf("small to big: %d %d %d\n",x,y,z);
return 0;
}
Python Code 1:
a=[input(),input(),input()]
a.sort()
print a
Python Code 2:
x,y,z=input(),input(),input()
t=0
if x>y:t=x;x=y;y=t
if x>z:t=z;z=x;x=t
if y>z:t=y;y=z;z=t
print "small to big: %d %d %d" % (x,y,z)
====================================
二、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
C Code:
#include <stdio.h>
int main(void)
{
int i,j,k,n;
printf("'water flower'number is:");
for(n = 100; n < 1000; n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(i*100+j*10+k == i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
return 0;
}
Python Code:
print "water flower'number is:",
for n
in range(100,1000):
i,j,k=n/100,n/10%10,n%10
if i*100+j*10+k==i**3+j**3+k**3:
print "%-5d" % n,
====================================
三、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
C Code:
#include <stdio.h>
int main(void
{
float sn=100.0,hn=sn/2;
int n;
for(n=2;n<=10;n++)
{
sn=sn+2*hn;/*第n次落地时共经过的米数*/
hn=hn/2; /*第n次反跳高度*/
}
printf("the total of road is %f\n",sn);
printf("the tenth is %f meter\n",hn);
return 0;
}
Python Code:
sn=100.
hn=sn/2
for i
in range(2,10+1):
sn+=2*hn
hn/=2
print "the total of road is %f" % sn
print "the tenth is %f meter" % hn
====================================
本文版权归传智播客C++培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客C/C++培训学院
首发:http://www.itcast.cn/c/