PTAC语言理论课_第1页
PTAC语言理论课_第2页
PTAC语言理论课_第3页
PTAC语言理论课_第4页
PTAC语言理论课_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、顺序结构7-1输出三角形(10分)本题要求编写程序,输出指定的由“*”组成的三角图案。输入格式:本题无输入输出格式:按照下列格式输出由“*”组成的三角图案。*#include #include int main()printf(*n*n*n*);return 0;7-2混合类型数据格式化输入(10分)本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。输入格式:输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。输出格式:在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。输入样例:2.12

2、 88 c 4.7输出样例:c 88 2.12 4.70#include #include int main()char c;int d;double f1,f2;scanf(%lf %d %c %lf,&f1,&d,&c,&f2);printf(%c %d %.2f %.2f,c,d,f1,f2);return 0;7-3交换a和b的值(10分)交换变量a,b的值,如输入a的值为1,b的值为5,则输出a的值为5,b的值为1。输入格式:输入两个整数,之间用一个空格间隔。输出格式:在一行中按照“a=x,b=y”的格式输出,其中x和y均是原样输出,不加宽度控制。输入样例:1 5输出样例:a=5,b

3、=1#include #include int main()int a,b,t;scanf(%d %d,&a,&b);t=a;a=b;b=t;printf(a=%d,b=%d,a,b);7-4A乘以B(10分)看我没骗你吧 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值。输入格式:输入在第一行给出两个整数A和B(100A,B100),数字间以空格分隔。输出格式:在一行中输出A乘以B的值。输入样例:-8 13输出样例:-104#include #include int main()int a,b;scanf(%d %d,&a,&b);printf(%d

4、,a*b);return 0;-5厘米换算英尺英寸(10分)如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。输入样例:170输出样例:5 6#include #include int main()int a,foot,inch;scanf(%d,&a);foot=(int)(0.01*a/0.3048);inch=

5、(int)(12*(0.01*a/0.3048-(double)foot);printf(%d %d,foot,inch);return 0;7-6然后是几点(10分)有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可能是负数。输入格式:输入在一行中给出2个整数,分别是四位数字表示的起始时间

6、、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即5点30分表示为530;流逝的分钟数可能超过60,也可能是负数。输出格式:输出四位数字表示的终止时间。题目保证起始时间和终止时间在同一天内。输入样例:1120 110输出样例:1310#include #include int main()int start,interval,end,m;scanf(%d %d,&start,&interval);m=(start/100)*60+(start%100)+interval;end=(m/60)*100+m%60;printf(%d,end);return

7、0;选择结构7-1计算符号函数的值(15分)对于任一整数n,符号函数sign(n)的定义如下:请编写程序计算该函数对任一输入整数的值。输入格式:输入在一行中给出整数n。输出格式:在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。输入样例1:10输出样例1:sign(10) = 1输入样例2:0输出样例2:sign(0) = 0输入样例3:-98输出样例3:sign(-98) = -1#include #include int main()int n,sign;scanf(%d,&n);if(n0)sign = 1;elsesign = 0;printf(sign(%d)

8、= %d,n,sign);return 0;7-2成绩转换(15分)本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则: 大于等于90分为A; 小于90且大于等于80为B; 小于80且大于等于70为C; 小于70且大于等于60为D; 小于60为E。输入格式:输入在一行中给出一个整数的百分制成绩。输出格式:在一行中输出对应的五分制成绩。输入样例:90输出样例:A#include #include int main()int score;char rank;scanf(%d,&score);if(score=90)rank=A;else if(score=80)rank=B;else if

9、(score=70)rank=C;else if(score=60)rank=D;elserank=E;printf(%c,rank);return 0;7-3两个数的简单计算器(15分)本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。输入格式:输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。输出格式:当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR

10、。输入样例1:-7 / 2输出样例1:-3输入样例2:3 & 6输出样例2:ERROR#include #include int main()int num1,num2;char operate;scanf(%d %c %d,&num1,&operate,&num2);switch(operate)case+:printf(%d,num1+num2);break;case-:printf(%d,num1-num2);break;case*:printf(%d,num1*num2);break;case/:printf(%d,num1/num2);break;case%:printf(%d,nu

