程序设计基础编程题.docx
《程序设计基础编程题.docx》由会员分享,可在线阅读,更多相关《程序设计基础编程题.docx(7页珍藏版)》请在冰豆网上搜索。
程序设计基础编程题
1.一尺之捶,日取其半。
我国古代著作《庄子》中记载道:
“一尺之捶,日取其半,万世不竭”。
其含义是:
对于一尺的东西,今天取其一半,明天取其一半的一半,后天再取其一半的一半的一半总有一半留下,所以永远也取不尽。
请编写一个程序,使其可以计算出一条长为m的绳子,在n天之后剩下的长度。
输入m
#include
intmain()
{
intm,n;
scanf("%d%d",&m,&n);
while(n--)
{
m/=2;
}
printf("%d",m);
return0;
}
2.某网上购物网站对用户实行优惠,买家购物货款p越多,则折扣越多。
今天正值该网站优惠折扣日,货款高于100元的买家可获得15%的折扣,否则买家可获得8%的折扣,。
请编程从键盘输入买家购物货款p,计算并输出买家折扣后实际应付出的价钱。
注:
程序中的数据类型为float。
#include
intmain()
{
floatp,q;
scanf("%f",&p);
if(p>100)
{
q=1.15*p;
printf("%f",q);
}
else
printf("%f",1.08*p);
return0;
}
3.编程求解马克思手稿中的趣味数学题:
有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,请编程计算并输出男人、女人和小孩各有几人?
X+y+z=30
3X+2y+z=50
4.我国古代的《张丘建算经》中有这样一道著名的百鸡问题:
“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡,问鸡翁、母、雏各几何?
”其意为:
公鸡每只5元,母鸡每只3元,小鸡3只1元。
用100元买100只鸡,编程计算并输出公鸡、母鸡和小鸡各能买多少只?
x+y+z=100
5x+3y+z/3=100
#include
intmain()
{
intman,woman;
for(man=1;man<=17;man++)
for(woman=1;woman<=25;woman++)
{
if(50==man*3+woman*2+(30-man-woman))
printf("%d%d%d\n",man,woman,30-man-woman);
}
return0;
}
5.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?
第10次反弹多高?
#include
intmain()
{
floath=100,s=0;
inti;
for(i=1;i<=10;i++)
{
s=s+h+h/2;
h=h/2;
}
printf("%f\n",s);
printf("%f\n",h);
return0;
}
6.两数值的谐均值可以这样计算:
首先对两数值的倒数取平均值,最后再取倒数。
编写一个带有两个double参数的函数,计算这两个参数的谐均值。
函数原型为:
doubleCalculate(doublex,doubley);
#include
doubleCalculate(doublex,doubley)
{
doublea,b;
a=(1.0/x+1.0/y)/2;
b=1.0/a;
returnb;
}
intmain()
{
doublex,y,b;
scanf("%lf%lf",&x,&y);
printf("%lf\n",Calculate(x,y));
return0;
}
7.假设有这样一个三位数m,其百位、十位和个位数字分别是a、b、c,如果m=a!
+b!
+c!
,则这个三位数就称为三位阶乘和数(约定0!
=1)。
请编程计算并输出所有的三位阶乘和数。
函数原型:
longFact(intn);
函数功能:
计算n的阶乘
#include
longFact(intn)
{
if(n==1)
{
return1;
}
else
{
returnn*Fact(n-1);
}
}
intmain()
{
inta,b,c,m;
longz;
for(a=1;a<=9;a++)
{
for(b=1;b<=9;b++)
{
for(c=1;c<=9;c++)
{
m=100*a+10*b+c;
if(m==Fact(a)+Fact(b)+Fact(c))
{
printf("%d\n",m);
}
}
}
}
return0;
}
8.陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。
苹果成熟的时候,陶陶就会跑去摘苹果。
陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。
假设她碰到苹果,苹果就会掉下来。
输入包括两行数据:
第1行包含10个100到200之间的整数(包括100和200,以厘米为单位),分别表示10个苹果到地面的高度。
两个相邻的整数之间用一个空格隔开。
第2行只包括一个100到120之间的整数(包含100和120,以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
#include
intmain()
{
inta[10];
inti,count=0,n;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
scanf("%d",&n);
for(i=0;i<10;i++)
if(a[i]<=n+30)
count++;
printf("%d",count);
return0;
}
9.凯撒密码是罗马扩张时期朱利斯•凯撒(JuliusCaesar)创造的,用于加密通过信使传递的作战命令,其原理很简单,就是通过将字母表中的字母移动一定位置而实现加密。
例如,每个字母按字母表顺序向后移3位,如a加密后变成d,b加密后变成e,……x加密后变成a,y加密后变成b,z加密后变成c。
请编写一个程序,将用户从键盘输入的文本字符串(只包含a~z的字符且长度小于100)进行加密后输出。
函数原型:
voidCaesar(charc[]);
函数功能:
计算凯撒密码
10.有一天,一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,陌生人对百万富翁说:
“我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万元,你给我2分钱,第三天我仍给你10万元,你给我4分钱……。
你每天给我的钱是前一天的两倍,直到满一个月(30天)为止”,百万富翁很高兴,欣然接受了这个契约。
请编程计算在这一个月中陌生人总计给百万富翁多少钱,百万富翁总计给陌生人多少钱。
#include
intmain()
{
doublea=100000,b=0.01,sum1=0,sum2=0;
inti;
for(i=1;i<=30;i++)
{
sum1+=a;
sum2+=b;
b*=2;
}
printf("%lf\n",sum1);
printf("%lf\n",sum2);
return0;
}
11.从键盘输入一串字符(假设字符数少于8个),以回车表示输入结束,编程将其中的数字部分转换为整型数并以整型的形式输出。
函数原型为intMyatoi(charstr[]);
其中,形参数组str[]对应用户输入的字符串,函数返回值为转换后的整型数。
(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持)