首页 > 技术文章 > 附加题2

zscswd1368 2016-11-23 12:56 原文

1.比较大小:输入三个整数,按从小到大的顺序输出。

#include<stdio.h>
int main()
{
    float a,b,c;
    scanf("%f%f%f",&a,&b,&c);
    if(a<b&&b<c)
    printf("%f%f%f\n",a,b,c);
    else
    if(a<c&&c<b)
    printf("%f%f%f\n",a,c,b);
    else
    if(b<a&&a<c)
    printf("%f%f%f\n",b,a,c);
    else
    if(b<c&&c<a)
    printf("%f%f%f\n",b,c,a);
    else
    if(c<a&&a<b)
    printf("%f%f%f\n",c,a,b);
    else
    printf("%f%f%f\n",c,b,a);
    return 0;
}

 

2.高速公路处罚:按照规定,早奥苏公路上形式的机动车,超出本车道限速的10%则处200元罚款;若超出50%,就要吊销驾证。请编写根据车道限速和车速自动判别对该机动车的处理。

#include<stdio.h>
int main()
{
    double j,k;
    printf("请输入车速"); 
    scanf("%lf",&j);
    printf("请输入限速"); 
    scanf("%lf",&k);
    if(j>1.1*k&&j<=1.5*k)
    printf("罚款200元");
    else
        if(j>1.5*k)
        printf("吊销驾照");
        else
        printf("正常行驶");
    return 0; 
}

 

 

3.出租车计价:起步里程为3公里,起步费用10元;超过起步里程后10公里内,每公里2元;超过10公里以上的部分每公里3元;临时停车,每五分钟2元(不足五分钟不收钱)。编写程序输入行驶里程与等待时间,计算输出乘客应支付的车费

#include<stdio.h>
int main()
{
    double a,b,c,d,f;
    printf("输入公里数");
    scanf("%lf",&a);
    printf("输入等待时间");
    scanf("%lf",&b);
    if(a<=3)
        c=10;
    else
        if(a<=13)
        c=(a-3)*2+10;
        else
        c=(a-3)*3+10;
    if(b>=5)
        d=b/5*2;
    else
        d=0;
    f=c+d;
    printf("%.0lf\n",f);
    return 0;
}

 

 

4.统计学生成绩:输入一个整数n,再输入n个学生的成绩,统计五分之成绩的分布。大于等于90为a,小于90大于等于80为b,小于80大于等于70为c,小于70大于等于60为d,小于60为e。

#include<stdio.h>
int main()
{
    int n,i,a,b,c,d,e;
    double g; 
    printf("输入一个正整数n");
    scanf("%d",&n);
    a=b=c=d=e=0;
    for(i=1;i<=n;i++) 
    {    
        printf("请输入学生成绩") ;
        scanf("%lf",&g);
        if(g>=90)
        a++;
        else
        if(g>=80&&g<90)
        b++;
        else
        if(g>=70&&g<80)
        c++;
        else
        if(g>=60&&g<70)
        d++;
        else
        e++;
    }     
    printf("%d\n",a);
    printf("%d\n",b);
    printf("%d\n",c);
    printf("%d\n",d);
    printf("%d\n",e);
    return 0;
}

 

 

 

5.三角形判断:输入平面上任意三个点坐标(x1,y1)、(x2,y2)(x3,y3)检验它们是否能够成三角形。如果可以输出轴长面积没不行输出“Impossible”

#include <stdio.h>
#include <math.h>
int main()
{
double x1,y1,x2,y2,x3,y3;
double a,b,c;
double l,s,i;
printf("请输入(x1,y1)");
scanf("%lf",&x1);
scanf("%lf",&y1);
printf("请输入(x2,y2)");
scanf("%lf",&x2);
scanf("%lf",&y2);
printf("请输入(x3,y3)");
scanf("%lf",&x3);
scanf("%lf",&y3);


a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));

b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));

c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));

if(a+b>c&&b+c>a&&a+c>b)
{
l=a+b+c;
i=(a+b+c)/2;
s=sqrt(i*(i-a)*(i-b)*(i-c));
printf("%lf\n",l);
printf("%lf\n",s);
}
else
printf("Impossible");
return 0;
}

 

 

作业心得

1复习了分支结构if-else的用法

2逻辑运算的符号和用法

3是我重新记忆起了if中包含多个语句的时候需要用{}把多个语句框起来

4纠正了自己很多的不仔细

 

推荐阅读