C语言顺序结构及分支结构编程案例详解.docx

上传人:b****8 文档编号:10771216 上传时间:2023-02-22 格式:DOCX 页数:25 大小:20.22KB
下载 相关 举报
C语言顺序结构及分支结构编程案例详解.docx_第1页
第1页 / 共25页
C语言顺序结构及分支结构编程案例详解.docx_第2页
第2页 / 共25页
C语言顺序结构及分支结构编程案例详解.docx_第3页
第3页 / 共25页
C语言顺序结构及分支结构编程案例详解.docx_第4页
第4页 / 共25页
C语言顺序结构及分支结构编程案例详解.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C语言顺序结构及分支结构编程案例详解.docx

《C语言顺序结构及分支结构编程案例详解.docx》由会员分享,可在线阅读,更多相关《C语言顺序结构及分支结构编程案例详解.docx(25页珍藏版)》请在冰豆网上搜索。

C语言顺序结构及分支结构编程案例详解.docx

C语言顺序结构及分支结构编程案例详解

顺序结构入门——及熟悉环境

1、输出GoodMorining

答案:

#include

intmain()

{

printf("GoodMorining\n");

return0;

}

2、已知某种铅密度为11340kg/m3,求9.8厘米铅球有多少kg

这里要求:

pi的取值为3.141592657,小数用double表示,printf("%lf"输出)

输入格式:

输入格式:

仅仅一个小数

输出格式:

输出样例:

5.588431

答案:

#include

#definemidu11340

intmain()

{

doubler=0.049;

doublev;

doubleweigh;

v=4.0/3*3.141592657*r*r*r;

weigh=v*midu;

printf("%lf",weigh);

}

3、两个数相加

输入两个整数

输出两个整数的和

比如输入:

14

输出:

5

答案:

#include

voidmain()

{

inta,b;

intsum;

scanf("%d%d",&a,&b);

sum=a+b;

printf("%d\n",sum);

}

4、输入两个整数a,b,计算(a-b)*(a+b)

比如输入:

14

输出:

-15

答案:

#include

voidmain()

{

inta,b;

intsum;

scanf("%d%d",&a,&b);

sum=(a-b)*(a+b);

printf("%d\n",sum);

}

5、两个数相加后乘以5

输入:

两个整数

输出:

两个整数的和乘以5

比如输入:

14

输出:

25

答案:

#include

voidmain()

{

inta,b;

intsum;

scanf("%d%d",&a,&b);

sum=(a+b)*5;

printf("%d\n",sum);

}

6、已知某种铅密度为11340kg/m3,求输入球的直径(厘米数),求铅球有多少kg。

输入格式:

输入格式:

仅仅一个小数

输出格式:

输出格式:

仅仅一个小数

输入样例:

输入样例:

9.8

输出样例:

输出样例:

5.588431

答案:

#include

#definemidu11340

voidmain()

{

doubler;

scanf("%lf",&r);

doublev,m;

v=4.0/3*3.141592657*(r/200)*(r/200)*(r/200);

m=v*midu;

printf("%lf",m);

}

7、铅密度为11340kg/m3,输入外直径(cm),内径(cm),求空心球有多kg?

输入格式:

输入格式:

两个小数(空格分隔)

输出格式:

输出格式:

一个小数

输入样例;输入样例:

9.8 5.1

输出样例:

输出样例:

4.800801

答案:

#include

#definepi3.141592657

intmain()

{

doubleR,r;

intp;

p=11340;

scanf("%lf%lf",&R,&r);

doubleM,m;

M=p*4.0/3*pi*R/2*0.01*R/2*0.01*R/2*0.01;

m=p*4.0/3*pi*r/2*0.01*r/2*0.01*r/2*0.01;

printf("%lf\n",M-m);

return0;

}

8、输入一个华氏温度,要求输出摄氏温度。

公式为c=5(F-32)/9输出要求有文字说明,取位2小数。

输入:

一个华氏温度,浮点数

输出:

c=摄氏温度,(保留两位小数)

输入样例:

-40

输出样例:

c=-40.00

答案:

#include

voidmain()

{

doublec,f;

scanf("%lf",&f);

c=5*(f-32)/9;

printf("c=%0.2lf\n",c);

}

9、从1到9任选一个你喜欢的数字,先乘以3,再加上3,再乘以3,最后把个位数和十位数相加,得到结果是什么?

