C语言 选择语句

1. 实验目的

1. 掌握选择结构

2. 掌握三种if 语句。

3. 掌握多分支switch 语句。

2. 实验内容

1. 某年如果能被4整除,但不能被100整除,或者能被400整除的年是闰年。判断从键盘输入的年份是否为闰年。

程序代码:

# include int main() { int year; printf("请输入年份\n"); scanf("%d",&year); if((year%4 == 0 && year%100 != 0) || (year%400 == 0 )) printf("%d年是闰年\n",year); else printf("%d年不是闰年\n",year); return 0; }

调试结果:

2、某个自动加油站有 ‘a ’,‘b ’,

‘c ’三种汽油品种,单价分别为 6.92,7.37,7.64(元/公升) ,也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠,请编程序针对用户输入加油量m ,汽油品种y 和服务类型z (‘f ’—自动加,‘m ’—自己加,‘e ’—

协助

加),(注:‘f ’—自动加无优惠),计算应付款pay 。(请用多分支选择switch 语句)。

程序代码:

# include int main() { double n,d,p; char y,z; printf("请输入加油量,汽油品种(a,b,c ),服务类型(f-自动加,m-自己加,e-协助加)\n"); scanf("%lf,%c,%c",&n,&y,&z); switch(y) { case'a':d=6.92*n;break; case'b':d=7.37*n;break; case'c':d=7.64*n;break;

default:printf("输入错误\n"); }

switch(z) { case'f':p=d;break; case'm':p=0.95*d;break; case'e':p=0.9*d;break;

default:printf("输入错误\n"); } printf("加油量:%lf 汽油类型:%c 服务类型:%c 应付:%.2lf\n",n,y,z,p); return 0; }

调试结果:

3、输入三角形三边,判断该三角形是什么三角形(等边,等腰,普通和直角)

程序代码:

# include

# include

int main() { float a,b,c; printf("请输三角形三边长a,b,c\n"); scanf("%f,%f,%f",&a,&b,&c); if ((a+b>c) &&( b+c>a) && (c+a>b)) if(a==b||b==c||a==c) if(a==b&&b==c) printf("三角形为等边三角形\n"); else printf("三角形为等腰三角形\n"); else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==b*b+a*a) printf("三角形为直角三角形\n"); else printf("三角形为普通三角形\n"); else

printf("数据错误"); return 0;

}调试结果:

4. 编写一个菜单程序,输入1~3以进入相应的选择项。(请用switch 语句) 1、FindNum 2、

Diamond

3、Goodbye! Input 1-3:

程序代码:

#include int main() {

int a;

char s='y'; while(s=='y')

{printf("菜单如下,请选择:\n"); printf("1、FindNum\n"); printf("2、Diamond\n"); printf("3、Goodbye!\n"); printf("请输入1-3: \n"); scanf("%d",&a); switch(a) { case 1:

printf("FindNum\n"); break; case 2: printf("Diamond\n"); break; case 3: printf("Goodbye!\n"); break; }

printf("还要继续吗(y/n):"); scanf(" %c",&s); if(s=='y')

continue; else

break; } return 0;

}调试结果:

5. 输入4个整数,要求按由小到大的顺序输出

程序代码:

#include int main() {

int a,b,c,d,t;

printf("请输入四个整数\n");

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

{t=a;a=b,b=t;} if(a>c)

{t=a;a=c;c=t;} if(a>d)

{t=a;a=d;d=t;} if(b>c)

{t=b;b=c,c=t;} if(b>d)

{t=b;b=d;d=t;} if(c>d)

{t=c;c=d;d=t;}

printf("排序结果如下:\n"); printf("%d %d %d %d\n",a,b,c,d);

return 0; }

调试结果:

6. 求一元二次方程ax2+bx+c=0的根。 当b 2-4ac>0为不相等的两实根, 当 b 2-4ac=0时为两相等的实根,

当 b 2-4ac

程序代码:

#include #include int main( ) { double a,b,c,x1,x2,y,d,e; printf("请输入方程的a,b,c: "); scanf("%lf,%lf,%lf",&a,&b,&c); y = b*b-4.0*a*c; if (y

调试结果:

7、编制程序要求输入整数a 和b, 若a 2+b2大于100, 则输出a 2+b2

百位以上的数字,否则输出两数之和

程序代码:

# include int main() { int a,b,c,d,e; printf("请输两个整数a,b\n"); scanf("%d,%d",&a,&b); c=(a*a+b*b); if((a*a+b*b)>100) { d=c/100; printf("%d\n",d); } else { e=a+b; printf("%d\n",e); } return 0; }

调试结果:

8、有三个整数a,b,c, 由键盘输入,输出其中最大的数。

程序代码:

#include int main() { float a,b,c,t; printf("请输入三个数a,b,c\n"); scanf("%f,%f,%f",&a,&b,&c); if(a>b)

