程序设计基础编程题

更新时间:2023-03-08 09:09:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 一尺之捶,日取其半。我国古代著作《庄子》中记载道:“一尺之捶,日取其半,

万世不竭”。其含义是:对于一尺的东西,今天取其一半,明天取其一半的一半,后天再取其一半的一半的一半总有一半留下,所以永远也取不尽。请编写一个程序,使其可以计算出一条长为m的绳子,在n天之后剩下的长度。输入m #include int main() {

int m,n;

scanf(\ while(n--) {

m/=2; }

printf(\ return 0; }

2.某网上购物网站对用户实行优惠,买家购物货款p越多,则折扣越多。今天正值该网站优惠折扣日,货款高于100元的买家可获得15%的折扣,否则买家可获得8%的折扣,。请编程从键盘输入买家购物货款p,计算并输出买家折扣后实际应付出的价钱。

注:程序中的数据类型为float。 #include int main() {

float p,q;

scanf(\ if(p>100) {

q=1.15*p; printf(\ } else

printf(\ return 0; }

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 int main() {

int man,woman;

for(man=1; man<=17; man++)

for(woman=1; woman<=25; woman++) {

if(50 == man*3 + woman*2 +(30-man-woman) )

printf(\ }

return 0; }

5. 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? #include int main() {

float h=100,s=0; int i;

for(i=1;i<=10;i++) {

s=s+h+h/2; h=h/2; }

printf(\ printf(\ return 0; }

6.两数值的谐均值可以这样计算:首先对两数值的倒数取平均值,最后再取倒数。编写一个带有两个double参数的函数,计算这两个参数的谐均值。函数原型为:double Calculate(double x,double y); #include

double Calculate(double x,double y) {

double a,b;

a=(1.0/x+1.0/y)/2; b=1.0/a; return b; }

int main() {

double x,y,b;

scanf(\

printf(\ return 0; }

7.假设有这样一个三位数m,其百位、十位和个位数字分别是a、b、c,如果m= a!+b!+c!,则这个三位数就称为三位阶乘和数(约定0!=1)。请编程计算并输出所有的三位阶乘和数。

函数原型: long Fact(int n); 函数功能:计算n的阶乘 #include long Fact(int n) {

if (n == 1) {

return 1; } else {

return n * Fact(n - 1); } }

int main() {

int a, b, c, m; long z;

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(\ }

} } }

return 0; }

8.陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。 输入包括两行数据:

第1行包含10个100到200之间的整数(包括100和200,以厘米为单位),分别表示10个苹果到地面的高度。两个相邻的整数之间用一个空格隔开。 第2行只包括一个100到120之间的整数(包含100和120,以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。 #include int main() {

int a[10];

int i,count=0,n; for(i=0; i<10; i++) scanf(\ scanf(\ for(i=0; i<10; i++) if(a[i]<=n+30) count++; printf(\ return 0; }

9.凯撒密码是罗马扩张时期朱利斯?凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令,其原理很简单,就是通过将字母表中的字母移动一定位置而实现加密。例如,每个字母按字母表顺序向后移3位,如a加密后变成d,b加密后变成e,??x加密后变成a,y加密后变成b,z加密后变成c。请编写一个程序,将用户从键盘输入的文本字符串(只包含a~z的字符且长度小于100)进行加密后输出。

函数原型:void Caesar(char c[]); 函数功能:计算凯撒密码

10.有一天,一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,陌生人对百万富翁说:“我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万元,你给我2分钱,第三天我仍给你10万元,你给我4分钱??。你每天给我的钱是前一天的两倍,直到满一个月(30天)为止”,百万富翁很高兴,欣然接受了这个契约。请编程计算在这一个月中陌生人总计给百万富翁多少钱,百万富翁总计给陌生人多少钱。 #include int main() {

double a=100000,b=0.01,sum1=0,sum2=0; int i;

for(i=1;i<=30;i++) {

sum1+=a; sum2+=b; b*=2; }

printf(\ printf(\ return 0; }

11.从键盘输入一串字符(假设字符数少于8个),以回车表示输入结束,编程将其中的数字部分转换为整型数并以整型的形式输出。 函数原型为intMyatoi(char str[]);

其中,形参数组str[]对应用户输入的字符串,函数返回值为转换后的整型数。

本文来源:https://www.bwwdw.com/article/cp13.html

Top