11、m1%num2);break;default:printf(ERROR);return 0;-412-24小时制(15分)编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。输入格式:输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。提示:在scanf的格式字符串中加入:,让scanf来处理这个冒号。输出格式:在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如5:6 PM表示下午5

12、点零6分。注意,在英文的习惯中,中午12点被认为是下午,所以24小时制的12:00就是12小时制的12:0 PM;而0点被认为是第二天的时间,所以是0:0 AM。输入样例:21:11输出样例:9:11 PM#include #include int main()int h=0,m=0;char s;scanf(%d%c%d,&h,&s,&m);if(h12)printf(%d:%d PM,h-12,m);else if(h=12)printf(%d:%d PM,h,m);elseprintf(%d:%d AM,h,m);return 0;7-5出租车计价(15分)本题要求根据某城市普通出租车收

13、费标准编写程序进行车费计算。具体标准如下: 起步里程为3公里,起步费10元; 超起步里程后10公里内,每公里2元; 超过10公里以上的部分加收50%的回空补贴费,即每公里3元; 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。输入格式:输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。输出格式:在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。输入样例1:2.6 2输出样例1:10输入样例2:5.1 4输出样例2:14输入样例3:12.5 9输出样例3:34#include #incl

14、ude int main()double mile=0;int time=0;double price,price1,price2;scanf(%lf %d,&mile,&time);if(mile=3)price1=10;else if(mile=10)price1=10+(mile-3)*2.0;elseprice1=10+(10-3)*2.0+(mile-10)*3.0;price2=time/5*2;price=price1+price2;printf(%.0f,price);return 0;7-6阶梯电价(15分)为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居

15、民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。输入格式:输入在一行中给出某用户的月用电量(单位:千瓦时)。输出格式:在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出Invalid Value!。输入样例1:10输出样例1:cost = 5.30输入样例2:100输出样例2:cost = 55.50#include #include int main()double a,b;scanf(%lf,&

16、a);if(a=0&a50)b=0.53*50+(a-50)*0.58;printf(cost = %.2f,b);elseprintf(Invalid Value!);return 0;7-7计算工资(15分)某公司员工的工资计算方法如下:一周内工作时间不超过40小时,按正常工作时间计酬;超出40小时的工作时间部分,按正常工作时间报酬的1.5倍计酬。员工按进公司时间分为新职工和老职工,进公司不少于5年的员工为老职工,5年以下的为新职工。新职工的正常工资为30元/小时,老职工的正常工资为50元/小时。请按该计酬方式计算员工的工资。输入格式:输入在一行中给出2个正整数,分别为某员工入职年数和周工

17、作时间,其间以空格分隔。输出格式:在一行输出该员工的周薪,精确到小数点后2位。输入样例1:5 40输出样例1:2000.00输入样例2:3 50输出样例2:1650.00#include #include int main()int y,h;float s;scanf(%d %d,&y,&h);if(y40)s=(h-40)*1.5+40)*30;elses=h*30;printf(%.2f,s);if(y=5)if(h40)s=(h-40)*1.5+40)*50;elses=h*50;printf(%.2f,s);return 0;7-8后天(15分)如果今天是星期三,后天就是星期五;如果今

18、天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。输入格式:输入第一行给出一个正整数D(1D7),代表星期里的某一天。输出格式:在一行中输出D天的后天是星期几。输入样例:3输出样例:5#include #include int main()int x,D;scanf(%d,&D);if(D=5)x=D+2;elsex=D-5;printf(%d,x);return 0;循环结构7-1生成3的乘方表(15分)输入一个非负整数n,生成一张3的乘方表,输出303n的值。可调用幂函数计算3的乘方。输入格式:输入在一行中给出一个非负整数n。输出格

