题目链接:https://www.patest.cn/contests/gplt
所有一区的题都是用c语言编写的,都通过了,有的可能设计的比较复杂。仅供参考,同时也感谢网上的一些大佬们提供的思路。如果有疑问,每题详解可以点击http://www.cnblogs.com/czlm520/category/1148999.html查看。那是我做每一题完后写的一些注意点和思路。
#include
int main()
{
printf("Hello World!\n");
return 0;
}
#include
#include //无论是否剩余,都要输出剩余数。。。。。加判断输入是否满足要求???
int main()
{
int N,n;
char ch;
scanf("%d %c",&N,&ch);
n=sqrt((N+1)/2);
for(int i=n;i>=-n;i--)
{
for(int j=1;j<=n-abs(i);j++)
printf(" ");
for(int j=1;j<=2*abs(i)-1;j++)
printf("%c",ch);
printf("\n");
if(i==1) //当i减到1时跳到-1
i-=2;
}
// if(N-2*n*n+1 && N) 未剩余,仍要打印剩余数。
printf("%d\n",N-2*n*n+1);
return 0;
}
#include
#include
int main()
{
char ch[1000];
int N[10]={0};
scanf("%s",&ch);
for(int i=0;i
#include
int main()
{
int F;
scanf("%d",&F);
printf("Celsius = %d\n",5*(F-32)/9);
return 0;
}
#include
int main()
{
int N,n;
int cx[1000],sj[1000],ks[1000];
char str[1000][14+1];
scanf("%d",&N);
for(int i=0;i
#include
#include
int main()
{
int n,i;
scanf("%d",&n);
int max_length,max_start;
max_length=0,max_start=0;
for(i=2;i<=sqrt(n)+1;i++)
{
if(n%i==0) //找到第一个被能被整除的数
{
int j,nn,start,length;
nn=n;
start=i;
j=i;
length=0;
while(nn%j==0)
{
nn/=j; //新的被除数
j++; //新的除数
length++; //长度加一
}
if(length>max_length) //找到更长的连续因子
{
max_length=length;
max_start=start;
}
}
}
if(max_length==0) //素数;
{
max_start=n;
max_length=1;
}
printf("%d\n",max_length);
printf("%d",max_start);
for(i=max_start+1;i
#include
#include
int main()
{
char num[100];
int i;
scanf("%s",&num);
if(num[0]=='-')
printf("fu "),i=1;
else
i=0;
for(i;i
#include
int main()
{
int A,B,Sum=0;
scanf("%d %d",&A,&B);
for(int i=1;i<=B-A+1;i++)
{
Sum+=i+A-1;
printf("%5d",i+A-1);
if(!(i%5)) printf("\n");
}
if(((B-A+1)%5)) printf("\n"); //数未排满, 转行
printf("Sum = %d",Sum);
return 0;
}
#include
#include
struct fengshu{
long long fz;
long long fm;
};
struct fengshu sum(struct fengshu fs[],int n)
{
struct fengshu sum;
sum.fz=0,sum.fm=1;
for(int i=0;is.fm) printf("%lld %lld/%lld\n",s.fz/s.fm,s.fz%s.fm,s.fm);
return 0;
}
#include
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
a>b?a>c?b>c?printf("%d->%d->%d",c,b,a):printf("%d->%d->%d",b,c,a):printf("%d->%d->%d",b,a,c):b>c?c>a?printf("%d->%d->%d",a,c,b):printf("%d->%d->%d",c,a,b):printf("%d->%d->%d",a,b,c);
return 0;
}
#include
#include
int main()
{
char strA[105],strB[105];
gets(strA);
gets(strB);
for(int i=0;i
#include
int main()
{
int n,s=1;
scanf("%d",&n);
if(n>0 && n<=10)
for(int i=0;i
#include //段错误???????????
int js(int n)
{
if(n==1||n==0) return 1;
else return n*js(n-1);
}
int main()
{
int n,s=0;
scanf("%d",&n); //忘记加&O.O
for(int i=1;i<=n;i++)s+=js(i);
printf("%d",s);
return 0;
}
#include
int main()
{
printf("This is a simple problem.");
return 0;
}
#include
int main()
{
int N,n;
char C;
scanf("%d %c",&N,&C);
if(N>=3 && N<=21)
{
if(N%2==0) n=N/2; //四舍五入
else n=N/2+1;
for(int j=0;j
#include
int main()
{
int N;
char id[100][20];
scanf("%d",&N);
int i;
for(i=0;i57)
{
er++;
printf("%s\n",id[i]);
goto next;
}
}
sum=(id[i][0]-48)*7+(id[i][1]-48)*9+(id[i][2]-48)*10+(id[i][3]-48)*5+(id[i][4]-48)*8+(id[i][5]-48)*4+(id[i][6]-48)*2+(id[i][7]-48)*1+(id[i][8]-48)*6+(id[i][9]-48)*3+(id[i][10]-48)*7+(id[i][11]-48)*9+(id[i][12]-48)*10+(id[i][13]-48)*5+(id[i][14]-48)*8+(id[i][15]-48)*4+(id[i][16]-48)*2;
//sum=sum/100;
switch((sum%11))
{
case 0:
if(id[i][17]!='1')
{
printf("%s\n",id[i]);
er++;
}
break;
case 1:
if(id[i][17]!='0')
{
printf("%s\n",id[i]);
er++;
}
break;
case 2:
if(id[i][17]!='X')
{
printf("%s\n",id[i]);
er++;
}
break;
case 3:
if(id[i][17]!='9')
{
printf("%s\n",id[i]);
er++;
}
break;
case 4:
if(id[i][17]!='8')
{
printf("%s\n",id[i]);
er++;
}
break;
case 5:
if(id[i][17]!='7')
{
printf("%s\n",id[i]);
er++;
}
break;
case 6:
if(id[i][17]!='6')
{
printf("%s\n",id[i]);
er++;
}
break;
case 7:
if(id[i][17]!='5')
{
printf("%s\n",id[i]);
er++;
}
break;
case 8:
if(id[i][17]!='4')
{
printf("%s\n",id[i]);
er++;
}
break;
case 9:
if(id[i][17]!='3')
{
printf("%s\n",id[i]);
er++;
}
break;
case 10:
if(id[i][17]!='2')
{
printf("%s\n",id[i]);
er++;
}
break;
}
next:;
}
if(er==0)printf("All passed\n");
return 0;
}
#include
int main()
{
char str[51];
int i,num,n;
num=0,i=0;
while(1)
{
scanf("%c",&str[i]);
if(str[i]=='\n')break;
if(str[i]=='2')num++;
i++;
}
n=i;
float er;
if(str[0]=='-')n--,er=1.5;
else er=1;
er*=(float)num/n;
if((str[i-1]-48)%2==0)er=2*er;
printf("%.2f%%\n",er*100);
return 0;
}
#include
int main()
{
char h1,h2,m1,m2;
scanf("%c%c:%c%c",&h1,&h2,&m1,&m2);
if(h1=='0'||h1=='1'&&h2=='1'||h1=='1'&&h2=='2'&&m1=='0'&&m2=='0')
printf("Only %c%c:%c%c. Too early to Dang.",h1,h2,m1,m2);
else
{
int i,n;
n=(h1-48)*10+h2-48;
for(i=0;i
#include
int main(){
int a,b,n,i,j;
scanf("%d %d",&a,&b); //二人酒量
scanf("%d",&n);
i=0,j=0;
while(i<=a&&j<=b)
{
int a1,a2,b1,b2,h;
scanf("%d %d %d %d",&a1,&a2,&b1,&b2);
h=a1+b1;
if(a2==h){
if(b2!=h)i++;
}
else{
if(b2==h)j++;
}
}
if(i>a){
printf("A\n");
printf("%d\n",j);
}
else
{
printf("B\n");
printf("%d\n",i);
}
return 0;
}
#include
int main()
{
int id[100000];
int n;
scanf("%d",&n);
int j;
while(n)
{
int nn,a;
scanf("%d",&nn);
if(nn==1)
{
scanf("%d",&a);
goto next;
}
else
{
for(j=0;j
#include
int main(){
for(int i=0;i<3;i++)
printf("I'm gonna WIN!\n");
return 0;
}
#include
int main(){
int N,js,ou;
scanf("%d",&N);
js=0,ou=0;
while(N){
int a;
scanf("%d",&a);
if(a%2)js++;
else ou++;
N--;
}
printf("%d %d\n",js,ou);
return 0;
}
#include
#include
int main(){
char str[10000];
scanf("%s",str);
int i,n,ng,np,nl,nt;
n=strlen(str);
ng=0,np=0,nl=0,nt=0;
for(i=0;i
#include
int main(){
int d;
scanf("%d",&d);
if(d<=5)printf("%d\n",(d+2));
else printf("%d\n",(d+2)%7);
return 0;
}
#include
#include
int main(){
char str[10000];
gets(str);
int i,j,A,B;
i=0,A=0;
while(str[i]!=' '){
if(str[i]>47&&str[i]<58) //数字
A++;
else A=0;
i++;
}
if(A1000)A=0;
B=0;
for(j=i+1;j57){
B=0;
break;
}
else B=B*10+str[j]-48;
}
if(str[i+1]=='0')B=0;
if(B>1000)B=0;
if(A==0)printf("?");
else printf("%d",A);
printf(" + ");
if(B==0)printf("?");
else printf("%d",B);
printf(" = ");
if(A&&B)printf("%d\n",A+B);
else printf("?\n");
return 0;
}
#include
int main(){
char str[]={"I Love GPLT"};
int i;
i=0;
while(str[i]!='\0')
{
printf("%c\n",str[i]);
i++;
}
return 0;
}
#include
int main(){
char str[12];
int i,j,arr[10]={0},index[12],num;
scanf("%s",&str);
for(i=0;i<11;i++)arr[str[i]-48]++;
printf("int[] arr = new int[]{");
num=0;
int zf[10];
for(i=9;i>=0;i--)
if(arr[i])zf[num]=i,num++;
for(i=0;i
#include
#include
int main(){
int n,i,j,num[10];
scanf("%d",&n);
for(i=0;i
#include
int main(){
int h;
scanf("%d",&h);
printf("%.1f\n",(h-100)*0.9*2);
return 0;
}
#include
int main()
{
struct student{
int ge;
char na[10];
};
struct student st[50];
int n,i,j;
scanf("%d",&n);
for(i=0;ii;j--){
if(st[i].ge!=st[j].ge&&st[j].ge!=2){
printf("%s %s\n",st[i].na,st[j].na);
st[j].ge=2;
goto next;
}
}
next:;
}
return 0;
}
#include
#include
int main()
{
int n,i,h[21][2];
scanf("%d",&n);
for(i=0;i
#include
#include
int main()
{
int n,i;
char c,str[1000000],sout[1000000];
scanf("%d %c",&n,&c);
getchar();
gets(str);
if(strlen(str)>n) //字符串长度大于n
{
for(i=0;i
#include
#include
int judge(int a) //判断年份中不同数的个数
{
int i,j,n,num[4];
n=4;
for(i=0;i<4;i++){
if(a/pow(10,4-i-1)){
num[i]=a/pow(10,4-i-1);
a=a%(int)pow(10,4-i-1);
}
else num[i]=0;
}
for(i=0;i<4;i++){
for(j=i+1;j<4;j++){
if(num[i]==num[j]){
n--;
}
}
}
switch(n){
case -2:return 1;
case 1:return 2;
case 2:return 2;
case 3:return 3;
case 4:return 4;
}
}
int main(){
int nn,y;
scanf("%d %d",&y,&nn);
int old;
old=0;
while(judge(y)!=nn)
{
old++;
y++;
}
printf("%d %04d\n",old,y);
return 0;
}
#include
int main(){
int N,i,bel[1000]={0};
scanf("%d",&N);
for(i=0;i
#include
int main(){
char str[10000][11];
int i,num;
i=0;
while(1){
scanf("%s",str[i]);
if(str[i][0]=='.')break;
i++;
}
num=i;
if(num<2)printf("Momo... No one is for you ...");
else if(num<14)printf("%s is the only one for you...",str[1]);
else printf("%s and %s are inviting you to dinner...",str[1],str[13]);
return 0;
}
#include
int main(){
int a,b;
scanf("%d %d",&a,&b);
printf("%d\n",a*b);
return 0;
}
#include
int main()
{
int fz,fm;
scanf("%d %d",&fz,&fm);
if(fm<0)printf("%d/(%d)=%.2f\n",fz,fm,(float)fz/fm);
else if(fm==0)printf("%d/%d=Error\n",fz,fm);
else printf("%d/%d=%.2f",fz,fm,(float)fz/fm);
return 0;
}
#include
int main()
{
printf("Hello World\n");
printf("Hello New World\n");
return 0;
}
#include
int main()
{
int n,i,j,len;
char str[2000];
scanf("%d",&n);
getchar();
i=0;
while(1)
{
scanf("%c",&str[i]);
if(str[i]=='\n')break;
i++;
}
len=i; //长度
if(len%n) //有余数
{
for(i;i<(len/n+1)*n;i++)
str[i]=' ';
len=len/n;
}
else len=len/n-1;
for(i=0;i=0;j--)
printf("%c",str[j*n+i]);
printf("\n");
}
return 0;
}
#include
int main()
{
double f[10];
char c[10];
int n,i;
scanf("%d",&n);
getchar();
for(i=0;i
#include
int main()
{
int a,i;
i=0;
while(1)
{
scanf("%d",&a);
if(a==250)break;
i++;
}
printf("%d\n",i+1);
return 0;
}
#include
int main()
{
int y,m,d;
scanf("%d-%d-%d",&m,&d,&y);
printf("%d-%02d-%02d\n",y,m,d);
return 0;
}
#include
int main()
{
struct day{
int num;
int time;
};
struct day dy[10];
int N;
scanf("%d",&N);
int d;
for(d=0;d
#include
#include
int main()
{
int k,i,n;
char str[10000][10];
scanf("%d",&k);
i=0;
// getchar();
while(1)
{
scanf("%s",str[i]);
if(strcmp(str[i],"End")==0)break;
i++;
}
n=i;
// for(i=0;i
#include
int main()
{
char str[8];
scanf("%s",str);
printf("Hello %s\n",str);
return 0;
}
#include
#include
int main()
{
int N;
scanf("%d",&N);
int i,x,n;
i=1,n=N,x=1;;
while(n/10)
{
n/=10;
x+=pow(10,i);
i++;
}
if(N==x)
{
printf("1 %d\n",i);
return 0;
}
x+=pow(10,i); //比N多一位的光棍数
while(x%N)
{
printf("%d",x/N);
x=(x%N)*10+1;
i++;
}
printf("%d %d\n",x/N,i+1);
return 0;
}
#include
int main()
{
struct people{
char name[4];
int fx;
int mb;
};
struct people peo[100];
int N,i;
scanf("%d",&N);
for(i=0;i20)||(peo[i].mb<50||peo[i].mb>70))
printf("%s\n",peo[i].name);
}
return 0;
}
#include
int main()
{
int a1,b1,i,j;
int jz1[1000][1000],jz2[1000][1000];
scanf("%d %d",&a1,&b1); //读入行与列
for(i=0;i