输入:

3

结果:

9

答案:

#include

voidmain()

{

inta,b,c,d,e;

scanf("%d",&a);

b=((a*3)+3)*3;

c=b/10;

d=b%10;

e=c+d;

printf("%d",e);

}

10、输入三个数a,b,c,表示三角形的三个边长

输出三角形面积的平方值,结果保留2位小数

p(p-a)(p-b)(p-c),其中p=(a+b+c)/2;

例如,

输入:

3.1 4.1 5.1

输出:

40.38

注意:

printf("%.2lf",double)保留2位小数

答案:

#include

voidmain()

{

doublea,b,c,p,s;

scanf("%lf%lf%lf",&a,&b,&c);

p=(a+b+c)/2;

s=p*(p-a)*(p-b)*(p-c);

printf("%.2lf",s);

}

11、求一元二次方程ax2+bx+c=0的解。

a,b,c为任意实数。

输入:

输入数据有一行,包括abc的值

输出:

(保留2位小数)x1 x2实根,且要求x1>=x2输出

提示:

计算平方根用sqrt()函数,例如y=sqrt(x) 则y就得到x的平方根

例如输入:

1.0  4.0 1.0

输出:

-0.27  -3.73

答案:

#include

#include

voidmain()

{

doublea,b,c,x,d;

doublex1,x2;

scanf("%lf%lf%lf",&a,&b,&c);

d=sqrt(b*b-4*a*c);

x1=(-b+d)/(2*a);

x2=(-b-d)/(2*a);

if(x1>=x2)

printf("%.2lf%.2lf",x1,x2);

else

printf("%.2lf%.2lf",x2,x1);

}

12、输出一个三位数,将它反向输出。

如输入:

127

输出:

721

提示:

需要求出这个数的个、十、百位上的数字

用到的技巧就是,整数相除还是整数的办法,比如235/100就等于2

答案:

#include

intmain()

{

inta,b,c,d,e;

scanf("%d",&a);

b=a/100;

c=(a/10)-b*10;

d=a%10;

e=d*100+c*10+b;

printf("%d\n",e);

}

分支结构

13、输入3个整数,判断第一个数是不是最大的数?

例如,

输入:

3 45

输出:

0

输入:

6 1 2

输出:

1

答案一:

#include

voidmain()

{

inta,b,c;

scanf("%d%d%d",&a,&b,&c);

if(a>b&&a>c)

printf("1");

else

printf("0");

}

答案二:

#include

voidmain()

