题都太简单了,ak的那么多,直接贴代码了

1.

谁不及格?

Problem:A

Time Limit:1000ms

Memory Limit:65535K

Description

聪聪的班主任王老师最近有点忙,可是他又是一位非常细心的老师,每次考试成绩都有专门的东西来记录,学期结束的时候给每位学生算了加权之后,他都要“关心关心”成绩不好的学生,并在假期给他们补补功课。什么是成绩不好呢?在王老师眼里,成绩不好当然就是加权成绩不及格咯!如今王老师这么忙,正好看你成天写程序闲着没事儿,于是他想让聪明的你来帮他写个程序,把那些不及格的同学的名单打印给他。

Input

输入包含多组数据,每组输入一个数n(1<=n<=10),然后接下来输入n个同学的信息,每个同学的信息分3行,第一行姓名name(姓名长度不超过20个字母),第二行学号x,长度为10(例:2015215098),第三行学生的平均加权成绩。

Output

每组数据第一行输出一个数k,表示不及格学生的个数,然后接下来输出3*k行不及格学生信息,第一个k行输出不及格学生姓名(按输入顺序),第二个k行输出学生学号(按输入顺序),第三个k行输出学生成绩(按输入顺序)(保留2位小数)。若是没有同学不及格,那么输出“They are Great!!”。

Sample Input

2
zhu dan
2015213678
79.99
wang meng
2015213902
83.78
1
tiancai
2015234930
59.08

Sample Output

They are Great!!
1
tiancai
2015234930
59.08
输出注意一下……
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct stu{
char name[30];
char xh[20];
float ss;
}st[11];

int main()
{
    int n,i,j,s[11],m;
    while (scanf("%d",&n)!=EOF)
    {
        m=0;
        getchar();
        for (i=1;i<=n;i++)
        {
            gets(st[i].name);
            scanf("%s%f",st[i].xh,&st[i].ss);
            getchar();
            if (st[i].ss<60)
                {
                    s[++m]=i;
                }
        }
        if (m==0)
        {
            printf("They are Great!!\n");
            continue;
        }
        printf("%d\n",m);
        for (i=1;i<=m;i++)
        {
            printf("%s\n",st[s[i]].name);
        }
        for (i=1;i<=m;i++)
        {
            printf("%s\n",st[s[i]].xh);
        }
        for (i=1;i<=m;i++)
        {
            printf("%.2f\n",st[s[i]].ss);
        }
    }
    return 0;
}

2

校庆的活动

Problem:B

Time Limit:1000ms

Memory Limit:65536K

Description

在林大60年校庆时要设计1个平面,平面的设计要会几何知识.给出一些整数对,它们表示一些平面上的坐标点,给定一个点,求所有那些点到该点最短距离的点。结构为:第一个整数对为所给定的点,后面的整数对为所有其他的点。

Input

输入有多组,每组第1行是给定的点的坐标x和y,(0 &lt;= x,y &lt;= 100),第2行是n,接下来有n行(1 &lt;= n &lt;= 50),每行2个数,代表其它点的坐标。

Output

输出这n行坐标中离定点距离最近的点的坐标,输出到屏幕上并换行。

Sample Input

9 2
5
1 0
1 1
0 0
1 2
2 1

Sample Output

2 1
这个题好多人没用结构体……倒是能写,结构体的专题怎么能不练习结构体呢
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
using namespace std;
typedef struct lhy{char s[100];char s1[20];float b;} L;
int main()
{
    int i,j,k,p,t;
    float x,y,d=99999999,x1,y1;
    L l[100];
    while(cin>>p>>t)
    {
        
        cin>>k;
        for(i=1;i<=k;i++)
        {
            cin>>x>>y;
            if(d>sqrt((p-x)*(p-x)+(y-t)*(y-t)))
                d=sqrt((p-x)*(p-x)+(y-t)*(y-t)),x1=x,y1=y;
        }
        printf("%.0f %.0f\n",x1,y1);
    }
    return 0;
}



3

第4题

Problem:C

Time Limit:1000ms

Memory Limit:65535K

Description

复数运算
同学们在C语言中已经利用整数、实数和字符类型等标准数据类型编写一些程序了。那你们还记得在中学阶段学习过一种数据——复数吗?C语言中没有把这种数据设定为标准数据,老师也只在FORTRAN语言中见过。现在请你利用C语言定义复数这种类型的数据,并完成复数的加、减运算,提示复数类型的定义用结构体实现。题目也做了简单处理,只考虑结果都还是复数的情况,不必考虑虚部为零了。

Input

输入数据为多组,每组两行,每行两个实数(double),分别代表复数的实部和虚部。

Output

