C语言第二篇:分支程序设计(正差值、三数最大值、发工资)
2016-03-16 23:23
344 查看
项目一:正差值
1.1 源代码/* *Copyright (c)2016,刘兵马俑 *All rights reserved. *文件名称:main.c *作 者:刘兵马俑 *完成日期:2016/03/16 *版 本 号:v1.0 *问题描述:给定两个正整数,求出两数的正差值并输出 *程序输出:正差值 */ #include <stdio.h> #include <stdlib.h> int main() { int a,b,sub,tmp; printf("请输入两个正整数:");//调程序时发现原来bug源于分号“;”我输成汉语模式下的了 scanf("%d %d",&a,&b); if(a<b) { tmp=a; a=b; b=tmp; } sub=a-b; printf("这两个正整数的正差值为:%d\n",sub); return 0; }
1.2 运行结果
1.3 bug调试
第一遍运行时,报错了,提示如下:
经过百度,得到了如下解释:
error243——代表编译器在编译源文件时遇到了不可识别的非法字符。其值为ascii码值243。
这一个值并不在合法的英文字符范围(0~127)范围内,所以一般都是由于误输入造成的。
出现这类问题时,需要根据提示错误的行数,找到对应行,然后重点查找以下几个方面:
1 是否存在汉字。
大多数的C编译器并不识别汉字,所以变量名中不要使用汉字。
2 是否存在汉语标点。
这种情况是最常见的。C语言要求所有的符号必须是英文半角符号,当有中文标点符号出现时,就会有此类错误出现,比如逗号应为',' 而不能是','。
3 是否有全角英文字符。
在C中,全角字符同样是非法的,比如a写作a。
对于这一点,需要注意的是全角的空格,由于空格的不可见性,全角空格比较难查,当无法查到有显式的错误符号时,可以尝试删除所有空格,重新编译。
项目二:三数最大值
2.1 源代码/* *Copyright (c)2016,刘兵马俑 *All rights reserved. *文件名称:main.c *作 者:刘兵马俑 *完成日期:2016/03/16 *版 本 号:v1.0 *问题描述:求三个整数中的最大值 *程序输出:最大值 */ #include <stdio.h> #include <stdlib.h> int main() { int a=0,b=0,c=0,max=0; printf("请输入三个整数:"); scanf("%d %d %d",&a,&b,&c);//我写成了<span style="font-family: Arial, Helvetica, sans-serif;">scanf("%d %d &d",&a,&b,&c); </span><span style="font-family: Arial, Helvetica, sans-serif;">把%写成了&,导致c没有接收到到来自键盘的输入</span> //先求出a和b的大值 if(a>b) { max=a; } else { max=b; } //求出c和max中的大值 if(c>max) { max=c; } printf("这三个正整数中的最大值为:%d\n",max); return 0; }
2.2 运行结果
2.3 bug调试
还是出了个警告,提示为:
我写成了<span style="font-family: Arial, Helvetica, sans-serif;">scanf("%d %d &d",&a,&b,&c); </span><span style="font-family: Arial, Helvetica, sans-serif;">把%写成了&,导致c没有接收到到来自键盘的输入</span>拼写错误
项目三:发工资
3.1 源代码/* *Copyright (c)2016,刘兵马俑 *All rights reserved. *文件名称:main.c *作 者:刘兵马俑 *完成日期:2016/03/16 *版 本 号:v1.0 *问题描述:按工作时间发工资 *程序输出:本月工资 */ #include <stdio.h> #include <stdlib.h> int main( ) { int time,salary; printf("Please enter working hours:"); scanf("%d",&time); //标准是每小时制20元 if(time<=40) salary=20*time; //若员工周工作时间超过40小时,超出部分每小时30元 else salary=20*40+30*(time-40); printf("salary is %d RMB.\n",salary); return 0; }
运行结果
3.3 bug调试
无
相关文章推荐
- C++之:模板元编程(二) 模板形参
- C++第1次上机实验-2
- C++ Exceptional 重载运算符new和delete时要注意的地方
- 浅记c语言二级考试的那些坑
- c语言之strcat函数Strcpy函数
- C++经典面试题
- C\C++面试题
- C++ .csv文件处理 与 sstream应用
- c/c++产生随机数
- 几何原本查询程序2.5
- c/C++中后缀obj/o lib/a dll/so bin文件意义
- C++一些数字的求法
- 23种设计模式:现代C++实现 V2.0
- C/C++中const关键字详解
- 面向对象(二)
- 二叉搜索树的一种构造方法
- c++ assert() 使用方法
- C++ STL--stack/queue 的使用方法
- C++:单向链表实现
- 用C++实现bitmap