对于任一整数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对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。