对于每组数据,输出这两个复数的和、差,实部虚部都分别保留两位小数。
提示:1)如果两个复数分别为a+bi和c+di,那么它们的和是:(a+c)+(b+d)i;它们的差是:(a-c)+(b-d)i;
      2)除主函数外,分别编写三个函数,用于求两个复数的和,差、和结果的输出。例如,如果复数类型结构体定义为         CX,则求和函数为 CX cadd(CX x1,CX x2);,求差函数为 CX cminu(CX x1,CX x2);,输出结果函数为        void cprint(CX x);

Sample Input

1.2 2.3
3.2 3.4
3.4 2.2
-7.5 -1.1

Sample Output

4.40+5.70i
-2.00-1.10i
-4.10+1.10i
10.90+3.30i
好像是c语言期末考试的考试题
#include <stdio.h>
#include <stdlib.h>

struct comp
{
    double real;
    double imag;
};

int main()
{
    struct comp data[2];
    struct comp pluss;
    struct comp minuss;
    while(scanf("%lf%lf%lf%lf",&data[0].real,&data[0].imag,&data[1].real,&data[1].imag)!=EOF)
    {
        pluss.real=data[0].real+data[1].real;
        pluss.imag=data[0].imag+data[1].imag;
        if(pluss.imag<0)
            printf("%.2lf%.2lfi\n",pluss.real,pluss.imag);
        else
            printf("%.2lf+%.2lfi\n",pluss.real,pluss.imag);
        minuss.real=data[0].real-data[1].real;
        minuss.imag=data[0].imag-data[1].imag;
        if(minuss.imag<0)
            printf("%.2lf%.2lfi\n",minuss.real,minuss.imag);
        else
            printf("%.2lf+%.2lfi\n",minuss.real,minuss.imag);
    }
    return 0;
}

4

优秀学生

Problem:D

Time Limit:1000ms

Memory Limit:65535K

Description

读入学生的信息(最多不超过100个):学号(不超过八位)、姓名(不超过20个字符)、C语言成绩(用整数表示)。统计优秀学生的信息(成绩在90分以上,包括90分)及个数。(要求用结构体实现)

Input

输入数据有多组,每组为n个学生的信息;

Output

输出数据优秀学生的信息及个数。

Sample Input

5
2015001 
ZhangSan
90
2015002 
LiMing
80
2015003 
WangHong
70
2015004 
ZhangXiao
95
2015005 
WangFang
100
3
2015001 
ZhangSan
60
2015002 
LiMing
80
2015003 
WangHong
85

Sample Output

2015001 ZhangSan 90
2015004 ZhangXiao 95
2015005 WangFang 100
3
0

Hint

按要求做答,否则无分!
comment
 题目难度系数 :3分  难度适中;
 本题目考核知识点:
 1.结构体定义。 
 2.结构体数据的输入和输出。
 3.结构体数组的使用。
这个题是c语言补考的题
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

    struct student
{
    int number;
    char name[20];
    int score;
} student;
int main()
{  struct student stu[100];
   int n,i,sum;
   while(scanf("%d",&n)!=-1)
   {
       sum=0;
       getchar();
       for(i=0;i<n;i++)
       {
scanf("%d%s%d",&stu[i].number,&stu[i].name,&stu[i].score);
           if(n>1)  getchar();
       }
        for(i=0;i<n;i++)
        if(stu[i].score>=90)
        {
            sum++;
printf("%d %s %d\n",stu[i].number,stu[i].name,stu[i].score);
        }
        printf("%d\n",sum);

   }

    return 0;
}

5

两圆的距离

Problem:E

Time Limit:1000ms

Memory Limit:65535K

Description

有很多个圆,圆心的坐标都在X轴上,这些圆都不相交,请问最右边的圆距离y轴有多远?
计算公式为:最右边的圆的圆心到(0,0)点的距离减去这个圆的半径。

Input

输入数据有多组,每组第1行为N代表圆的个数(2&lt;=N&lt;=10),然后有N行数据,每行2个实数x和r,分别代表圆的圆心横坐标和半径(0.0&lt;x,r&lt;50.0,因为圆心的纵坐标都为0,所以不给出纵坐标的值)。
本题用结构体来实现
struct yuan
{  
   double x;//圆心的X轴坐标
   double r;//半径
} data[11];

Output

对于每组数据在一行内输出最右边的圆到Y轴的距离,结果保留2位小数。

Sample Input

3
0 1
2 0.5
4 1

Sample Output

3.00
这个也是补考题
#include <stdio.h>
#include <stdlib.h>
struct yuan
{
    double x;
    double r;
}data[11];
int main()
{
  int n,i,t;
  double max;
  while(scanf("%d",&n)!=-1)
  {
      max=-9999.00;t=0;
      for(i=0;i<n;i++)
      {
          scanf("%lf%lf",&data[i].x,&data[i].r);
          if (max<data[i].x) {max=data[i].x;t=i;}

      }
      printf("%.2lf\n",data[t].x-data[t].r);

      }


    return 0;
}



p.s.应该养成良好的习惯,结构体的定义在main函数外面,每次使用清空内容……

上面的代码都是这次比赛提交的代码