华科834计算机2016年机试题

在这里插入图片描述

分析:这题比较简单,由于题目没有说去掉一个最高和最低,我就都去掉了,要保留一位小数用printf吧

#include<iostream>
#include<algorithm>
using namespace std;


int main(){
	int a[7];
	for(int i=0;i<7;i++)
	scanf("%d",&a[i]);
	sort(a,a+7);
	int maxa=a[6],mina=a[0];
	double sum=0,k=0;
	for(int i=0;i<7;i++)
	if(a[i]!=maxa&&a[i]!=mina){
		sum+=a[i] ;
		k++;
	}
	if(k)
	printf("%.1f",sum/k);
	return 0;
}

在这里插入图片描述
在这里插入图片描述
分析:这里处理三个问题,情况考虑清楚即可

#include<iostream>
#include<string>
using namespace std;

int main(){
	
	string a,b;
	getline(cin,a);
	int k=0;
	while(k<a.size()&&a[k]==' ')//去掉前面的空格
	{
		k++;
	}
	for(int i=k;i<a.size();i++) 
	{
		if('0'<=a[i]&&a[i]<='9'&&((a[i+1]>='a'&&a[i+1]<='z')||(a[i+1]>='A'&&a[i+1]<='Z')))
		{
			b+=a[i];
			b+='_';
		}
	  else	if(((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))&&'0'<=a[i+1]&&a[i+1]<='9')
		{
			b+=a[i];
			b+='_';
		}
	else if(a[i]==' '&&a[i+1]==' '){}
	else {
	b+=a[i];}
		
	}
	cout<<b<<endl;
	return 0;	
}

在这里插入图片描述

在这里插入图片描述
分析:这里的题目描述不太清楚,默认是点分十进制输入

#include<iostream>
#include<string>
using namespace std;

void judge(string str){
	int sum=0,k=1;
	for(int i=0;i<str.size();i++){
		if('0'<=str[i]&&str[i]<='9'){
			sum=sum*10+str[i] -'0';
			if(sum>255)
			{
				printf("ERROR");
				return;
			}
		}
		else if(str[i]='.'&&('0'<=str[i-1]&&str[i-1]<='9')&&('0'<=str[i+1]&&str[i+1]<='9')){
			sum=0;k++;
			if(k>4)
				{
				printf("ERROR");
				return;
			}
		}
		else{
				printf("ERROR");
				return;
		}	
	}
	printf("right")	;
}
int main(){
	string a;
	getline(cin,a);
	judge(a);
	return 0;
}

在这里插入图片描述

发布了63 篇原创文章 · 获赞 6 · 访问量 2007

猜你喜欢

转载自blog.csdn.net/qq_36684096/article/details/105003441
今日推荐