19、式:按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。输入样例:3输出样例:pow(3,0) = 1pow(3,1) = 3pow(3,2) = 9pow(3,3) = 27#include #include int main()int i,n,s;scanf(%d,&n);for(i=0;i=n;i+)s=pow(3,i);printf(pow(3,%d) = %dn,i,s);return 0;7-2统计学生成绩(15分)本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:

20、 大于等于90分为A; 小于90且大于等于80为B; 小于80且大于等于70为C; 小于70且大于等于60为D; 小于60为E。输入格式:输入在第一行中给出一个正整数N(1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。输出格式:在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。输入样例:777 54 92 73 60 65 69输出样例:1 0 2 3 1#include #include int main()int n,i,f,b,c,d,e,a1000;f=b=c=d=e=0;scanf(%d,&n);for(i=0;

21、i=90)f+;if(ai=80)b+;if(ai=70)c+;if(ai=60)d+;if(ai60)e+;printf(%d %d %d %d %d,f,b,c,d,e);return 0;7-3输出闰年(15分)输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。输入格式:输入在一行中给出21世纪的某个截止年份。输出格式:逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出Invalid year!。若不存在任何闰年,则输出“None”。输入样例1:2048输出样例1:2004200820

22、12201620202024202820322036204020442048输入样例2:2000输出样例2:Invalid year!#include #include int main()int n,i,k=0;scanf(%d,&n);if(n2100)printf(Invalid year!);elsefor(i=2001;i=n;i+)if(i%4=0&i%100!=0|i%400=0)printf(%dn,i);k+;if(k=0)printf(None);return 0;7-4寻找250(15分)对方不想和你说话,并向你扔了一串数 而你必须从这一串数字中找到“250”这个高大上的

23、感人数字。输入格式:输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。输出格式:在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。输入样例:888 666 123 -233 250 13 250 -222输出样例:5#include #include int main()int i=0,m;while(m!=250)scanf(%d,&m);i+;printf(%d,i);return 0;7-5最佳情侣身高差(15分)专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)1.

24、09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。输入格式:输入第一行给出正整数N(10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 1.0, 3.0 之间的实数。输出格式:对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。输入样例:2M 1.75F 1.8输出样例:1.611.96#include int main () int n; char c; float

25、h; scanf(%d, &n); getchar(); while (n-) scanf(%c %f, &c, &h); getchar(); if (c = F ) printf(%.2fn, h * 1.09); else printf(%.2fn, h / 1.09); return 0; 7-6作品评分(15分)全国中小学生Scratch作品大赛拉开了序幕。每个参赛选手可以通过网络直接上传作品。本次比赛人人可做评委。每个网络评委可以通过网络对每一件作品进行打分。评分系统也是请程序高手设计的,能自动去掉一个最高分和一个最低分,求出平均分。输入格式:输入数据包括两行: 第一行为n,表示n

26、个评委,n2。 第二行是n个评委的打分,分数之间有一个空格。打分是可以带有小数部分的。输出格式:输出平均分,结果保留两位小数。输入样例:610 9 8 7.9 9 9.5输出样例:8.88#include #include int main()int n,i;double k,max,min,sum=0;scanf(%d,&n);for(i=0;ik)min=k;if(maxk)max=k;printf(%.2lf,(sum-min-max)/(n-2);return 0;7-7求平方根序列前N项和(15分)本题要求编写程序,计算平方根序列1+2+3+的前N项之和。可包含头文件math.h,并

27、调用sqrt函数求平方根。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。输入样例:10输出样例:sum = 22.47#include #include int main()int i,n;double sum;scanf(%d,&n);sum=0;for(i=0;i=n;i+)sum=sum+sqrt(i);printf(sum = %.2f,sum);return 0;7-8猴子吃桃问题(15分)一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩

28、下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?输入格式:输入在一行中给出正整数N(1N10)。输出格式:在一行中输出第一天共摘了多少个桃子。输入样例:3输出样例:10#include #include int main()int n,i,s=1;scanf(%d,&n);for(i=1;in;i+)s=(s+1)*2;printf(%d,s);return 0;7-9求分数序列前N项和(15分)本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+. 的前N项之和。注意该序列从第2项起,每一

29、项的分子是前一项分子与分母的和,分母是前一项的分子。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。输入样例:20输出样例:32.66#include #include int main()int n,i;double sum=0,temp,a,b;a=2;b=1;scanf(%d,&n);for(i=1;i=n;i+)sum=sum+a/b;temp=a;a=a+b;b=temp;printf(%.2lf,sum);return 0;7-10求给定精度的简单交错序列部分和(15分)本题要求编写程序,计算序列部分和

30、 1 - 1/4 + 1/7 - 1/10 + . 直到最后一项的绝对值不大于给定精度eps。输入格式:输入在一行中给出一个正实数eps。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例1:4E-2输出样例1:sum = 0.854457输入样例2:0.02输出样例2:sum = 0.826310#include #include int main()double fenmu=1;int flag=1;double eps,sum=0;double item=1;scanf(%lf,&eps);if(eps=item

31、)sum=1;elsewhile(fabs(item)eps)item=flag*1.0/fenmu;sum=sum+item;flag=-flag;fenmu=fenmu+3;printf(sum = %f,sum);return 0;7-11打印九九口诀表(15分)下面是一个完整的下三角九九口诀表:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=1

