三道編程基礎(chǔ)練習(xí)題的
C語言代碼和
Python代碼對(duì)比
一、輸入三個(gè)整數(shù) x, y, z,請(qǐng)把這三個(gè)數(shù)由小到大輸出。
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)
====================================
二、打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù) 本身。例如:153是一個(gè)“水仙花數(shù)”,因?yàn)?53=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;/*分解出個(gè)位*/
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次落地時(shí),共經(jīng)過多少米?第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次落地時(shí)共經(jīng)過的米數(shù)*/
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
====================================
本文版權(quán)歸傳智播客C++培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客C/C++培訓(xùn)學(xué)院
首發(fā):http://m.8y3kgpwe.cn/c/