2016西工大计算机机试代码参考

(题目来源--西工大计算机微信公众号)

.

#include<stdio.h>
#include<stdlib.h>
typedef struct TIME{
	int m;
	int s;
	int ms;
}T;
int main(){
	int n;
	scanf("%d",&n);
	while(n--){
	T a,b,c,aver;
	int sum;
	scanf("%d%d%d%d%d%d%d%d%d",&a.m,&a.s,&a.ms,&b.m,&b.s,&b.ms,&c.m,&c.s,&c.ms);
	sum=((a.m+b.m+c.m)*60*1000+(a.s+b.s+c.s)*1000+a.ms+b.ms+c.ms)/3;
	aver.m=sum/60000;
	aver.s=(sum%60000)/1000;
	aver.ms=(sum%60000)%1000;

	printf("%d %d %d\n",aver.m,aver.s,aver.ms);
}
	return 0;
}

2.排序问题:给定n组数,每组m个,对每组数进行从小到大排序;

Input:
2 4
3 5 2 8
2 7 9 8

Output:
2 3 5 8
2 7 8 9
2017
2018
2019均出现此题

3.输入行数,再在每行输入一个表达式,得出结果

Input:
3
1+1
2.2/3
1+2*3+2

Output:
2
0.7
9
#include <stdio.h>
#include <string.h>
int main()
{
    int n;
    scanf("%d",&n);
        while(n--)
        {
            double a[100],sum=0;
            char c;
            int i=0;
            scanf("%lf",&a[0]);
            c=getchar();
            while(c!='\n')
            {
                double temp;
                scanf("%lf",&temp);
                switch(c)
                {
                    case '+':a[++i]=temp;break;
                    case '-':a[++i]=-temp;break;
                    case '*':a[i]*=temp;break;
                    case '/':a[i]/=temp;break;
                }
                c=getchar();
            }
            for(int j=0;j<=i;j++)
            {	
                sum=sum+a[j];
            }
            if(sum-int(sum)<=1e-6) printf("%.0f\n",sum);
            else printf("%.1f\n",sum);
        }
    return 0;
}

4.利用海伦公式计算三角形面积

Input:
2
3 4 5
1 1 1
Output:
6
NaN
#include<stdio.h>
#include<math.h>
int main(){
	int n;
	scanf("%d",&n);
	while(n--){
	float a,b,c,area,p;
	scanf("%f %f %f",&a,&b,&c);
	if(a+b<=c||a+c<=b||b+c<=a)
		printf("0.00\n");
	else{
		p=(a+b+c)/2;
		area=sqrt(p*(p-a)*(p-b)*(p-c));
		printf("%.2f",area);
	}
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/lixiaohulife/article/details/89764143