32、4 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 本题要求对任意给定的一位正整数N,输出从1*1到N*N的部分口诀表。输入格式:输入在一行中给出一个正整数N(1N9)。输出格式:输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。输入样例:4输出样例:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4

33、 2*4=8 3*4=12 4*4=16#include #include int main()int i,j,n;scanf(%d,&n);for(i=1;i=n;i+)for(j=1;j=i;j+)printf(%d*%d=%-4d,j,i,j*i);printf(n);return 0;7-12统计素数并求和(15分)本题要求统计给定整数M和N区间内素数的个数并对它们求和。输入格式:输入在一行中给出两个正整数M和N(1MN500)。输出格式:在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。输入样例:10 31输出样例:7 143#include #include i

34、nt sushu(int n)int i,sign=1;if(n2)sign=0;elsefor(i=2;in;i+)if(n%i=0)sign=0;return sign;int main()int i,m,n,sum=0,count=0;scanf(%d %d,&m,&n);for(i=m;i=n;i+)if(sushu(i)sum=sum+i;count+;printf(%d %d,count,sum);return 0;7-13输出三角形字符阵列(15分)本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。输入格式:输入在一行中给出一个正整数n(1n7)。输出格式:输出n行

35、由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。输入样例:4输出样例:A B C D E F G H I J #include #include int main()int i,n,j,count=0;scanf(%d,&n);for(i=n;i0;i-)for(j=i;j0;j-)printf(%c ,A+count);count+;printf(n);return 0;7-14特殊a串数列求和(15分)给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa+aaa(n个a)之和。输入格式:输入在一行中给出不超过9的正整数a和n。输出格式:在一行

36、中按照“s = 对应的和”的格式输出。输入样例:2 3输出样例:s = 246#include#includeint main ()int i, a, n, s1=0, s=0;scanf(%d%d, &a, &n);for(i=1; i=n; i+)s1+=pow(10,i-1)*a;s+=s1;printf(s = %d, s);return 0;7-15约分最简分式(15分)分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,

37、即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。输入格式:输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整数(不包含0,如果不清楚正整数的定义的话)。提示:在scanf的格式字符串中加入/,让scanf来处理这个斜杠。输出格式:在一行中输出这个分数对应的最简分式,格式与输入的相同,即采用分子/分母的形式表示分数。如5/6表示6分之5。输入样例:66/120输出样例:11/20#include#includeint max(int a,int b)int r;r=a%b;while(r)a=b;b=r;r=a%b;r

38、eturn b;int main ()int a,b;scanf(%d/%d,&a,&b);int n=max(a,b);printf(%d/%d,a/n,b/n);return 0;数组7-1输出整数各位数字(15分)本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。输入格式:输入在一行中给出一个长整型范围内的非负整数。输出格式:从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。输入样例:123456输出样例:1 2 3 4 5 6 #include#includeint main()char s32;gets(s);int i;for(i=0;istrle

39、n(s);i+)printf(%c ,si);return 0;7-2冒泡法排序(15分)将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(N),输出扫描完第K遍后的中间结果数列。输入格式:输入在第1行中给出N和K(1KN100),在第2行中给出N个待排序的整数,数字间以空格分隔。输出格式:在一行中输出冒泡排序法扫描完第K遍后的中间结果数列,数字间以空