{t=a;a=b;b=t;} if(a>c)

{t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf("最大的数是:%f\n",c); return 0; }

调试结果:

9、有一个函数:y= x (x

2x-1

(1

3x-11

(x>=10)

写程序,输入x 的值,输出y 相应的值。 程序代码:

#include int main() { double x,y; printf("请输入x:\n"); scanf("%lf",&x); if(x

调试结果;

1. 实验目的

1. 掌握选择结构

2. 掌握三种if 语句。

3. 掌握多分支switch 语句。

2. 实验内容

1. 某年如果能被4整除,但不能被100整除,或者能被400整除的年是闰年。判断从键盘输入的年份是否为闰年。

程序代码:

# include int main() { int year; printf("请输入年份\n"); scanf("%d",&year); if((year%4 == 0 && year%100 != 0) || (year%400 == 0 )) printf("%d年是闰年\n",year); else printf("%d年不是闰年\n",year); return 0; }

调试结果:

2、某个自动加油站有 ‘a ’,‘b ’,

‘c ’三种汽油品种,单价分别为 6.92,7.37,7.64(元/公升) ,也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠,请编程序针对用户输入加油量m ,汽油品种y 和服务类型z (‘f ’—自动加,‘m ’—自己加,‘e ’—

协助

加),(注:‘f ’—自动加无优惠),计算应付款pay 。(请用多分支选择switch 语句)。

程序代码:

# include int main() { double n,d,p; char y,z; printf("请输入加油量,汽油品种(a,b,c ),服务类型(f-自动加,m-自己加,e-协助加)\n"); scanf("%lf,%c,%c",&n,&y,&z); switch(y) { case'a':d=6.92*n;break; case'b':d=7.37*n;break; case'c':d=7.64*n;break;

default:printf("输入错误\n"); }

switch(z) { case'f':p=d;break; case'm':p=0.95*d;break; case'e':p=0.9*d;break;

default:printf("输入错误\n"); } printf("加油量:%lf 汽油类型:%c 服务类型:%c 应付:%.2lf\n",n,y,z,p); return 0; }

调试结果:

3、输入三角形三边,判断该三角形是什么三角形(等边,等腰,普通和直角)

程序代码:

# include

# include

int main() { float a,b,c; printf("请输三角形三边长a,b,c\n"); scanf("%f,%f,%f",&a,&b,&c); if ((a+b>c) &&( b+c>a) && (c+a>b)) if(a==b||b==c||a==c) if(a==b&&b==c) printf("三角形为等边三角形\n"); else printf("三角形为等腰三角形\n"); else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==b*b+a*a) printf("三角形为直角三角形\n"); else printf("三角形为普通三角形\n"); else

printf("数据错误"); return 0;

}调试结果:

4. 编写一个菜单程序,输入1~3以进入相应的选择项。(请用switch 语句) 1、FindNum 2、

Diamond

3、Goodbye! Input 1-3:

程序代码:

#include int main() {

int a;

char s='y'; while(s=='y')

{printf("菜单如下,请选择:\n"); printf("1、FindNum\n"); printf("2、Diamond\n"); printf("3、Goodbye!\n"); printf("请输入1-3: \n"); scanf("%d",&a); switch(a) { case 1:

printf("FindNum\n"); break; case 2: printf("Diamond\n"); break; case 3: printf("Goodbye!\n"); break; }

printf("还要继续吗(y/n):"); scanf(" %c",&s); if(s=='y')

continue; else

break; } return 0;

}调试结果:

5. 输入4个整数,要求按由小到大的顺序输出

程序代码:

#include int main() {

int a,b,c,d,t;

printf("请输入四个整数\n");

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

{t=a;a=b,b=t;} if(a>c)

{t=a;a=c;c=t;} if(a>d)

{t=a;a=d;d=t;} if(b>c)

{t=b;b=c,c=t;} if(b>d)

{t=b;b=d;d=t;} if(c>d)

{t=c;c=d;d=t;}

printf("排序结果如下:\n"); printf("%d %d %d %d\n",a,b,c,d);

return 0; }

调试结果:

6. 求一元二次方程ax2+bx+c=0的根。 当b 2-4ac>0为不相等的两实根, 当 b 2-4ac=0时为两相等的实根,

当 b 2-4ac

程序代码:

#include #include int main( ) { double a,b,c,x1,x2,y,d,e; printf("请输入方程的a,b,c: "); scanf("%lf,%lf,%lf",&a,&b,&c); y = b*b-4.0*a*c; if (y

调试结果:

7、编制程序要求输入整数a 和b, 若a 2+b2大于100, 则输出a 2+b2

百位以上的数字,否则输出两数之和

程序代码:

# include int main() { int a,b,c,d,e; printf("请输两个整数a,b\n"); scanf("%d,%d",&a,&b); c=(a*a+b*b); if((a*a+b*b)>100) { d=c/100; printf("%d\n",d); } else { e=a+b; printf("%d\n",e); } return 0; }

调试结果:

8、有三个整数a,b,c, 由键盘输入,输出其中最大的数。

程序代码:

#include int main() { float a,b,c,t; printf("请输入三个数a,b,c\n"); scanf("%f,%f,%f",&a,&b,&c); if(a>b)

{t=a;a=b;b=t;} if(a>c)

{t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf("最大的数是:%f\n",c); return 0; }

调试结果:

9、有一个函数:y= x (x

2x-1

(1

3x-11

(x>=10)

写程序,输入x 的值,输出y 相应的值。 程序代码:

#include int main() { double x,y; printf("请输入x:\n"); scanf("%lf",&x); if(x

调试结果;


相关内容

  • [算法与程序设计]VB教案集
  • 1-1节 计算机解决问题的过程 一. 教学目标 1. 知识与技能 (1) 让学生了解算法.穷举法.程序设计语言.编写程序和调试程序等概念. (2) 让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述. (3) 让学生理解分析问题.设计算法.编写程序.调试程序这一用计算机解决问 ...

  • [高级语言程序设计]
  • <高级语言程序设计>教学大纲 王林平 编 一.总则 1. 教学目的与要求 (1)教学目的 <高级语言程序设计>是学习研究计算机及其应用的一门很重要的专业基础课程.它为<数据结构>.<操作系统>等其它专业基础课或专业课程奠定程序设计的基础,又是其它专业课 ...

  • 算法与程序设计复习知识点
  • 第一章 如何用计算机解决问题 1.解决问题的过程:(P3) 分析问题--设计算法--界面设计.编写程序--运行程序.验证结果. 计算机程序:就是指示计算机如何去解决问题或完成任务的一组可执行的指令. 程序设计:就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程. 程序设计语言:泛 ...

  • 程序与程序设计语言
  • 程序与程序设计语言 一.教学目标 1.知识与技能 (1)理解程序的概念.特征和三种基本结构. (2)理解程序的编辑和翻译的意义. 2.方法与过程 掌握程序的编辑技能和方法 3. 情感态度和价值观 关注程序设计的意义.关注程序设计语言的发展. 二.重点难点 理解程序的概念.特征和三种基本结构.掌握程序 ...

  • 研究生期末试卷模板SAS3.B
  • 华东师范大学研究生期末试卷(B) 2007----2008学年第二学期 课程名称: 实用统计软件 学生姓名: ______________________ 学 号: ________________ 专 业: ______________________ 年级/班级: _______________ ...

  • C语言对比汇编的好处
  • C 语言对比汇编的好处 简单来说,C 语言对汇编语言进行了抽象,具有如下优点: • • • • • 更符合人类思维习惯,开发效率高.时间短. 模块化. 可移植性好. 提供数学函数并支持浮点运算. 程序可读性和可维护性强. C 语言当然也有缺点, 比如实时性通常要比汇编差. 在编写汇编的时候可以清楚的 ...

  • 信息学奥林匹克竞赛培训教案
  • 信息学奥林匹克竞赛培训教案 (PASCAL语言) 授课:陈浩 Email:[email protected] QQ:651764546 第1章 计算机的发展与应用 1.1 计算机发展简史 1.1.1 第一台电子计算机的诞生 1946年,世界上第一台数字式电子计算机由美国宾夕法尼亚大学的物理学家约翰·莫 ...

  • 浙江工业大学2004年"专升本"考试大纲[C语言程序设计]
  • 浙江工业大学2004年"专升本"考试大纲 <C语言程序设计>考试大纲 [基本要求] 1. 熟练掌握C 语言的基本概念和基本语法知识: 2. 具备基本的运用C语言解决问题的程序设计能力:能熟练地阅读.理解和编制简短的C程序: [基本内容] 一.C语言的结构 1)程序的构 ...

  • EDA技术与VHDL程序设计基础教程习题答案
  • EDA技术与VHDL程序设计基础教程习题答案 第1章 EDA习题答案 1.8.1填空 1.EDA的英文全称是2.EDA系统设计自动化EDA阶段三个发展阶段 3. EDA技术的应用可概括为 4.目前比较流行的主流厂家的EDA软件有Quartus II.ISE.ModelSim.ispLEVER 5.常 ...

  • 计算机二级考试C语言答题注意事项
  • 计算机二级考试C 语言答题注意事项 基本原则是计划好做题的时间,不要急燥,保持稳定的答题速度,应将熟悉的.会做的.容易的先做. 选择题和操作题在进行的过程中,都一定要看清题目,审好题,弄清题目要考核的知识点,能够迅速回忆相关的知识,综合运用平时上课老师所教授的做题的方法和技巧,进行答题. 10分 例 ...