收藏 分享(赏)

两整数相加减总复习1.doc

上传人:精品资料 文档编号:10175795 上传时间:2019-10-16 格式:DOC 页数:51 大小:34.34KB
下载 相关 举报
两整数相加减总复习1.doc_第1页
第1页 / 共51页
两整数相加减总复习1.doc_第2页
第2页 / 共51页
两整数相加减总复习1.doc_第3页
第3页 / 共51页
两整数相加减总复习1.doc_第4页
第4页 / 共51页
两整数相加减总复习1.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、两整数相加减Description计算 a+b 和 a-b。Input输入为一对整数 a 和 b。a,b 用空格分开。Output输出 a+b 和 a-b 的计算结果,各占一行。Sample Input1 2Sample Output3 -1 HINTAppend Code#includeint main(void)int a,b;scanf(“%d %d“,printf(“%dn%d“,a+b,a-b);return 0;求圆的面积和周长Description从键盘输入圆的半径,求圆的面积和周长,圆周率取 3.14。Input输入一个浮点型数据,有效数字不会超过十进制的 6 位。Output

2、输出为两行。第一行为圆的面积,第二行为圆的周长,格式见 sample。Sample Input3Sample OutputArea: 28.260000 Perimeter: 18.840000 HINT了解浮点类型的输入、输出和算术运算符Append Code#include#include#define PI 3.14void main()float r;scanf(“%f“,printf(“Area: %.6fn“,PI*r*r);printf(“Perimeter: %.6f“,2*PI*r);return 0;平均值Description求 3 个数的平均值。Input输入只有一行,

3、为 3 个较小的整数。Output输出为这 3 个整数的平均值,保留 3 位小数。Sample Input1 2 3Sample Output2.000HINT注意除法运算对整型数据和浮点型数据是不一样的。Append Code#include#includevoid main()int a,b,c;int add;double pingjunzhi;scanf(“%d %d %d“,add=a+b+c;pingjunzhi=add/3;printf(“%.3lf“,pingjunzhi);算术基本运算Description计算两整数 x 和 y(0/#include不知道为什么加这个头文件运

