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

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

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

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

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

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

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

1、

答案:

#include<>

intmain()

{

printf("GoodMorining\n");

return0;

}

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

这里要求:

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

输入格式:

仅仅一个小数

输出格式:

输出样例:

答案:

#include<>

#definemidu11340

intmain()

{

doubler=;

doublev;

doubleweigh;

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,

比如输入:

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、

输入格式:

仅仅一个小数

输出格式:

仅仅一个小数

输入样例:

输出样例:

答案:

#include<>

#definemidu11340

voidmain()

{

doubler;

scanf("%lf",&r);

doublev,m;

m=v*midu;

printf("%lf",m);

}

7、

输入格式:

两个小数(空格分隔)

输出格式:

一个小数

输入样例;

输出样例:

答案:

#include<>

intmain()

{

doubleR,r;

intp;

p=11340;

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

doubleM,m;

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

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

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

return0;

}

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

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

输入:

一个华氏温度,浮点数

输出:

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

输入样例:

-40

输出样例:

c=

答案:

#include<>

voidmain()

{

doublec,f;

scanf("%lf",&f);

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

printf("c=%\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;

例如,

输入:

输出:

注意:

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位小数)x1x2实根,且要求x1>=x2输出

提示:

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

例如输入:

输出:

答案:

#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、

例如,

输入:

345

输出:

0

输入:

612

输出:

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、

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

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

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

答案:

#include<>

intmain()

{

doublea,b;

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

if(a

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

else

printf("%%\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位小数

输入样例:

输出样例:

答案:

#include<>

voidmain()

{

doublea,b;

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

if(a>b)

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

else

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

}

17、编写一个程序,。

输入:

一行数组,分别为abc

输出:

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

输入样例:

102030

输出样例:

答案一:

#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*>b*a*:

b*;

e=d*>c*d*:

c*;

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能计算其差,同理乘除。

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

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

输出格式%.2f

输入:

1+2

输出:

输入:

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*+c*;

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

elseif(b=='-')

{d=a**;

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

elseif(b=='*')

{d=a**c*;

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

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

=0)

{d=a*c*;

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>ba:

b;

d=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

样例输出:

+

提示:

两个根中间有一个空格

平方根用函数sqrt(x),

并同时需要#include<>

保留2位小数用printf("%.2f",..)输出i的方法printf("%+%%%",你的实部,你的虚部,你的实部,你的虚部)

答案:

#include<>

#include<>

voidmain()

{

inta,b,c;lf",x1);

}

elseif(a!

=0)

{

if(p>=0)

{

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

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

x=x1>x2x1:

x2;

y=x1

x2;

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

}

else

{

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

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

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、

例如:

输入:

1258

输出:

5812

答案一:

#include<>

voidmain()

{

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

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

d=a

b;

e=d

c;

f=a>ba:

b;

g=f>cf:

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()

{

inta,b,c;

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

if(a!

=b&&a!

=c&&b!

=c)

if(a>b&&b>c)

printf("%d%d%d\n",c,b,a);

elseif(a>c&&c>b)

printf("%d%d%d\n",b,c,a);

elseif(b>a&&a>c)

printf("%d%d%d\n",c,a,b);

elseif(b>c&&c>a)

printf("%d%d%d\n",a,c,b);

elseif(c>a&&a>b)

printf("%d%d%d\n",b,a,c);

elseif(c>b&&b>a)

printf("%d%d%d\n",a,b,c);

else

printf("%d%d%d\n",a,b,c);

return0;

}

25、输入1~12,对应:

Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec,如果不是上述内容,则输出error!

例如:

1)

输入:

3

输出:

Mar

2)

输入:

13

输出:

error!

答案:

#include<>

voidmain()

{

intm;

scanf("%d",&m);

switch(m)

{

case1:

printf("Jan");break;

case2:

printf("Feb");break;

case3:

printf("Mar");break;

case4:

printf("Apr");break;

case5:

printf("May");break;

case6:

printf("Jun");break;

case7:

printf("Jul");break;

case8:

printf("Aug");break;

case9:

printf("Sep");break;

case10:

printf("Oct");break;

case11:

printf("Nov");break;

case12:

printf("Dec");break;

default:

printf("error!

");

}

}

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

当前位置:首页 > 高中教育 > 高中教育

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

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