您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 西工大C语言POJ作业
T051.合并字符串#includestdio.h#includestdlib.h#includestring.hintmain(){chara[200],b[100];gets(a);gets(b);strcat(a,b);puts(a);return0;}T052.字符串排序#includestdio.h#includestring.hvoidsort(chars[10][11]){inti,j;chart[11];for(i=0;i9;i++)for(j=0;j9-i;j++)if(strcmp(s[j],s[j+1])0){strcpy(t,s[j+1]);strcpy(s[j+1],s[j]);strcpy(s[j],t);}}intmain(){chara[10][11],i;for(i=0;i10;i++)scanf(%s,a[i]);sort(a);for(i=0;i10;i++)printf(%s,a[i]);printf(\n);return0;}T053.特殊要求字符串#includestdio.h#includestring.hintmain(){chars[100],a[100],t;intlen,l,i,j;gets(s);len=strlen(s);l=len/2;for(i=0;il;i++)for(j=0;jl-1-i;j++)if(s[j]s[j+1]){t=s[j+1];s[j+1]=s[j];s[j]=t;}for(i=0;il;i++)a[i]=s[i];for(i=0;il;i++)for(j=l+len%2;jlen-i-1;j++)if(s[j]s[j+1]){t=s[j+1];s[j+1]=s[j];s[j]=t;}for(i=0;il;i++){s[i]=s[i+l+len%2];s[l+i+len%2]=a[i];}puts(s);return0;}T054.统计字母间隔数字的个数并逐一输出#includestdio.hintmain(){chars[500],*p;inta[100]={0},i=0,j;gets(s);for(p=s;*p!='\0';p++){if(*p='0'&&*p='9'){for(;*p!='\0'&&*p='0'&&*p='9';p++)a[i]=a[i]*10+(*p-'0');i++;}}printf(%d\n,i);for(j=0;ji;j++)printf(%d,a[j]);printf(\n);return0;}T055.MusicComposer#includestdio.h#includestring.hintmain(){chars[200];gets(s);if(s[0]=='A'&&s[1]=='#'){s[0]='B';s[1]='b';printf(%s\n,s);}elseif(s[0]=='A'&&s[1]=='b'){s[0]='G';s[1]='#';printf(%s\n,s);}elseif(s[0]=='B'&&s[1]=='b'){s[0]='A';s[1]='#';printf(%s\n,s);}elseif(s[0]=='C'&&s[1]=='#'){s[0]='D';s[1]='b';printf(%s\n,s);}elseif(s[0]=='D'&&s[1]=='b'){s[0]='C';s[1]='#';printf(%s\n,s);}elseif(s[0]=='D'&&s[1]=='#'){s[0]='E';s[1]='b';printf(%s\n,s);}elseif(s[0]=='E'&&s[1]=='b'){s[0]='D';s[1]='#';printf(%s\n,s);}elseif(s[0]=='F'&&s[1]=='#'){s[0]='G';s[1]='b';printf(%s\n,s);}elseif(s[0]=='G'&&s[1]=='b'){s[0]='F';s[1]='#';printf(%s\n,s);}elseif(s[0]=='G'&&s[1]=='#'){s[0]='A';s[1]='b';printf(%s\n,s);}elseprintf(UNIQUE\n);return0;}T056.字符串复制(1)#includestdio.hvoidcopy(chars[],chara[],intm){inti=0;for(i=m,m=0;s[i]!='\0';i++,m++)a[m]=s[i];a[m]='\0';}intmain(){chars[101],a[100];intm,i;gets(s);scanf(%d,&m);copy(s,a,m);puts(a);return0;}(2)#includestdio.hintmain(){chart[100],s[100];intm,count,i;char*p;/*p要和t的类型相同,否则p的步长是int的长度,p每次++都会偏移sizeof(int)个字节,而不是sizeof(char)*/i=0;count=0;p=&t[0];/*p和t的类型相同,看样子你用的是比较老的C编译器,如果用目前的C++编译器,那么这一句的问题编译时刻就可以发出错误信息,编译都不能通过*/printf(Inputastring:);gets(t);printf(Inputaninteger:);scanf(%d,&m);while(countm){p++;count++;}while(*p!='\0'){s[i]=*p;p++;i++;}s[i]='\0';puts(s);return0;}T057.字符串比较#includestdio.hintstringcompare(chars1[],chars2[]){for(;*s1==*s2;s1++,s2++)if(*s1=='\0')return0;return*s1-*s2;}intmain(){chars1[100],s2[100];intd;gets(s1),gets(s2);d=stringcompare(s1,s2);printf(%d\n,d);return0;}T058.删除字符#includestdio.hvoiddeletechar(chars[],charc){inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=c)s[j++]=s[i];s[j]='\0';}intmain(){chars[100],c;gets(s);scanf(%c,&c);deletechar(s,c);puts(s);return0;}T059.字符串左中右#includestdio.h#includestring.hvoidLeft(charsrc[],intn,chardest[]){char*p;inti;p=src;for(i=0;in;i++){dest[i]=*p++;}dest[i]='\0';}voidRight(charsrc[],intn,chardest[]){inti,len;char*p;len=strlen(src);p=&src[len-n];for(i=0;in;i++){dest[i]=*p++;}dest[i]='\0';}voidMid(charsrc[],intloc,intn,chardest[]){inti;char*p;p=&src[loc];for(i=0;in;i++){dest[i]=*p++;}dest[i]='\0';}intmain(){charstr[20]={'\0'},strL[20]={'\0'},strR[20]={'\0'},strM[20]={'\0'};intn,loc;gets(str);scanf(%d%d,&n,&loc);Left(str,n,strL);printf(%s\n,strL);Right(str,n,strR);printf(%s\n,strR);Mid(str,loc,n,strM);printf(%s\n,strM);return0;}T060.Cointest#includestdio.h#includestring.h#includemath.hintgcd(inta,intb){if(a==0){returnb;}elseif(b==0){returna;}else{inti=ab?b:a;while(a%i!=0||b%i!=0){i--;}returni;}}intmain(){chara[1000];intc=0,b=0,i,m;gets(a);m=strlen(a);for(i=0;im;i++){if(a[i]=='S'){printf(WA\n);break;}if(a[i]=='U')c++;if(a[i]=='D')b++;}if(c+b!=m)return0;else{if(fabs(((double)c)/m-0.5)0.003)printf(Fail\n);elseprintf(%d/%d\n,c/gcd(c,m),m/gcd(c,m));return0;}}
本文标题:西工大C语言POJ作业
链接地址:https://www.777doc.com/doc-5347929 .html