4、算结果就有错了int main()int x,y;scanf(“x = %d,y = %d“,printf(“x + y : %dn“,x+y);printf(“x - y : %dn“,x-y);printf(“x * y : %dn“,x*y);printf(“x / y quotient: %d, remainder: %dn“,x/y,x%y);printf(“x 2 : %dn“,x*x);printf(“y 3 : %d“,y*y*y);货币兑换Description给出人民币对美元、欧元、日元的当日汇率,求给定金额的人民币能兑换成外币的金额,求给定金额的外币能兑换成人民币的金额。

5、要计算的外币有三种:美元、欧元、日元。Input输入有三行。第一行依次为美元、欧元、日元外币汇率,用空格分开。汇率用 100 外币为单位,精确到小数点后 4 位,如 668.5200 表示“100 美元=668.5200 人民币”。汇率浮动范围为(0,10000) 。第二行为外币金额 x,第三行为人民币金额 y。x,y 均为整数,且 0#include#include#includevoid main()double meiyuan,riyuan,ouyuan;double x;double y;scanf(“%lf %lf %lfn“,scanf(“%lfn“,scanf(“%lfn“,pr

6、intf(“%.2f %.2f %.2fn“,(x/100)*meiyuan,(x/100)*riyuan,(x/100)*ouyuan);printf(“%.2f %.2f %.2fn“,(x*100)/meiyuan,(x*100)/riyuan,(x*100)/ouyuan);求字符的值Description从键盘输入 3 个字符(不含双字节字符),分别输出每个字符的十进制值(ASCII 码)、八进制值和十六进制值。Input输入为 3 个字符。Output输出为 3 行。每一行为每个字符(对应输入顺序)的十进制、八进制和十六进制值,用空格分隔开。每个输出的值占 3 个字符,不足 3 个

7、字符前面补 0。Sample Input0 ASample Output048 060 030032 040 020 065 101 041 HINT了解字符值的存储和整型的关系。Append Code#includevoid main()char a,b,c;scanf(“%c %c %c“,printf(“%03d %03o %03xn“,a,a,a);printf(“%03d %03o %03xn“,b,b,b);printf(“%03d %03o %03xn“,c,c,c);绝对值Description求整型数据和浮点型数据的绝对值。Input输入两个数,第一个是整数,第二个是浮点数。

8、Output输出为两行,第一行为整数的绝对值,第二行为浮点数的绝对值,注意浮点数的绝对值不输出无意义的 0。Sample Input-1 1 Sample Output1 1 HINT求绝对值可以用标准库函数来完成,也可以自己判断。注意浮点数的输出格式。求绝对值的函数在哪个头文件?貌似很多人会搞错,包括很多编书的人!Append Code#include#include#includevoid main()int a;double b;scanf(“%dn“,scanf(“%lfn“,printf(“%dn“,abs(a);printf(“%.g“,fabs(b);/%.lf 也行?2 的多少

9、次幂Description从键盘输入一个数 x,x 是 2 的整数次幂(x=2 y),请编程求出 y 的值。Input一个非负有理数 x,x 在0,2 256范围内。Output一个整数 y。Sample Input1Sample Output0HINT看起来数据很大,但是用 double 完全可以存储。为什么?请研究下 IEEE-754 标准的浮点数存储格式。这里要用到 C 语言标准库的数学函数。Append Code#include#include#includevoid main()double x;double y;scanf(“%lf“,y=log10(x)/log10(2.0);p

10、rintf(“%.0lf“,y);奇数还是偶数?Description输入一个整数,判读它是奇数还是偶数。Input输入只有一行,为一个 100 以内的正整数。Output输出为一行。若输入为偶数则输出“even”,奇数输出“odd”。Sample Input30Sample OutputevenHINT用整数运算可以解决,练习“?:”表达式。Append Code#include#includevoid main()int x;scanf(“%d“,x%2=0?printf(“even“):printf(“odd“);简单的打折计算Description商店规定:消费满 n 元,可以打八八折

11、。设某件商品标价 m 元,输入购买的件数 x,计算出需要支付的金额(单位:元),精确到分。Input输入只有一行,三个整数 m、 n 和 x,且 0#include#includeint main()int n,m,x;/double y;scanf(“%d %d %d“,if(m*x=n)printf(“%.2lf“,0.88*x*m);elseprintf(“%.2lf“,x*m);return 0;球的表面积与体积Description给定一个球体的直径(非负数),求它的表面积和体积。Input输入只有一个非负实数,表示球体的直径。Output输出有 2 行,格式见样例。其中等号(“=”

12、)前后各有一个空格,输出的结果保留 6 位小数。Sample Input2.0Sample Outputarea = 12.566371 volume = 4.188790HINT在 math.h 中,定义了一个常量 M_PI,它就是圆周率。如果你的结果不对,试着包含这个头文件并使用常量 M_PI 代替你程序中的圆周率。使用 math.h 中 M_PI 的程序在 OJ 上无法编译通过,请自行定义 M_PI 为3.14159265358979323846,或者用三角函数计算 M_PI 的值,如:4*atan(1.0) ,-2*asin(-1)。Append Code#include#includ

13、e#include#define PI 3.14159265358979323void main()double d;scanf(“%lf“,printf(“area = %.6lfn“,4*PI*(d/2)*(d/2);printf(“volume = %.6lfn“,(4*PI*(d/2)*(d/2)/3);整型数据的输出格式Description输入 2 个整数,按照指定的格式输出这两个数。Input两个整数 0#includevoid main()int a,b;scanf(“%d %d“,printf(“Octal Decimal Hexadecimaln“);printf(“%-6

14、o%-8d%-11xn“,a,a,a);printf(“%-6o%-8d%-11x“,b,b,b);/%- 即左对齐你过线了吗?Description经过四年的学习,你决定报考我国著名的“285”高校之一的北青大学,经过认真的复习,残酷的考试,终于知晓了自己的考试成绩,也知道了北青大学的录取分数线,请你编程判断,自己过线了吗?Input输入有 2 行,第一行有 4 个正整数,分别表示三门课程的分数线以及总分分数线。第二行有 3 个非负整数,分别表示你考的三门课程的成绩。Output如果你的三门课程成绩都不低于相应课程的分数线,且你的考试总分也不低于北青大学的总分分数线要求,则输出“congra

15、tulations”,否则输出“sorry”。Sample Input70 80 70 240 80 80 82Sample OutputcongratulationsHINT如果你不会使用分支语句,同样可以使用条件运算符实现该程序。Append Code#include#includevoid main()int a,b,c,d;int e,f,g;int add;scanf(“%d %d %d %dn“,scanf(“%d %d“,add=g+e+f;if(e=a elseprintf(“sorry“);自增自减运算DescriptionC 语言中有自增运算+、自减运算 -,并且可以前置和