40、格分隔,但末尾不得有多余空格。输入样例:6 22 3 5 1 6 4输出样例:2 1 3 4 5 6#include#includeint main()int n,k;scanf(%d %d,&n,&k);int i,a100;for(i=0;in;i+)scanf(%d,&ai);int j,temp;for(i=0;ik;i+)for(j=0;jaj+1)temp=aj+1;aj+1=aj;aj=temp;for(i=0;in-1;i+)printf(%d ,ai);printf(%d,an-1);return 0;7-3查询水果价格(15分)给定四种水果,分别是苹果(apple)、梨(p

41、ear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。首先在屏幕上显示以下菜单:1 apple2 pear3 orange4 grape0 exit用户可以输入编号14查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。输入格式:输入在一行中给出用户连续输入的若干个编号。输出格式:首先在屏幕上显示菜单。然后对应用户的每个输入,在一行中按格式“price = 价格”输出查询结果,其中价格保留两位小数。当用户连续查询次数超过5次、或主动输入0时

42、,程序结束。输入样例1:3 -1 0 2输出样例1:1 apple2 pear3 orange4 grape0 exitprice = 4.10price = 0.00输入样例2:1 2 3 3 4 4 5 6 7 8输出样例2:1 apple2 pear3 orange4 grape0 exitprice = 3.00price = 2.50price = 4.10price = 4.10price = 10.20作者: C课程组单位: 浙江大学时间限制: 400 ms内存限制: 64 MB#include#includeint main()printf(1 applen2 pearn3 o

43、rangen4 grapen0 exitn);int n,i;for(i=0;i5;i+)scanf(%d,&n);if(n=0)break;switch(n)case 1:printf(price = 3.00n);break;case 2:printf(price = 2.50n);break;case 3:printf(price = 4.10n);break;case 4:printf(price = 10.20n);break;default:printf(price = 0.00n);break;return 0;7-4评委打分(15分)班级里要搞智力竞赛啦!同学们都踊跃参加。进入

44、最后决赛的是10个同学,随着一道道题目的出示,有时是1号选手得分,有时是5号选手得分,每次答对者得10分,最后结果如何呢?输入格式:第一行有十个整数,表示十位同学的初始分。第二行一个整数n,表示有n道题竞赛。 接下去有n行,每行有一个数字x,x表示本次可以加分的选手序号(每次答对者得10分)。输出格式:10个同学最终的得分值,每两位同学之间有一个空格。输入样例:10 0 0 0 10 10 0 0 0 1031101输出样例:30 0 0 0 10 10 0 0 0 20#include#includeint main()int a10,i;for(i=0;i10;i+)scanf(%d,&a

45、i);int n,k;scanf(%d,&n);for(i=0;in;i+)scanf(%d,&k);ak-1=ak-1+10;for(i=0;i9;i+)printf(%d ,ai);printf(%d,a9);return 0;7-5组合数的和(15分)给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。输入格式:输入在一行中先给出 N(1N10),随后给出 N 个不同的非 0 个位数字。数字间以空格分隔。输出格式:输出所有

46、可能组合出来的2位数字的和。输入样例:3 2 8 5输出样例:330#include#includeint main()int a10,i,n;scanf(%d,&n);for(i=0;in;i+)scanf(%d,&ai);int j,k,sum=0;for(j=0;jn;j+)for(k=0;kn;k+)if(j!=k)sum=sum+10*aj+ak;printf(%d,sum);return 0;7-6点赞(15分)微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。输入格式:输入在第一行给出一个正整数N(1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“KF1FK”,其中1K10,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论