PTA浙大版《C语言程序设计(第3版)》题目集部分编程题答案

习题3-1 比较大小 (10分)

#include<stdio.h>
int main()
{
    int a,b,c,t;
    scanf("%d%d%d",&a,&b,&c);
  if(a>b)
  {
      t=a;
      a=b;
      b=t;
  }
    if(a>c)
    {
        t=a;
        a=c;
        c=t;
    }
    if(b>c)
    {
        t=b;
        b=c;
        c=t;
    }
    printf("%d->%d->%d",a,b,c);
}

习题3-2 高速公路超速处罚 (15分)

#include<stdio.h>
int main()
{
    int speed, limit;
    int x;
    scanf("%d%d", &speed, &limit);
    x = ((speed - limit)*100) / limit;
   
    if (speed>limit*1.5)
    {
        printf("Exceed %d%. License Revoked", x);
    }
    else if ( speed < (limit * 1.5))
    
    {

        printf("Exceed %d%. Ticket 200", x);
    }
    
    else
    {
        printf("OK");
    }

    return 0;
}

习题3-3 出租车计价 (15分)

#include<stdio.h>
int main()
{
    int time, e;
    double km;
    double price, price2;
    scanf("%lf%d", &km, &time);
    if (km <= 3)
        price = 10;
    else if (km <= 10)
        price = 10 + (km - 3) * 2;
    else
        price = 24 + (km - 10) * 3;
    if (time < 5)
    {
        price2 = 0;
    }
    else
    {
        e = time / 5;
        price2 = 2 * e;
    }
    printf("%.0lf", price + price2);
}

习题3-4 统计学生成绩 (15分)

#include<stdio.h>

int main()
{
    int n,score,i;
    int A,B,C,D,E;
    A=B=C=D=E=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&score);
        if(score>=90)
            A++;
        else if (score>=80)
            B++;
        else if(score>=70)
            C++;
        else if(score>=60)
            D++;
        else 
            E++;
    }
    printf("%d %d %d %d %d",A,B,C,D,E);
    return 0;
}

习题3-5 三角形判断 (15分)

#include<stdio.h>
#include<math.h>
int main()
{
	float x1,y1,x2,y2,x3,y3;
	scanf("%f%f%f%f%f%f",&x1,&y1,&x2,&y2,&x3,&y3);
	float a,b,c,A,L;
	float p;
	a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
	b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
	c=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
	if(a+b>c&&a+c>b&&b+c>a)
	{
		L=a+b+c;
		 p=L/2.0;
		A=sqrt(p*(p-a)*(p-b)*(p-c));
		printf("L = %.2f, A = %.2f\n",L,A);	 
	}
	else
		printf("Impossible");
	return 0;	
}


  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值