16、后置。编写一个程序:对输入的一个整数 a,输出 a+、a- 、+a、-a 的值。Input一个整数 a,a 是很小的整数。Output输出为 5 行,第一行为 a 的值,后面依次为-a 、a-、a+ 、+a 的值。5 行输出纵向 a 要对齐,“:”对齐, “:”前后各一个空格,后面的数值不用对齐。每行行尾都有回车。Sample Input0Sample Outputa : 0 -a : -1 a- : 0 a+ : 0 +a : 1 HINTAppend Code#includeint main()int a,x;scanf(“%d“,x=a;printf(“ a : %dn“,a);prin

17、tf(“-a : %dn“,-a);a=x;printf(“ a- : %dn“,a-);a=x;printf(“ a+ : %dn“,a+);a=x;printf(“+a : %dn“,+a);return 0;多少张钞票Description客户去商店买东西时,不超过 100 美金的账单喜欢用现金支付。商店喜欢用最少的钞票给付客户的找零。请你编写一个程序帮助商店计算出:当客户买了 x 元商品给了一张 100美元的钞票后,商店应该付给客户多少张 20 美元、10 美元、5 美元和 1 美元的钞票,使得钞票总数最少。假设不存在其他面值的钞票,也不会有几角几分的价格,商店的各种钞票总是够用的。I

18、nput输入一个整数 x,0#includevoid main()int x;int a,b,c,d;scanf(“%d“,a=(100-x)/20;b=(100-x20*a)/10;c=(100-x-20*a-10*b)/5;d=100-x-20*a-10*-5*c;printf(“ $20 bills: %dn“,a);printf(“ $10 bills: %dn“,b);printf(“ $5 bills: %dn“,c);printf(“ $1 bills: %dn“,d);自动拨出电话的程序Description某外国销售公司需要向国内的一些大型单位打电话推销产品。这个公司的工作场

19、景是这样推销员坐在自己电脑旁边,通过一款自动拨电话的软件与客户联系。所有需要被拨打的电话号码都事先存储在服务器上,推销员不需要每次都很麻烦的输入客户的电话号码,当推销员点击软件里拨打的按钮,下一个电话将会自动拨出。现在你需要编写个程序来模拟这个自动拨电话软件的工作过程。电话号码是按照中国的习惯存储下来的,可能是从网站上抓取的,也可能是扫描的手写件。不过它们都被按照这样的格式存储下来:(城市区号)分区前缀- 分机号比如青岛的一个大型单位的某部电话是(0532)621-15486 ,是指如果在单位内部直接拨打15486 就行,在青岛的其他地方要拨打 62115486,而在北京要拨打 0532621

20、15486。根据常识,先拨 0 就是要转外线,所以一般电话号码的各个部分都不会以 0 开头。你的程序可以把如上格式的电话号码翻译成一个只包含有数字的串,发送给电话机并拨出。值得注意的是中国的城市区号长度并不相同,比如北京是 010。再有不同城市的电话号码位数也不相同,并且不同单位根据内部电话分机数目多少,有的可能只有 3 位分机号码,有的可能分区前缀号会只有 2 位。但不管怎样中国现在还没有哪个城市的电话号码超过十位数的。中国的国际区号是 0086。这里不含像 114 这样的特服电话。Input输入只有一行,是符合“(城市区号) 分区前缀-分机号”规律的电话号码,这里面除了英文字符“(” 、“

21、)” 、“-”之外只有数字。Output输出只有一行,是带中国区号的能电话号码。注意从国外打国内的电话,城市区号前面的0 是不用拨打的。比如中国青岛的国际分区号是 0086532。Sample Input(0532)621-15486Sample Output008653262115486HINT这是个可以用 scanf()解决的问题,请注意电话号码都是数字这个规律。Append Code#include#include#includevoid main()int a,b,c;scanf(“(%d)%d-%d“,printf(“0086%d%d%d“,a,b,c);求 1+2+.+n=?Des

22、cription给定一个 n,求出 s = 1+2+3+.+n 的值。Input输入只有一行,包含一个正整数 n(n#include#includevoid main()long int n;scanf(“%d“,printf(“%ld“,n*(1+n)/2);分数转小数Description求一个分数的小数值,要求保留小数点后 2 位,并且进行四舍五入。Input输入为一个分数 m,格式为: “分子/分母”,也可能会有负号:“-分子/分母”。Output输出 m 的小数值,输出保留到小数后 2 位,根据小数点后的第 3 位向前四舍五入。Sample Input-5/3Sample Output-1.67HINTprintf 函数是可以进行四舍五入的。Append Code#include#include#include#includevoid main()double m,n;double y;scanf(“%lf/%lf“,y=m/n;printf(“%.2lf“,y);A+B ProblemDescription计算 a+b,0#includevoid main()int a,b;while(scanf(“%d %d“,A+B Problem (II) : Input/Output Practice

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报