C语言.docx
《C语言.docx》由会员分享,可在线阅读,更多相关《C语言.docx(20页珍藏版)》请在冰豆网上搜索。
C语言
Description
定义一个学生结构体,含学号(一维字符数组)、姓名、成绩(整型)。
从键盘输入n(n<20),再输入n个学生的信息,按学生成绩从小到大顺序输出学生信息。
Input
多组测试数据,每组输入一个n,接着输入n个学生的信息。
Output
按成绩从小到大顺序输出学生信息。
SampleInput
4
1001
Li
76
1002
Zhang
92
1003
Liu
85
1004
Wang
70
SampleOutput
1004Wang70
1001Li76
1003Liu85
1002Zhang92
#include
structstudent
{
charnumber[20];
charname[20];
intscore;
};
intmain()
structstudentstu[22];
intn,i,j;
intt;
charname1[22],number1[22];
while(scanf("%d",&n)!
=EOF)
for(i=1;i<=n;i++)
scanf("%s%s%d",stu[i].number,stu[i].name,&stu[i].score);
for(j=1;j<=n;j++)
for(i=1;i<=n-j;i++)
if(stu[i].score>stu[i+1].score)
t=stu[i].score;
stu[i].score=stu[i+1].score;
stu[i+1].score=t;
strcpy(name1,stu[i].name);
strcpy(stu[i].name,stu[i+1].name);
strcpy(stu[i+1].name,name1);
strcpy(number1,stu[i].number);
strcpy(stu[i].number,stu[i+1].number);
strcpy(stu[i+1].number,number1);
}
printf("%s%s%d\n",stu[i].number,stu[i].name,stu[i].score);
结构体:
求最高分和最低分
TimeLimit:
1SecMemoryLimit:
64MB
Submit:
3212Solved:
2216
定义一个学生结构体,含学号(字符型)、姓名、成绩(整型)。
从键盘输入数字n(n<20),并输入n个学生的信息,输出最高分和最低分同学的信息。
输出最高分和最低分同学的学号、姓名、成绩。
structstudent{
intnum;
charname[10];
intcj;
structstudenta[10];
intn,m,j,k,h,i;
=-1)
for(i=0;iscanf("%d%s%d",&a[i].num,a[i].name,&a[i].cj);m=0;h=0;j=a[0].cj;for(i=0;iif(j{h=i;j=a[i].cj;}for(i=0;i{k=a[0].cj;if(k>a[i].cj){m=i;k=a[i].cj;}}printf("%d%s%d\n",a[h].num,a[h].name,a[h].cj);printf("%d%s%d\n",a[m].num,a[m].name,a[m].cj);}}结构体:计算学生平均分TimeLimit:1SecMemoryLimit:64MBSubmit:4386Solved:2589Description定义一个学生结构体,含学号(字符型)、姓名、2门课程的成绩。从键盘输入3个学生的信息,计算并输出每个学生的平均成绩。Input按学号、姓名、成绩1、成绩2的顺序输入学生信息Output输出每个学生的平均分SampleInput101Xue8790102Lin9892103Liu8983SampleOutputave[0]=88.5ave[1]=95.0ave[2]=86.0#includestructstudent{doublenum;charname[20];ints1,s2;doubleaverage;};intmain(){inti;structstudents;i=0;while(scanf("%lf%s%d%d",&s.num,s.name,&s.s1,&s.s2)!=EOF){s.average=(s.s1+s.s2)/2.0;printf("ave[%d]=%.1lf\n",i,s.average);i++;}return0;}深入浅出学算法004-求多个数的最小公倍数TimeLimit:1SecMemoryLimit:64MBSubmit:1101Solved:306Description求n个整数的最小公约数Input多组测试数据,先输入整数T表示组数然后每行先输入1个整数n,后面输入n个整数k1k2...knOutput求k1k2...kn的最小公倍数SampleInput1312186SampleOutput36HINTSource#includeintmain(){intlcm(intm,intn);intT,n,a[100],i,d;while(scanf("%d",&T)!=EOF){while(T--){scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);d=a[0];for(i=1;id=lcm(d,a[i]);printf("%d\n",d);}}return0;}intlcm(intm,intn){intt,a,b,x,y;if(m>n){t=m;m=n;n=t;}x=m;y=n;while(n>0&&m>0){n=n%m;if(n==0)break;m=m%n;}if(n==0)a=m;elseif(m==0)a=n;b=x/a*y;returnb;}或者~~~~~~~最大公约数#includeintmain(){intn,a,b,c,i;while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d%d",&a,&b);c=a%b;while(c!=0){a=b;b=c;c=a%b;}printf("%d\n",b);}}}求最小公倍数只需设一个原来两数乘积,再除以最大公约数~深入浅出学算法020-排队购票TimeLimit:1SecMemoryLimit:64MBSubmit:1076Solved:678Description一常球赛开始前,售票工作正在进行中。每张球票为50元,现有k(1<=k<=30)人排队购票,其中n人手持50元的钱,剩余m人手持100元的钱,假设开始时售票处没有钱,求出售票处不出现找不开钱的不同排队种数(拿同样钞票面值的人换位置视为同一种排队)Input多组测试数据,先输入整数T表示组数,然后每组输入2个整数n和mOutput对于每组测试数据输出1行,值为题目描述中的排队种数SampleInput21211SampleOutput01HINTSource#include#include#includeusingnamespacestd;constintN=30+5;intdp[N][N];intT;intn,m;intmain(){scanf("%d",&T);while(T--){memset(dp,0,sizeof(dp));intflag=0;scanf("%d%d",&n,&m);if(nfor(inti=0;i<=n;i++){for(intj=0;j<=max(i,m);j++){if(i==0)dp[i][j]=0;elseif(j==0&&i!=0)dp[i][j]=1;else{dp[i][j]=dp[i-1][j];if(i>j-1)dp[i][j]+=dp[i][j-1];}}}/*for(inti=0;i<=n;i++){for(intj=0;j<=m;j++){printf("dp[%d][%d]=%d\n",i,j,dp[i][j]);}}*/printf("%d\n",dp[n][m]);}return0;}数组中删数多组测试,每组第一行输入1个整数n(n<20),然后是n个整数第二行输入1个整数m删除在第一行的n个整数中的数字m(多个的话都要删除),然后按照顺序输出剩下的数,5123433124#includeintmain(){intt,n,m,i,j,a[100];while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);t=0;for(i=0;i{if(a[i]!=m){t++;if(t==1)printf("%d",a[i]);elseprintf("%d",a[i]);}}printf("\n");}return0;}数组中插入一个数31253112352#includeintmain(){intn,m,k,a[100],i,t,j,p;while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);scanf("%d",&k);for(i=0;i<=n;i++){if(m<=a[i]){for(j=n;j>i;j--)a[j]=a[j-1];break;}}a[j]=m;for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
scanf("%d%s%d",&a[i].num,a[i].name,&a[i].cj);
m=0;h=0;j=a[0].cj;
for(i=0;iif(j{h=i;j=a[i].cj;}for(i=0;i{k=a[0].cj;if(k>a[i].cj){m=i;k=a[i].cj;}}printf("%d%s%d\n",a[h].num,a[h].name,a[h].cj);printf("%d%s%d\n",a[m].num,a[m].name,a[m].cj);}}结构体:计算学生平均分TimeLimit:1SecMemoryLimit:64MBSubmit:4386Solved:2589Description定义一个学生结构体,含学号(字符型)、姓名、2门课程的成绩。从键盘输入3个学生的信息,计算并输出每个学生的平均成绩。Input按学号、姓名、成绩1、成绩2的顺序输入学生信息Output输出每个学生的平均分SampleInput101Xue8790102Lin9892103Liu8983SampleOutputave[0]=88.5ave[1]=95.0ave[2]=86.0#includestructstudent{doublenum;charname[20];ints1,s2;doubleaverage;};intmain(){inti;structstudents;i=0;while(scanf("%lf%s%d%d",&s.num,s.name,&s.s1,&s.s2)!=EOF){s.average=(s.s1+s.s2)/2.0;printf("ave[%d]=%.1lf\n",i,s.average);i++;}return0;}深入浅出学算法004-求多个数的最小公倍数TimeLimit:1SecMemoryLimit:64MBSubmit:1101Solved:306Description求n个整数的最小公约数Input多组测试数据,先输入整数T表示组数然后每行先输入1个整数n,后面输入n个整数k1k2...knOutput求k1k2...kn的最小公倍数SampleInput1312186SampleOutput36HINTSource#includeintmain(){intlcm(intm,intn);intT,n,a[100],i,d;while(scanf("%d",&T)!=EOF){while(T--){scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);d=a[0];for(i=1;id=lcm(d,a[i]);printf("%d\n",d);}}return0;}intlcm(intm,intn){intt,a,b,x,y;if(m>n){t=m;m=n;n=t;}x=m;y=n;while(n>0&&m>0){n=n%m;if(n==0)break;m=m%n;}if(n==0)a=m;elseif(m==0)a=n;b=x/a*y;returnb;}或者~~~~~~~最大公约数#includeintmain(){intn,a,b,c,i;while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d%d",&a,&b);c=a%b;while(c!=0){a=b;b=c;c=a%b;}printf("%d\n",b);}}}求最小公倍数只需设一个原来两数乘积,再除以最大公约数~深入浅出学算法020-排队购票TimeLimit:1SecMemoryLimit:64MBSubmit:1076Solved:678Description一常球赛开始前,售票工作正在进行中。每张球票为50元,现有k(1<=k<=30)人排队购票,其中n人手持50元的钱,剩余m人手持100元的钱,假设开始时售票处没有钱,求出售票处不出现找不开钱的不同排队种数(拿同样钞票面值的人换位置视为同一种排队)Input多组测试数据,先输入整数T表示组数,然后每组输入2个整数n和mOutput对于每组测试数据输出1行,值为题目描述中的排队种数SampleInput21211SampleOutput01HINTSource#include#include#includeusingnamespacestd;constintN=30+5;intdp[N][N];intT;intn,m;intmain(){scanf("%d",&T);while(T--){memset(dp,0,sizeof(dp));intflag=0;scanf("%d%d",&n,&m);if(nfor(inti=0;i<=n;i++){for(intj=0;j<=max(i,m);j++){if(i==0)dp[i][j]=0;elseif(j==0&&i!=0)dp[i][j]=1;else{dp[i][j]=dp[i-1][j];if(i>j-1)dp[i][j]+=dp[i][j-1];}}}/*for(inti=0;i<=n;i++){for(intj=0;j<=m;j++){printf("dp[%d][%d]=%d\n",i,j,dp[i][j]);}}*/printf("%d\n",dp[n][m]);}return0;}数组中删数多组测试,每组第一行输入1个整数n(n<20),然后是n个整数第二行输入1个整数m删除在第一行的n个整数中的数字m(多个的话都要删除),然后按照顺序输出剩下的数,5123433124#includeintmain(){intt,n,m,i,j,a[100];while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);t=0;for(i=0;i{if(a[i]!=m){t++;if(t==1)printf("%d",a[i]);elseprintf("%d",a[i]);}}printf("\n");}return0;}数组中插入一个数31253112352#includeintmain(){intn,m,k,a[100],i,t,j,p;while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);scanf("%d",&k);for(i=0;i<=n;i++){if(m<=a[i]){for(j=n;j>i;j--)a[j]=a[j-1];break;}}a[j]=m;for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
if(j{h=i;j=a[i].cj;}for(i=0;i{k=a[0].cj;if(k>a[i].cj){m=i;k=a[i].cj;}}printf("%d%s%d\n",a[h].num,a[h].name,a[h].cj);printf("%d%s%d\n",a[m].num,a[m].name,a[m].cj);}}结构体:计算学生平均分TimeLimit:1SecMemoryLimit:64MBSubmit:4386Solved:2589Description定义一个学生结构体,含学号(字符型)、姓名、2门课程的成绩。从键盘输入3个学生的信息,计算并输出每个学生的平均成绩。Input按学号、姓名、成绩1、成绩2的顺序输入学生信息Output输出每个学生的平均分SampleInput101Xue8790102Lin9892103Liu8983SampleOutputave[0]=88.5ave[1]=95.0ave[2]=86.0#includestructstudent{doublenum;charname[20];ints1,s2;doubleaverage;};intmain(){inti;structstudents;i=0;while(scanf("%lf%s%d%d",&s.num,s.name,&s.s1,&s.s2)!=EOF){s.average=(s.s1+s.s2)/2.0;printf("ave[%d]=%.1lf\n",i,s.average);i++;}return0;}深入浅出学算法004-求多个数的最小公倍数TimeLimit:1SecMemoryLimit:64MBSubmit:1101Solved:306Description求n个整数的最小公约数Input多组测试数据,先输入整数T表示组数然后每行先输入1个整数n,后面输入n个整数k1k2...knOutput求k1k2...kn的最小公倍数SampleInput1312186SampleOutput36HINTSource#includeintmain(){intlcm(intm,intn);intT,n,a[100],i,d;while(scanf("%d",&T)!=EOF){while(T--){scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);d=a[0];for(i=1;id=lcm(d,a[i]);printf("%d\n",d);}}return0;}intlcm(intm,intn){intt,a,b,x,y;if(m>n){t=m;m=n;n=t;}x=m;y=n;while(n>0&&m>0){n=n%m;if(n==0)break;m=m%n;}if(n==0)a=m;elseif(m==0)a=n;b=x/a*y;returnb;}或者~~~~~~~最大公约数#includeintmain(){intn,a,b,c,i;while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d%d",&a,&b);c=a%b;while(c!=0){a=b;b=c;c=a%b;}printf("%d\n",b);}}}求最小公倍数只需设一个原来两数乘积,再除以最大公约数~深入浅出学算法020-排队购票TimeLimit:1SecMemoryLimit:64MBSubmit:1076Solved:678Description一常球赛开始前,售票工作正在进行中。每张球票为50元,现有k(1<=k<=30)人排队购票,其中n人手持50元的钱,剩余m人手持100元的钱,假设开始时售票处没有钱,求出售票处不出现找不开钱的不同排队种数(拿同样钞票面值的人换位置视为同一种排队)Input多组测试数据,先输入整数T表示组数,然后每组输入2个整数n和mOutput对于每组测试数据输出1行,值为题目描述中的排队种数SampleInput21211SampleOutput01HINTSource#include#include#includeusingnamespacestd;constintN=30+5;intdp[N][N];intT;intn,m;intmain(){scanf("%d",&T);while(T--){memset(dp,0,sizeof(dp));intflag=0;scanf("%d%d",&n,&m);if(nfor(inti=0;i<=n;i++){for(intj=0;j<=max(i,m);j++){if(i==0)dp[i][j]=0;elseif(j==0&&i!=0)dp[i][j]=1;else{dp[i][j]=dp[i-1][j];if(i>j-1)dp[i][j]+=dp[i][j-1];}}}/*for(inti=0;i<=n;i++){for(intj=0;j<=m;j++){printf("dp[%d][%d]=%d\n",i,j,dp[i][j]);}}*/printf("%d\n",dp[n][m]);}return0;}数组中删数多组测试,每组第一行输入1个整数n(n<20),然后是n个整数第二行输入1个整数m删除在第一行的n个整数中的数字m(多个的话都要删除),然后按照顺序输出剩下的数,5123433124#includeintmain(){intt,n,m,i,j,a[100];while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);t=0;for(i=0;i{if(a[i]!=m){t++;if(t==1)printf("%d",a[i]);elseprintf("%d",a[i]);}}printf("\n");}return0;}数组中插入一个数31253112352#includeintmain(){intn,m,k,a[100],i,t,j,p;while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);scanf("%d",&k);for(i=0;i<=n;i++){if(m<=a[i]){for(j=n;j>i;j--)a[j]=a[j-1];break;}}a[j]=m;for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
h=i;
j=a[i].cj;
for(i=0;i{k=a[0].cj;if(k>a[i].cj){m=i;k=a[i].cj;}}printf("%d%s%d\n",a[h].num,a[h].name,a[h].cj);printf("%d%s%d\n",a[m].num,a[m].name,a[m].cj);}}结构体:计算学生平均分TimeLimit:1SecMemoryLimit:64MBSubmit:4386Solved:2589Description定义一个学生结构体,含学号(字符型)、姓名、2门课程的成绩。从键盘输入3个学生的信息,计算并输出每个学生的平均成绩。Input按学号、姓名、成绩1、成绩2的顺序输入学生信息Output输出每个学生的平均分SampleInput101Xue8790102Lin9892103Liu8983SampleOutputave[0]=88.5ave[1]=95.0ave[2]=86.0#includestructstudent{doublenum;charname[20];ints1,s2;doubleaverage;};intmain(){inti;structstudents;i=0;while(scanf("%lf%s%d%d",&s.num,s.name,&s.s1,&s.s2)!=EOF){s.average=(s.s1+s.s2)/2.0;printf("ave[%d]=%.1lf\n",i,s.average);i++;}return0;}深入浅出学算法004-求多个数的最小公倍数TimeLimit:1SecMemoryLimit:64MBSubmit:1101Solved:306Description求n个整数的最小公约数Input多组测试数据,先输入整数T表示组数然后每行先输入1个整数n,后面输入n个整数k1k2...knOutput求k1k2...kn的最小公倍数SampleInput1312186SampleOutput36HINTSource#includeintmain(){intlcm(intm,intn);intT,n,a[100],i,d;while(scanf("%d",&T)!=EOF){while(T--){scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);d=a[0];for(i=1;id=lcm(d,a[i]);printf("%d\n",d);}}return0;}intlcm(intm,intn){intt,a,b,x,y;if(m>n){t=m;m=n;n=t;}x=m;y=n;while(n>0&&m>0){n=n%m;if(n==0)break;m=m%n;}if(n==0)a=m;elseif(m==0)a=n;b=x/a*y;returnb;}或者~~~~~~~最大公约数#includeintmain(){intn,a,b,c,i;while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d%d",&a,&b);c=a%b;while(c!=0){a=b;b=c;c=a%b;}printf("%d\n",b);}}}求最小公倍数只需设一个原来两数乘积,再除以最大公约数~深入浅出学算法020-排队购票TimeLimit:1SecMemoryLimit:64MBSubmit:1076Solved:678Description一常球赛开始前,售票工作正在进行中。每张球票为50元,现有k(1<=k<=30)人排队购票,其中n人手持50元的钱,剩余m人手持100元的钱,假设开始时售票处没有钱,求出售票处不出现找不开钱的不同排队种数(拿同样钞票面值的人换位置视为同一种排队)Input多组测试数据,先输入整数T表示组数,然后每组输入2个整数n和mOutput对于每组测试数据输出1行,值为题目描述中的排队种数SampleInput21211SampleOutput01HINTSource#include#include#includeusingnamespacestd;constintN=30+5;intdp[N][N];intT;intn,m;intmain(){scanf("%d",&T);while(T--){memset(dp,0,sizeof(dp));intflag=0;scanf("%d%d",&n,&m);if(nfor(inti=0;i<=n;i++){for(intj=0;j<=max(i,m);j++){if(i==0)dp[i][j]=0;elseif(j==0&&i!=0)dp[i][j]=1;else{dp[i][j]=dp[i-1][j];if(i>j-1)dp[i][j]+=dp[i][j-1];}}}/*for(inti=0;i<=n;i++){for(intj=0;j<=m;j++){printf("dp[%d][%d]=%d\n",i,j,dp[i][j]);}}*/printf("%d\n",dp[n][m]);}return0;}数组中删数多组测试,每组第一行输入1个整数n(n<20),然后是n个整数第二行输入1个整数m删除在第一行的n个整数中的数字m(多个的话都要删除),然后按照顺序输出剩下的数,5123433124#includeintmain(){intt,n,m,i,j,a[100];while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);t=0;for(i=0;i{if(a[i]!=m){t++;if(t==1)printf("%d",a[i]);elseprintf("%d",a[i]);}}printf("\n");}return0;}数组中插入一个数31253112352#includeintmain(){intn,m,k,a[100],i,t,j,p;while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);scanf("%d",&k);for(i=0;i<=n;i++){if(m<=a[i]){for(j=n;j>i;j--)a[j]=a[j-1];break;}}a[j]=m;for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
{k=a[0].cj;
if(k>a[i].cj)
m=i;
k=a[i].cj;
}}
printf("%d%s%d\n",a[h].num,a[h].name,a[h].cj);
printf("%d%s%d\n",a[m].num,a[m].name,a[m].cj);
计算学生平均分
4386Solved:
2589
定义一个学生结构体,含学号(字符型)、姓名、2门课程的成绩。
从键盘输入3个学生的信息,计算并输出每个学生的平均成绩。
按学号、姓名、成绩1、成绩2的顺序输入学生信息
输出每个学生的平均分
101
Xue
87
90
102
Lin
98
103
89
83
ave[0]=88.5
ave[1]=95.0
ave[2]=86.0
doublenum;
ints1,s2;
doubleaverage;
{inti;
structstudents;
i=0;
while(scanf("%lf%s%d%d",&s.num,s.name,&s.s1,&s.s2)!
s.average=(s.s1+s.s2)/2.0;
printf("ave[%d]=%.1lf\n",i,s.average);
i++;
return0;
深入浅出学算法004-求多个数的最小公倍数
1101Solved:
306
求n个整数的最小公约数
多组测试数据,先输入整数T表示组数然后每行先输入1个整数n,后面输入n个整数k1k2...kn
求k1k2...kn的最小公倍数
1
312186
36
HINT
Source
intlcm(intm,intn);
intT,n,a[100],i,d;
while(scanf("%d",&T)!
while(T--)
scanf("%d",&n);
for(i=0;iscanf("%d",&a[i]);d=a[0];for(i=1;id=lcm(d,a[i]);printf("%d\n",d);}}return0;}intlcm(intm,intn){intt,a,b,x,y;if(m>n){t=m;m=n;n=t;}x=m;y=n;while(n>0&&m>0){n=n%m;if(n==0)break;m=m%n;}if(n==0)a=m;elseif(m==0)a=n;b=x/a*y;returnb;}或者~~~~~~~最大公约数#includeintmain(){intn,a,b,c,i;while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d%d",&a,&b);c=a%b;while(c!=0){a=b;b=c;c=a%b;}printf("%d\n",b);}}}求最小公倍数只需设一个原来两数乘积,再除以最大公约数~深入浅出学算法020-排队购票TimeLimit:1SecMemoryLimit:64MBSubmit:1076Solved:678Description一常球赛开始前,售票工作正在进行中。每张球票为50元,现有k(1<=k<=30)人排队购票,其中n人手持50元的钱,剩余m人手持100元的钱,假设开始时售票处没有钱,求出售票处不出现找不开钱的不同排队种数(拿同样钞票面值的人换位置视为同一种排队)Input多组测试数据,先输入整数T表示组数,然后每组输入2个整数n和mOutput对于每组测试数据输出1行,值为题目描述中的排队种数SampleInput21211SampleOutput01HINTSource#include#include#includeusingnamespacestd;constintN=30+5;intdp[N][N];intT;intn,m;intmain(){scanf("%d",&T);while(T--){memset(dp,0,sizeof(dp));intflag=0;scanf("%d%d",&n,&m);if(nfor(inti=0;i<=n;i++){for(intj=0;j<=max(i,m);j++){if(i==0)dp[i][j]=0;elseif(j==0&&i!=0)dp[i][j]=1;else{dp[i][j]=dp[i-1][j];if(i>j-1)dp[i][j]+=dp[i][j-1];}}}/*for(inti=0;i<=n;i++){for(intj=0;j<=m;j++){printf("dp[%d][%d]=%d\n",i,j,dp[i][j]);}}*/printf("%d\n",dp[n][m]);}return0;}数组中删数多组测试,每组第一行输入1个整数n(n<20),然后是n个整数第二行输入1个整数m删除在第一行的n个整数中的数字m(多个的话都要删除),然后按照顺序输出剩下的数,5123433124#includeintmain(){intt,n,m,i,j,a[100];while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);t=0;for(i=0;i{if(a[i]!=m){t++;if(t==1)printf("%d",a[i]);elseprintf("%d",a[i]);}}printf("\n");}return0;}数组中插入一个数31253112352#includeintmain(){intn,m,k,a[100],i,t,j,p;while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);scanf("%d",&k);for(i=0;i<=n;i++){if(m<=a[i]){for(j=n;j>i;j--)a[j]=a[j-1];break;}}a[j]=m;for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
scanf("%d",&a[i]);
d=a[0];
for(i=1;id=lcm(d,a[i]);printf("%d\n",d);}}return0;}intlcm(intm,intn){intt,a,b,x,y;if(m>n){t=m;m=n;n=t;}x=m;y=n;while(n>0&&m>0){n=n%m;if(n==0)break;m=m%n;}if(n==0)a=m;elseif(m==0)a=n;b=x/a*y;returnb;}或者~~~~~~~最大公约数#includeintmain(){intn,a,b,c,i;while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d%d",&a,&b);c=a%b;while(c!=0){a=b;b=c;c=a%b;}printf("%d\n",b);}}}求最小公倍数只需设一个原来两数乘积,再除以最大公约数~深入浅出学算法020-排队购票TimeLimit:1SecMemoryLimit:64MBSubmit:1076Solved:678Description一常球赛开始前,售票工作正在进行中。每张球票为50元,现有k(1<=k<=30)人排队购票,其中n人手持50元的钱,剩余m人手持100元的钱,假设开始时售票处没有钱,求出售票处不出现找不开钱的不同排队种数(拿同样钞票面值的人换位置视为同一种排队)Input多组测试数据,先输入整数T表示组数,然后每组输入2个整数n和mOutput对于每组测试数据输出1行,值为题目描述中的排队种数SampleInput21211SampleOutput01HINTSource#include#include#includeusingnamespacestd;constintN=30+5;intdp[N][N];intT;intn,m;intmain(){scanf("%d",&T);while(T--){memset(dp,0,sizeof(dp));intflag=0;scanf("%d%d",&n,&m);if(nfor(inti=0;i<=n;i++){for(intj=0;j<=max(i,m);j++){if(i==0)dp[i][j]=0;elseif(j==0&&i!=0)dp[i][j]=1;else{dp[i][j]=dp[i-1][j];if(i>j-1)dp[i][j]+=dp[i][j-1];}}}/*for(inti=0;i<=n;i++){for(intj=0;j<=m;j++){printf("dp[%d][%d]=%d\n",i,j,dp[i][j]);}}*/printf("%d\n",dp[n][m]);}return0;}数组中删数多组测试,每组第一行输入1个整数n(n<20),然后是n个整数第二行输入1个整数m删除在第一行的n个整数中的数字m(多个的话都要删除),然后按照顺序输出剩下的数,5123433124#includeintmain(){intt,n,m,i,j,a[100];while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);t=0;for(i=0;i{if(a[i]!=m){t++;if(t==1)printf("%d",a[i]);elseprintf("%d",a[i]);}}printf("\n");}return0;}数组中插入一个数31253112352#includeintmain(){intn,m,k,a[100],i,t,j,p;while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);scanf("%d",&k);for(i=0;i<=n;i++){if(m<=a[i]){for(j=n;j>i;j--)a[j]=a[j-1];break;}}a[j]=m;for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
d=lcm(d,a[i]);
printf("%d\n",d);
intlcm(intm,intn)
intt,a,b,x,y;
if(m>n)
t=m;
m=n;
n=t;
x=m;y=n;
while(n>0&&m>0)
n=n%m;
if(n==0)break;
m=m%n;
if(n==0)a=m;
elseif(m==0)a=n;
b=x/a*y;
returnb;
或者~~~~~~~
最大公约数
intn,a,b,c,i;
for(i=0;i{scanf("%d%d",&a,&b);c=a%b;while(c!=0){a=b;b=c;c=a%b;}printf("%d\n",b);}}}求最小公倍数只需设一个原来两数乘积,再除以最大公约数~深入浅出学算法020-排队购票TimeLimit:1SecMemoryLimit:64MBSubmit:1076Solved:678Description一常球赛开始前,售票工作正在进行中。每张球票为50元,现有k(1<=k<=30)人排队购票,其中n人手持50元的钱,剩余m人手持100元的钱,假设开始时售票处没有钱,求出售票处不出现找不开钱的不同排队种数(拿同样钞票面值的人换位置视为同一种排队)Input多组测试数据,先输入整数T表示组数,然后每组输入2个整数n和mOutput对于每组测试数据输出1行,值为题目描述中的排队种数SampleInput21211SampleOutput01HINTSource#include#include#includeusingnamespacestd;constintN=30+5;intdp[N][N];intT;intn,m;intmain(){scanf("%d",&T);while(T--){memset(dp,0,sizeof(dp));intflag=0;scanf("%d%d",&n,&m);if(nfor(inti=0;i<=n;i++){for(intj=0;j<=max(i,m);j++){if(i==0)dp[i][j]=0;elseif(j==0&&i!=0)dp[i][j]=1;else{dp[i][j]=dp[i-1][j];if(i>j-1)dp[i][j]+=dp[i][j-1];}}}/*for(inti=0;i<=n;i++){for(intj=0;j<=m;j++){printf("dp[%d][%d]=%d\n",i,j,dp[i][j]);}}*/printf("%d\n",dp[n][m]);}return0;}数组中删数多组测试,每组第一行输入1个整数n(n<20),然后是n个整数第二行输入1个整数m删除在第一行的n个整数中的数字m(多个的话都要删除),然后按照顺序输出剩下的数,5123433124#includeintmain(){intt,n,m,i,j,a[100];while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);t=0;for(i=0;i{if(a[i]!=m){t++;if(t==1)printf("%d",a[i]);elseprintf("%d",a[i]);}}printf("\n");}return0;}数组中插入一个数31253112352#includeintmain(){intn,m,k,a[100],i,t,j,p;while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);scanf("%d",&k);for(i=0;i<=n;i++){if(m<=a[i]){for(j=n;j>i;j--)a[j]=a[j-1];break;}}a[j]=m;for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
scanf("%d%d",&a,&b);
c=a%b;
while(c!
=0)
{a=b;b=c;c=a%b;}
printf("%d\n",b);
求最小公倍数只需设一个原来两数乘积,再除以最大公约数~
深入浅出学算法020-排队购票
1076Solved:
678
一常球赛开始前,售票工作正在进行中。
每张球票为50元,现有k(1<=k<=30)人排队购票,其中n人手持50元的钱,剩余m人手持100元的钱,假设开始时售票处没有钱,求出售票处不出现找不开钱的不同排队种数(拿同样钞票面值的人换位置视为同一种排队)
多组测试数据,先输入整数T表示组数,然后每组输入2个整数n和m
对于每组测试数据输出1行,值为题目描述中的排队种数
2
12
11
0
usingnamespacestd;
constintN=30+5;
intdp[N][N];
intT;
intn,m;
intmain(){
scanf("%d",&T);
while(T--){
memset(dp,0,sizeof(dp));
intflag=0;
scanf("%d%d",&n,&m);
if(nfor(inti=0;i<=n;i++){for(intj=0;j<=max(i,m);j++){if(i==0)dp[i][j]=0;elseif(j==0&&i!=0)dp[i][j]=1;else{dp[i][j]=dp[i-1][j];if(i>j-1)dp[i][j]+=dp[i][j-1];}}}/*for(inti=0;i<=n;i++){for(intj=0;j<=m;j++){printf("dp[%d][%d]=%d\n",i,j,dp[i][j]);}}*/printf("%d\n",dp[n][m]);}return0;}数组中删数多组测试,每组第一行输入1个整数n(n<20),然后是n个整数第二行输入1个整数m删除在第一行的n个整数中的数字m(多个的话都要删除),然后按照顺序输出剩下的数,5123433124#includeintmain(){intt,n,m,i,j,a[100];while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);t=0;for(i=0;i{if(a[i]!=m){t++;if(t==1)printf("%d",a[i]);elseprintf("%d",a[i]);}}printf("\n");}return0;}数组中插入一个数31253112352#includeintmain(){intn,m,k,a[100],i,t,j,p;while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);scanf("%d",&k);for(i=0;i<=n;i++){if(m<=a[i]){for(j=n;j>i;j--)a[j]=a[j-1];break;}}a[j]=m;for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
for(inti=0;i<=n;i++){
for(intj=0;j<=max(i,m);j++){
if(i==0)dp[i][j]=0;
elseif(j==0&&i!
=0)dp[i][j]=1;
else{
dp[i][j]=dp[i-1][j];
if(i>j-1)dp[i][j]+=dp[i][j-1];
/*
for(intj=0;j<=m;j++){
printf("dp[%d][%d]=%d\n",i,j,dp[i][j]);
*/
printf("%d\n",dp[n][m]);
数组中删数
多组测试,每组第一行输入1个整数n(n<20),然后是n个整数第二行输入1个整数m
删除在第一行的n个整数中的数字m(多个的话都要删除),然后按照顺序输出剩下的数,
512343
3
124
intt,n,m,i,j,a[100];
for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);t=0;for(i=0;i{if(a[i]!=m){t++;if(t==1)printf("%d",a[i]);elseprintf("%d",a[i]);}}printf("\n");}return0;}数组中插入一个数31253112352#includeintmain(){intn,m,k,a[100],i,t,j,p;while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);scanf("%d",&k);for(i=0;i<=n;i++){if(m<=a[i]){for(j=n;j>i;j--)a[j]=a[j-1];break;}}a[j]=m;for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
scanf("%d",&m);
t=0;
for(i=0;i{if(a[i]!=m){t++;if(t==1)printf("%d",a[i]);elseprintf("%d",a[i]);}}printf("\n");}return0;}数组中插入一个数31253112352#includeintmain(){intn,m,k,a[100],i,t,j,p;while(scanf("%d",&n)!=EOF){for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);scanf("%d",&k);for(i=0;i<=n;i++){if(m<=a[i]){for(j=n;j>i;j--)a[j]=a[j-1];break;}}a[j]=m;for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
if(a[i]!
=m)
{t++;
if(t==1)
printf("%d",a[i]);
else
printf("\n");
数组中插入一个数
3125
31
1235
intn,m,k,a[100],i,t,j,p;
for(i=0;iscanf("%d",&a[i]);scanf("%d",&m);scanf("%d",&k);for(i=0;i<=n;i++){if(m<=a[i]){for(j=n;j>i;j--)a[j]=a[j-1];break;}}a[j]=m;for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
scanf("%d",&k);
for(i=0;i<=n;i++)
if(m<=a[i])
for(j=n;j>i;j--)
a[j]=a[j-1];
break;
a[j]=m;
for(p=0;pprintf("%d",a[p]);printf("%d",a[n]);printf("\n");printf("%d",a[k]);printf("\n");}return0;}字符倒序输出#include#includechara[100];intmain(){inti,n;while(gets(a)){n=strlen(a);n--;if(n<=0)return0;for(;n>=0;n--){printf("%c",a[n]);}printf("\n");}return0;}数字大小排序#includeintmain(){intn,m,j,i,t,k,a[100];while(scanf("%d",&n)!=EOF){for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
printf("%d",a[p]);
printf("%d",a[n]);
printf("%d",a[k]);
printf("\n");}
字符倒序输出
chara[100];
inti,n;
while(gets(a))
n=strlen(a);
n--;
if(n<=0)
for(;n>=0;n--)
printf("%c",a[n]);
数字大小排序
intn,m,j,i,t,k,a[100];
for(i=0;i{scanf("%d",&m);for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
for(j=0;jscanf("%d",&a[j]);for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
scanf("%d",&a[j]);
for(k=0;kfor(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
for(j=k+1;jif(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
if(a[k]{t=a[j];a[j]=a[k];a[k]=t;}for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
t=a[j];
a[j]=a[k];
a[k]=t;}
for(j=0;jprintf("%d",a[j]);printf("%d\n",a[j]);}}}老外买瓷砖#includevoidf(int*a,char*s){while(*s){switch(*s){case'h':case'H':case'A':case'a':a[0]++;break;case'E':case'e':a[1]++;break;case'Y':case'y':case'I':case'i':a[2]++;break;case'O':case'o':a[3]++;break;case'U':case'u':a[4]++;break;}s++;}}intmain(){chars[200];inta[5];intn,i,j;scanf("%d",&n);getchar();for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
printf("%d",a[j]);
printf("%d\n",a[j]);
老外买瓷砖
voidf(int*a,char*s)
while(*s)
switch(*s)
case'h':
case'H':
case'A':
case'a':
a[0]++;break;
case'E':
case'e':
a[1]++;break;
case'Y':
case'y':
case'I':
case'i':
a[2]++;break;
case'O':
case'o':
a[3]++;break;
case'U':
case'u':
a[4]++;break;
s++;
chars[200];
inta[5];
getchar();
for(i=0;i{for(j=0;j<5;j++)a[j]=0;gets(s);f(a,s);printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a[0],a[1],a[2],a[3],a[4]);}return0;}数字金字塔#includeintmain(){inti,j,n;printf("请输入金字塔的层数:\n");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("%d",i);printf("\n");}return0;}ProblemE:生日礼物TimeLimit:1SecMemoryLimit:128MBSubmit:823Solved:240Description小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。Input多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母Output对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“SampleInput3grandmothermotherfatherSampleOutputnainaimamababa#include#includeintmain(){intt,i;chara[100];scanf("%d",&t);getchar();for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
for(j=0;j<5;j++)
a[j]=0;
gets(s);
f(a,s);
printf("a:
%d\ne:
%d\ni:
%d\no:
%d\nu:
%d\n",a[0],a[1],a[2],a[3],a[4]);
数字金字塔
inti,j,n;
printf("请输入金字塔的层数:
\n");
for(j=1;j<=n-i;j++)
printf("");
for(j=1;j<=2*i-1;j++)
printf("%d",i);
ProblemE:
生日礼物
128MB
823Solved:
240
小明的生日比较特别,是2月29日,所以他经常需要等4年才有一次生日。
为此,每次的生日他会收到爷爷奶奶爸爸妈妈哥哥姐姐给他的礼物,但其中一份礼物比较特别。
后来小明发现一个规律,可以知道其中最特别的礼物是谁送的。
那就是每次装蛋糕的盒子上印的几个英文字母可以看出来。
如果是爷爷送的,上面会印着“grandfather",奶奶送的话会印“grandmother”,爸爸送的话会印“father”,妈妈送的话会印“mother”,哥哥送的话会是“brother”,姐姐送的话会印“sister”。
多组测试数据,先输入一个整数T,表示组数,然后输入t行,每行是蛋糕盒上印的英文字母
对于每组测试数据,请输出这年特别礼物是谁送的,如果是爸爸送的,就输出“baba”,爷爷奶奶妈妈哥哥姐姐送的依次输出“yeye”“nainai”“mama”“gege”“jiejie“
grandmother
mother
father
nainai
mama
baba
intt,i;
scanf("%d",&t);
for(i=0;i{gets(a);if(strcmp(a,"grandmother")==0)printf("nainai");if(strcmp(a,"mother")==0)printf("mama");if(strcmp(a,"father")==0)printf("baba");if(strcmp(a,"grandfather")==0)printf("yeye");if(strcmp(a,"brother")==0)printf("gege");if(strcmp(a,"sister")==0)printf("jiejie");printf("\n");}return0;}今天是近年第几天#includeintf(intn);intmain(){inta,b,c;while(scanf("%d-%d-%d",&a,&b,&c)!=EOF){if(f(a)==1){intm[13];m[1]=0;m[2]=31;m[3]=60;m[4]=91;m[5]=121;m[6]=152;m[7]=182;m[8]=213;m[9]=244;m[10]=274;m[11]=305;m[12]=335;b=m[b];printf("%d\n",b+c);}else{intm[13];m[1]=0;m[2]=31;m[3]=59;m[4]=90;m[5]=120;m[6]=151;m[7]=181;m[8]=212;m[9]=243;m[10]=273;m[11]=304;m[12]=334;b=m[b];printf("%d\n",b+c);}}return0;}intf(intn){if((n%4==0&&n%100!=0)||n%400==0)return1;elsereturn0;}
gets(a);
if(strcmp(a,"grandmother")==0)
printf("nainai");
if(strcmp(a,"mother")==0)
printf("mama");
if(strcmp(a,"father")==0)
printf("baba");
if(strcmp(a,"grandfather")==0)
printf("yeye");
if(strcmp(a,"brother")==0)
printf("gege");
if(strcmp(a,"sister")==0)
printf("jiejie");
今天是近年第几天
intf(intn);
inta,b,c;
while(scanf("%d-%d-%d",&a,&b,&c)!
if(f(a)==1)
intm[13];
m[1]=0;
m[2]=31;
m[3]=60;
m[4]=91;
m[5]=121;
m[6]=152;
m[7]=182;
m[8]=213;
m[9]=244;
m[10]=274;
m[11]=305;
m[12]=335;
b=m[b];
printf("%d\n",b+c);
m[3]=59;
m[4]=90;
m[5]=120;
m[6]=151;
m[7]=181;
m[8]=212;
m[9]=243;
m[10]=273;
m[11]=304;
m[12]=334;
intf(intn)
if((n%4==0&&n%100!
=0)||n%400==0)
return1;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1