第一题:
一组整数,由小到大排序,有n组排序数,每组8个,排序输出;
例如输入;
2
2 1 3 5 4 6 7 8
11 33 44 22 55 77 66 88
输出
1 2 3 4 5 6 7 8
11 22 33 44 55 66 77 88
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,i=0;
cin>>n;
while(i<n)
{
int b[8]={0};
for(int j=0;j<8;j++)
{ cin>>b[j];}
for(int j=0;j<8;j++)
{
sort(b,b+8);
cout<<b[j];
}
i++;
cout<<""<<endl;
}
return 0;
}
第二题:
海伦公式求面积,先判断是否是三角形,不是输出NaN,是输出面积;
例如:输入
2
1 2 3
4 5 6
输出:
NaN
6
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{
double a,b,c,s,p;
int i=0,n;
cin>>n;
while(i<n)
{
i++;
cin>>a>>b>>c;
if(a+b>c&&a+c>b&&b+c>a)
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<s<<endl;
}
else
cout<<"NaN"<<endl;
}
return 0;
}
第三题:
判断ip地址是否合法,输入格式为a.b.c.d每个均为整数,且在[0.255]之间,合法输出YES,否则输出no;
例如,输入:
2
1.2.3.4
2222.3.4.5
输出:
yes
no
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<math.h>
#include<cstring>
using namespace std;
void judge(int *a)
{ int k=1;
for(int i=0;i<4;i++)
{
if(255<a[i]||a[i]<0)
k=0;
}
if(k==1) cout<<"yes"<<endl;
else if(k==0) cout<<"NO"<<endl;
}
int main()
{
char s[100];
int i=0,n;
cin>>n;
while(i<n)
{
cin>>s;
int a[4]={0},j=0,num=0,l=strlen(s)-1;
while(l>=0)
{
if(s[l]!='.'&&l>=0)
{
a[j]+=(s[l]-'0')*pow(10,num);
num++;
}
if(s[l]=='.')
{
j++;
num=0;
}
l--;
}
i++;
int *p=a;
judge(p);
}
return 0;
}
第四题:
从M开始找到第n个质数;
例如输入: 4 3
输出:5 7 11
#include<iostream>
#include<cstdio>
using namespace std;
int judge(int a)
{
int k=1;
for(int i=2;i<a;i++)
{
if(a%i==0)
k=0;
}
return k;
}
int main()
{
int a,b,sum=0,i=0,j=0;
cin>>a>>b;
for(i=a;j<b;i++)
{
if(judge(i)==1)
{
cout<<i<<" ";j++;
}
}
return 0;
}
第五题:
一年中任意两天差值
例如,输入:
2019 1 1 2019 1 2
2016 1 1 2016 3 1
输出:
2
61
#include<iostream>
#include<cstdio>
using namespace std;
int day[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int day1[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int judge(int a,int b,int c)
{
int sum=c;
if(a%400==0||(a%4==0&&a%100!=0))
{
for(int i=1;i<b;i++)
sum+=day1[i];
}
else
{
for(int i=1;i<b;i++)
sum+=day[i];
}
return sum;
}
int main()
{
int k=0,n;
cin>>n;
while(k<n)
{
int y,m,d,y1,m1,d1;
cin>>y>>m>>d>>y1>>m1>>d1;
cout<<judge(y1,m1,d1)-judge(y,m,d)+1<<endl;
k++;
}
return 0;
}