本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
输入格式:
输入在一行中给出一个整数的百分制成绩。
输出格式:
在一行中输出对应的五分制成绩。
输入样例:
90
输出样例:
A
#include
int main(void)
{
int n,t;
scanf("%d",&n);
t=n/10;
switch(t)
{
case 10 :
case 9 :
{
printf("A");
break;
}
case 8 :
{
printf("B");
break;
}
case 7 :
{
printf("C");
break;
}
case 6 :
{
printf("D");
break;
}
default :
{
printf("E");
break;
}
}
}
给定四种水果,分别是苹果(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时,程序结束。
输入样例1:
3 -1 0 2
输出样例1:
[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
price = 4.10
price = 0.00
#include
int main()
{
int x;
double a[5]={0,3.0,2.5,4.1,10.2};
printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n");
int count=0;
while(1)
{
scanf("%d",&x);
count++;
if(!x)
break;
else if(x>=1&x<=4)
printf("price = %.2lf\n",a[x]);
else
printf("price = 0.00\n");
if(count>4)
break;
}
}
本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
#include
int main()
{
int a[3],temp;
for(int i=0;i<3;i++)
{
if(scanf("%d ",&a[i])){};
}
for(int x=0;x<2;x++)
{
for(int y=0;y<2-x;y++)
{
if(a[y]>a[y+1])
{
temp=a[y+1];
a[y+1]=a[y];
a[y]=temp;
}
}
}
printf("%d->%d->%d",a[0],a[1],a[2]);
return 0;
}
按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。
输入格式:
输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。
输出格式:
在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到整数。
输入样例1:
65 60
输出样例1:
OK
输入样例2:
110 100
输出样例2:
Exceed 10%. Ticket 200
输入样例3:
200 120
输出样例3:
Exceed 67%. License Revoked
#include
int main()
{
double m,n;
scanf("%lf%lf",&m,&n);
if(1.1*n>m)
printf("OK");
else if(m<n*1.5)
printf("Exceed %.0lf%%. Ticket 200\n",(m-n)/n*100);
else
printf("Exceed %.0lf%%. License Revoked\n",(m-n)/n*100);
}
输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。
输入格式:
输入在一行中给出一个以#结束的非空字符串。
输出格式:
在一行中输出转换后的十进制数。题目保证输出在长整型范围内。
输入样例:
±P-xf4±1!#
输出样例:
-3905
#include
#include
int main()
{
int i=0;
char s[21],c,fuhao='+';
while(1)
{
c=getchar();
if(c=='#')
break;
else
{
if((c>='0'&c<='9')||(c>='A'&c<='F')||(c>='a'&c<='f'))
{
if(c>='a'&c<='f')
c=c-32;
s[i++]=c;
}
if(i<=1)
{
if(c=='-')
fuhao=c;
}
}
}
long sum=0;
int count=0;
for(int j=i-1;j>=0;j--)
{
if(s[j]>='A'&s[j]<='F')
sum+=pow(16,count)*(s[j]-55);
else
sum+=pow(16,count)*(s[j]-48);
count++;
}
int f;
if(fuhao=='+')
f=1;
else
f=-1;
printf("%d",f*sum);
}
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:
struct ListNode {
int data;
ListNode *next;
};
函数接口定义:
struct ListNode *readlist();
struct ListNode *deletem( struct ListNode *L, int m );
函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应返回指向单链表头结点的指针。
函数deletem将单链表L中所有存储了m的结点删除。返回指向结果链表头结点的指针。
裁判测试程序样例:
#include
#include
struct ListNode {
int data;
struct ListNode *next;
};
struct ListNode *readlist();
struct ListNode *deletem( struct ListNode *L, int m );
void printlist( struct ListNode *L )
{
struct ListNode *p = L;
while § {
printf("%d “, p->data);
p = p->next;
}
printf(”\n");
}
int main()
{
int m;
struct ListNode *L = readlist();
scanf("%d", &m);
L = deletem(L, m);
printlist(L);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
10 11 10 12 10 -1
10
输出样例:
11 12
作者
张泳
单位
浙江大学城市学院
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
struct ListNode *readlist()
{
struct ListNode *head,*p,*r;
int x;
head=(struct ListNode *)malloc(sizeof(struct ListNode));
head->next =NULL;
r=head;
scanf("%d",&x);
while(x!=-1)
{
p=(struct ListNode *)malloc(sizeof(struct ListNode));
p->data =x;
r->next =p;
r=p;
scanf("%d",&x);
}
r->next =NULL;
return head ;
}
struct ListNode *deletem( struct ListNode *L, int m )
{
struct ListNode *pre,*p;
pre=L;
p=pre->next ;
while(p)
{
if(m==p->data )
{
p=p->next ;
pre->next =p;
continue;
}
else
{
pre=p;
p=p->next ;
}
}
return L->next ;
}