{

inta,b,c;

scanf("%d%d%d",&a,&b,&c);

if(a

printf("0\n");

else

{

if(a

printf("0\n");

else

printf("1\n");

}

}

14、输入两个实数,按由小到大的次序输出两数

输入两个单精度的实数,例如:

3.22.8

输出结果为从大到小排序,例如:

2.803.20

输出结果保留小数点后两位

答案:

#include

intmain()

{

doublea,b;

scanf("%lf%lf",&a,&b);

if(a

printf("%0.2lf%0.2lf\n",a,b);

else

printf("%0.2lf%0.2lf\n",b,a);

return0;

}

15、输入两个整数,判断其是否相等。

例如:

1)输入:

35

输出:

a!

=b

2)输入:

44

输出:

a==b

答案:

#include

voidmain()

{

inta,b;

scanf("%d%d",&a,&b);

if(a==b)

printf("a==b");

else

printf("a!

=b");

}

16、编写一个程序,输入a、b两个,输出其中最大值。

输入:

两个小数

输出:

ab其中最大的数 保留2位小数

输入样例:

10.220.3

输出样例:

20.30

答案:

#include

voidmain()

{

doublea,b;

scanf("%lf%lf",&a,&b);

if(a>b)

printf("%.2lf",a);

else

printf("%.2lf",b);

}

17、编写一个程序,输入a、b、c三个值,输出其中最大值。

输入:

一行数组,分别为abc

输出:

abc其中最大的数 保留2位小数

输入样例:

102030

输出样例:

30.00

答案一:

#include

voidmain()

{

doublea,b,c;

scanf("%lf%lf%lf",&a,&b,&c);

if(a>b&&a>c)

printf("%.2lf\n",a);

elseif(b>a&&b>c)

printf("%.2lf\n",b);

else

printf("%.2lf\n",c);

}

答案二:

#include

voidmain()

{

inta,b,c;

doubled,e;

scanf("%d%d%d",&a,&b,&c);

d=a*1.0>b*1.0?

a*1.0:

b*1.0;

e=d*1.0>c*1.0?

d*1.0:

c*1.0;

printf("%.2lf",e);

}

18、输入一个年份,判断一个年份是否为闰年

输入:

一个正整数,比如2008

输出:

一个字母“y”或者“n”(引号不输出)

输入样例:

2008

输出样例:

y

答案一:

#include

voidmain()

{

inta;

scanf("%d",&a);

if(a%4==0&&a%100!

=0||a%400==0)

printf("y");

else

printf("n");

}

答案二:

#include

voidmain()

{

intn;

scanf("%d",&n);

if(n%100==0)

{

if(n%400==0)

printf("y\n");

else

printf("n\n");

}

else

{

if(n%4==0)

printf("y\n");

else

printf("n\n");

}

}

19、简单的计算器计算:

输入a+b能计算出其和,输入a-b能计算其差,同理乘除。

除法用"/"表示,但是若出现4/0则输出“error”,

建议使用数据类型使用float类型,“+-*/”使用char。

输出格式%.2f

输入:

1+2

输出:

3.00

输入:

1/0

输出:

error

HINT:

floata;

charb;

floatc;

scanf("%f%c%f",&a,&b,&c);

答案一:

#include

voidmain()

{

floata,b;

charop;

scanf("%f%c%f",&a,&op,&b);

switch(op)

{

case'+':

printf("%.2f",a+b);break;

case'-':

printf("%.2f",a-b);break;

case'*':

printf("%.2f",a*b);break;

case'/':

if(b!

=0)

printf("%.2f",a/b);

else

printf("error");

break;

default:

printf("");

}

}

答案二:

#include

voidmain()

{

doublea,c,d;

charb;

scanf("%lf%c%lf",&a,&b,&c);

if(b=='+')

{d=a*1.0+c*1.0;

printf("%.2lf",d);}

elseif(b=='-')

{d=a*1.0-c*1.0;

printf("%.2lf",d);}

elseif(b=='*')

{d=a*1.0*c*1.0;

printf("%.2lf",d);}

elseif(b=='/'&&c!

=0)

{d=a*1.0/c*1.0;

printf("%.2lf",d);}

elseif(b=='/'&&c==0)

printf("error");

}

20、看看你们的缘分!

计算出你和另一个人的关系,准的邪门了!

 

  计算的方法很简单,将你们姓名笔划的总数作比较,以大的数字减小的 

  例如:

大雄想知道自己和叮当的关系是什,要将自己名字的笔划(共15划)和叮当名 

  字的笔划(共21划)相减(即21-15),得出的数字是6,「帮你的人」。

十分准确啊!

 

  快来试试吧!

 

  差值对照表:

 

  0亲密无间 

  1永远和你在一起 

  2水火不相容 

  3知心朋友 

  4心上人 

  5帮你做事的人 

  6帮你的人 

  7面和心不合 

  8男女关系不正常 

  9情投意合 

  10关系马虎 

  11尊敬你的人 

  12爱你的人 

  13适合你的 

  14说你坏话的人 

  15克星 

  16救星 

  17忠心的人 

  18狼心狗肺的人 

  19单相思 

  20山盟海誓 

  21情敌 

  22服从你的人 

  23永远在一起 

  24伴终生 

  25恨你又爱你

 比25大:

你俩缘分超出计算范围

答案:

#include

voidmain()

{

inta,b,c,d,e;

scanf("%d%d",&a,&b);

c=a>b?

a:

b;

d=a

a:

b;

e=c-d;

switch(e)

{

case0:

printf("亲密无间");break;

case1:

printf("永远和你在一起");break;

case2:

printf("水火不相容");break;

case3:

printf("知心朋友");break;

case4:

printf("心上人");break;

case5:

printf("帮你做事的人");break;

case6:

printf("帮你的人");break;

case7:

printf("面和心不合");break;

case8:

printf("男女关系不正常");break;

case9:

printf("情投意合");break;

case10:

printf("关系马虎");break;

case11:

printf("尊敬你的人");break;

case12:

printf("爱你的人");break;

case13:

printf("适合你的");break;

case14:

printf("说你坏话的人");break;

case15:

printf("克星");break;

case16:

printf("救星");break;

case17:

printf("忠心的人");break;

case18:

printf("狼心狗肺的人");break;

case19:

printf("单相思");break;

case20:

printf("山盟海誓");break;

case21:

printf("情敌");break;

case22:

printf("服从你的人");break;

case23:

printf("永远在一起");break;

case24:

printf("伴终生");break;

case25:

printf("恨你又爱你");break;

Default:

printf("你俩缘分超出计算范围");

}

21、求一元二次方程ax2+bx+c=0的解。

a,b,c为任意实数。

输入:

abc

输出:

如果a为0同时b为0,则输出"Notanequation"(N大写,单词间一个空格)

如果a为0,退化一次方程,则只输出一个根的值既可以

a不为0则按以下格式输出方程的根x1和x2。

x1和x2之间有一个空格。

(1)如果x1和x2为实根,则以x1>=x2输出。

(2)如果方程是共轭复根,x1=m+ni,x2=m-ni,其中n>0。

其中x1,x2,m,n均保留2位小数。

样例输入:

123

样例输出:

-1.00+1.41i-1.00-1.41i

提示:

两个根中间有一个空格

平方根用函数sqrt(x),

并同时需要#include

保留2位小数用printf("%.2f",..)

输出i的方法printf("%0.2lf+%0.2lfi%0.2lf-%0.2lfi",你的实部,你的虚部,你的实部,你的虚部)

答案:

#include

#include

voidmain()

{

inta,b,c;//定义方程的三个参数//

doublep,m,n,x1,x2,x,y;//定义实根和虚根以及b^2-4ac的值

以及用于交换最大最小值的x,y//

scanf("%d%d%d",&a,&b,&c);

p=(b*b-4*a*c)*1.0;

if(a==0&&b==0)

printf("Notanequation");

elseif(a==0&&b!

=0)

{

x1=(c*1.0/b*1.0)*(-1);

printf("%.2lf",x1);

}

elseif(a!

=0)

{

if(p>=0)

{

x1=(-b+sqrt(p))/(2*a)*1.0;

x2=(-b-sqrt(p))/(2*a)*1.0;

x=x1>x2?

x1:

x2;

y=x1

x1:

x2;

printf("%.2lf%.2lf",x,y);

}

else

{

m=(-b*1.0)/(2*a*1.0);

n=sqrt(-p)*1.0/(2*a*1.0);

if(n<0)

n=-n;

printf("%.2lf+%.2lfi%.2lf-%.2lfi",m,n,m,n);

}

}

}

22、实现符号函数求解。

输入变量为大于0的实数时,输出 1

输入变量为小于0的实数时,输出 -1

输入变量为0时,输出0

答案:

#include

voidmain()

{

inta;

scanf("%d",&a);

if(a>0)

printf("1");

elseif(a==0)

printf("0");

else

printf("-1");

}

23、输入一个双精度类型的分数,判断该分数属于哪个等级,

1)如果输入的分数不在0-100之间,输出:

error!

2)输入分数大于等于90,小于等于100,输出:

A

3)输入分数大于等于80,小于90,输出:

B

4)输入分数大于等于70,小于80,输出:

C

5)输入分数大于等于60,小于70,输出:

D

6)输入分数小于60,输出:

E

答案:

#include

voidmain()

{

floatscore;

scanf("%f",&score);

if(score<0||score>100)printf("error!

");

elseif(score>=0&&score<60)printf("E");

elseif(score<70)printf("D");

elseif(score<80)printf("C");

elseif(score<90)printf("B");

elseprintf("A");

}

24、输入三个整数,按照由小到大顺序输出出来。

例如:

输入:

12 5 8

输出:

5 8 12

答案一:

#include

voidmain()

{

inta,b,c,d,e,f,g,h;

scanf("%d%d%d",&a,&b,&c);

d=a

a:

b;

e=d

d:

c;

f=a>b?

a:

b;

g=f>c?

f:

c;

if(a>e&&a

{h=a;

printf("%d%d%d",e,h,g);}

elseif(b>e&&b

{h=b;

printf("%d%d%d",e,h,g);}

elseprintf("%d%d%d",e,c,g);

}

答案二:

#include

intmain

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1