浙大版《C语言程序设计(第3版)》题目集21~30腾讯云开发者社区

对于任一整数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

代码:

#includeintmain(){intn;scanf("%d",&n);if(n>=0){if(n>0)printf("sign(%d)=1\n",n);elseprintf("sign(%d)=0\n",n);}elseprintf("sign(%d)=-1\n",n);}22、练习3-4统计字符本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。

输入为10个字符。最后一个回车表示输入结束,不算在内。

在一行内按照

letter=英文字母个数,blank=空格或回车个数,digit=数字字符个数,other=其他字符个数

的格式输出。

输入样例:

aZ&09Az

输出样例:

letter=4,blank=3,digit=2,other=1

输入在一行中给出21世纪的某个截止年份。

逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalidyear!"。若不存在任何闰年,则输出“None”。

2048

200420082012201620202024202820322036204020442048

2000

Invalidyear!

#includeintmain(){intn;scanf("%d",&n);if(n>=2001&&n<=2100){inttemp=0;inti;for(i=2001;i<=n;i++){if((i%4==0&&i%100!=0)||i%400==0){printf("%d\n",i);temp++;}}if(temp==0)printf("None\n");}elseprintf("Invalidyear!\n");return0;}24、练习3-7成绩转换本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:

输入在一行中给出一个整数的百分制成绩。

在一行中输出对应的五分制成绩。

90

A

#includeintmain(){intn;scanf("%d",&n);if(n>=90)printf("A\n");else{if(n>=80)printf("B\n");else{if(n>=70)printf("C\n");else{if(n>=60)printf("D\n");elseprintf("E\n");}}}}25、练习3-8查询水果价格给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。

首先在屏幕上显示以下菜单:

[1]apple[2]pear[3]orange[4]grape[0]exit

用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。

输入在一行中给出用户连续输入的若干个编号。

首先在屏幕上显示菜单。然后对应用户的每个输入,在一行中按格式“price=价格”输出查询结果,其中价格保留两位小数。当用户连续查询次数超过5次、或主动输入0时,程序结束。

3-102

[1]apple[2]pear[3]orange[4]grape[0]exitprice=4.10price=0.00

1233445678

[1]apple[2]pear[3]orange[4]grape[0]exitprice=3.00price=2.50price=4.10price=4.10price=10.20

#includeintmain(){intn;intarr[1000];inti=0;while(scanf("%d",&arr[i])!=EOF&&arr[i]!=0){i++;}intt=i;printf("[1]apple\n");printf("[2]pear\n");printf("[3]orange\n");printf("[4]grape\n");printf("[0]exit\n");intl=1;for(i=0;i

输入在一行中给出3个整数,其间以空格分隔。

在一行中将3个整数从小到大输出,其间以“->”相连。

428

2->4->8

#includeintmain(){intarr[3];scanf("%d%d%d",&arr[0],&arr[1],&arr[2]);inti;intindex;inttemp;intj;for(i=0;i<2;i++){index=i;temp=arr[i];for(j=i+1;j<3;j++){if(arr[j]<=arr[index])index=j;}arr[i]=arr[index];arr[index]=temp;}printf("%d->%d->%d\n",arr[0],arr[1],arr[2]);return0;}27、习题3-2高速公路超速处罚按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。

输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。

在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceedx%.Ticket200”;若应吊销驾驶证,则输出“Exceedx%.LicenseRevoked”。其中x是超速的百分比,精确到整数。

6560

OK

110100

Exceed10%.Ticket200

200120

Exceed67%.LicenseRevoked

#includeintmain(){intm;//车速intn;//限速scanf("%d%d",&m,&n);intt1=n+n*0.1;intt2=n+n*0.5;//printf("%d%d\n",t1,t2);if(m=t1&&m=0.5)temp=(int)temp1+1;elsetemp=(int)temp1;printf("Exceed%d%%.Ticket200\n",temp);}if(m>=t2){doubletemp1=(m-n)/(double)n*100.0;doubletemp2=temp1-(int)temp1;inttemp;if(temp2>=0.5)temp=(int)temp1+1;elsetemp=(int)temp1;printf("Exceed%d%%.LicenseRevoked\n",temp);}}28、习题3-3出租车计价本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:

在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。

2.62

5.14

14

12.59

34

#includeintmain(){doublek;intfen;scanf("%lf%d",&k,&fen);doublemoney1=fen/5*2.0;doublemoney2=10.0;doublemoney;if(k<3.0)money=money1+money2;else{if(k<10.0)money=money1+money2+(k-3.0)*2.0;if(k>=10.0)money=money1+money2+(10.0-3.0)*2.0+(k-10.0)*3.0;}printf("%.0lf\n",money);return0;}29、习题3-4统计学生成绩本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:

输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。

在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。

THE END
1.部分PTA的入门习题以及题解##7-7比较大小 输入格式: 输入在一行中给出3个整数,其间以空格分隔。 输出格式: 在一行中将3个整数从小到大输出,其间以“->”相连。 输入样例: 4 2 8 1 输出样例: 2->4->8 1 ###法一(swap) 直接从小到大开始排序,找到三个数最小的 https://blog.csdn.net/her_store/article/details/128067498
2.出租车的起步价是5元(3公里)超过3公里而在7公里以内,按每千米1.5出租车的起步价是5元(3公里)超过3公里而在7公里以内,按每千米1.5元计价,7公里以上部分每千米加价1/2.求8公里的路程如何收费? 扫码下载作业帮搜索答疑一搜即得 答案解析 查看更多优质解析 解答一 举报 1.5元加价二分之一是2.25元,5+(7-3)乘1.5+2.25=5+6+2.25=13.25(元)答:“收费13.25元.” 我不确定对https://qb.zuoyebang.com/xfe-question/question/b453ce9f6745a9e3c1f3a7cbb40b0a9d.html
3.计数器常识BCD 码,通过译码形成7段字形码。 当今的电子计数器大都使用单片机。 10、出租车计价器 主要是以计时时间及里程为依据, 计算并显示乘客应付的乘车费用。 首批出租车计价器是在上海黄浦 区滇池路的一科研单位研发成功。 釆用了一种带4K字节FLASH存儲 器的CMOS 8位单片机AT89C51, https://www.meipian.cn/4wvbl89x
4.1000辆“雷锋的士”6月7日8日9日高考送考又是一年高考季,今年6月7日、8日、9日高考期间,重庆市“雷锋的士”志愿服务队将组织1000辆“雷锋的士”(600辆巡游出租车、400辆网络预约出租车)高考直通车,为主城区内需要帮助的考生提供便民送考服务,为奋斗的青春喝彩。 据了解,今年的“爱心送考”活动,“雷锋的士”志愿服务队调用了1000台安全监测达标、物资保障https://www.cqrb.cn/minshengdongxian/2024-05-30/1943725_pc.html