给大家提供几个题,没有难题,全是一些基础的,自己可以做做看看…Word文档看着可能有点乱,最好是心静的时候读题,不然肯定会烦的…每个题我附上自己的程序,可能写的复杂,你们参考一下,自己再看看能不能优化…当然看见错误跟大家说一声,不过应该没错,我觉得…因为PDF编辑器的问题,菱形输出那有点乱码,大家理解下意思…我把word跟PDF都传上,PDF看着舒服点..两个输出问题…菱形,对顶三角形菱形输出TimeLimit:1000msMemoryLimit:65535kBSolved:505Tried:1592Description读入整数n和字符ch,输出边长为n,由字符ch组成的菱形。Input有多组测试数据。输入的第一行是整数T(0T=100),表示测试数据的组数。每一组测试数据只有一行,分别为整数n和字符ch,两者之间有一个空格。该行没有其它多余的符号。0n=100。Output对应每组输入,输出一个边长为n,由字符ch组成的菱形。SampleInput24w5xSampleOutput(){inti,T;scanf(%d,&T);for(i=0;iT;i++){intn;charch;scanf(%d%c,&n,&ch);intj,k;for(j=n;j=1;j--){for(k=j-1;k=1;k--)printf();for(k=2*(n-j)+1;k=1;k--)printf(%c,ch);printf(\n);}for(j=1;j=(n-1);j++){for(k=1;k=j;k++)printf();for(k=2*(n-j)-1;k=1;k--)printf(%c,ch);printf(\n);}}return0;}对顶三角形Description写一个函数,生成对顶三角形,本题目要求不用全局变量。Input有多组测试数据。输入的第一行是整数T(0T=100),表示测试数据的组数。每一组测试数据只有一行,分别是三角形的腰长n和构成三角形的字符ch,两者之间有一个空格。该行没有其它多余的符号。0n=100。Output对应每组输入,输出一个对顶三角形。每组数据输出后应有一个空行。SampleInput23*5@SampleOutput******************@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#includestdio.h#includestdlib.hintmain(){intT;scanf(%d,&T);while(T--){inti,n;charch;scanf(%d%c,&n,&ch);for(i=1;i=n;i++){intj;for(j=1;j=i;j++){printf(%c,ch);}for(j=1;j=2*(n-i);j++){printf();}for(j=1;j=i;j++){printf(%c,ch);}printf(\n);}for(i=n-1;i=1;i--){intk;for(k=1;k=i;k++){printf(%c,ch);}for(k=1;k=2*(n-i);k++){printf();}for(k=1;k=i;k++){printf(%c,ch);}printf(\n);}printf(\n);}return0;}比较基础的一个统计题…统计单词Description编写一个函数,该函数能够统计一个英文字符串中有多少个单词。Input第一行是整数n,表示测试的数据组数,下面是n行含空格的字符串(仅由空格和英文字符组成)。Output每行输入对应一行输出,表示对应行有多少单词。SampleInput1IamastudentSampleOutput4#includestdio.h#includestring.hintmain(){intj,T;scanf(%d,&T);getchar();for(j=0;jT;j++){charstr[100]={};inti,count=0;intflag=0;gets(str);for(i=0;str[i];i++){if(str[i]=='')flag=0;elseif(flag==0){flag=1;count++;}}printf(%d\n,count);}return0;}再复杂一点的统计..最长平台Description已知一个已经从小到大排列好的数组,所谓这个数组中的一个平台,就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在1,2,2,3,3,3,4,5,5,6中1、2,2、3,3,3、4、5,5、6都是平台。试编写一个程序,接收一个数组,输出这个数组中所有平台和最长平台的个数与长度。Input本题有多组输入数据。第一行是输入数据的组数T,每组数据有两行,第一行是一个整数n,表示下一行有n个数据输入,每个输入数据后有一个空格。1=T=20,1=n=1000。Output对应每组数据,应输出两行,第一行是两个用空格隔开的数(注意该行尾没有空格),第一个数表示最长平台的个数,第二个数表示最长平台的长度,第二行是所有的平台,平台应按在数组中出现的顺序输出,最后一个平台后没有空格。SampleInput1101223334556SampleOutput13{1},{2,2},{3,3,3},{4},{5,5},{6}#includestdio.h#includestdlib.hintmain(){inti,T,n;scanf(%d,&T);for(i=0;iT;i++){scanf(%d,&n);intj,a[1010];for(j=0;jn;j++){scanf(%d,&a[j]);}intmax=a[0],b[1010]={},count=0,s=0,c[1010]={},min=0;c[0]=max;for(j=0;jn;j++){if(a[j]==max)count++;if(a[j]max){max=a[j];b[s]=count;if(b[s]min)min=b[s];count=1;c[s+1]=max;//每个平台的数字c[]s++;//s+1表示有的平台数}if(j==n-1){b[s]=count;if(b[s]min)min=b[s];}}intl;for(j=0;js+1;j++){if(b[j]==min){l++;}}printf(%d%d\n,l,min);l=0;intx,y=0;for(j=0;js+1;j++){printf({);for(x=0;xb[y];x++){if(x=b[y]-2)printf(%d,,c[j]);elseif(x==b[y]-1)printf(%d,c[j]);}if(j=s-1)printf(},);elseif(j==s)printf(});y++;}printf(\n);}return0;}另一种输出,分数输出…分数运算要分开算,算分子分母,输出两个的值分数运算Description读入4个整数a、b、c、d和一个运算符(‘+’、‘-’、‘*’、‘/’中的一个),进行分数a/b和c/d的对应运算,输出最简结果。Input有多组测试数据。输入的第一行是整数T(1=T=200),表示随后测试数据的组数。每组测试数据占一行,由一个四个正整数a,b,c,d和一个运算符组成,相邻数据间有一个空格。Output对应每组测试数据,输出分数运算的最简结果,占一行。具体可参照样例。SampleInput31234-3524245*257295/SampleOutput1/2-3/4=-1/435/24*24/5=725/72/9/5=125/648#includestdio.h#includestdlib.hintmain(){inti,j,T,a,b,c,d,A,B,C,D,m,n;charch;scanf(%d,&T);for(i=0;iT;i++){scanf(%d%d%d%d%c,&a,&b,&c,&d,&ch);A=a*d;B=b*d;C=c*b;D=b*d;switch(ch){case'+':{if((A+C)0)n=-(A+C);m=nB?n:B;for(j=m;j=1;j--)if(n%j==0&&B%j==0)break;printf(%d/%d%c%d/%d=%d/%d,a,b,ch,c,d,(A+C)/j,B/j);break;}case'-':{if((A-C)0)n=-(A-C);m=nB?n:B;for(j=m;j=1;j--)if(n%j==0&&B%j==0)break;printf(%d/%d%c%d/%d=%d/%d,a,b,ch,c,d,(A-C)/j,B/j);break;}case'*':{if((A*C)0)n=-(A*C);m=nB?n:B;for(j=m;j=1;j--)if(n%j==0&&B%j==0)break;printf(%d/%d%c%d/%d=%d/%d,a,b,ch,c,d,(A*C)/j,B/j);break;}case'/':{if((A/C)0)n=-(A/C);m=nB?n:B;for(j=m;j=1;j--)if(n%j==0&&B%j==0)break;printf(%d/%d%c%d/%d=%d/%d,a,b,ch,c,d,(A/C)/j,B/j);break;}}}return0;}数组的基础运用…列出几个寻找固定和Description有两个数组x[]与y[],各有m与n个元素,而且各个元素没有依顺序排列;d是一个已知的值。请写一个程序,看看在x[]与y[]中有没有满足x[i]+y[j]=d的元素。Input本题有多组输入数据。第一行是输入数据的组数T,每组数据占三行,第一行是三个用空格隔开的数m、n和d,表示下面两行x和y数组的元素个数依次为m和n个,以及固定和d。紧接着两行分别是m和n个元素,每个元素后均有一个空格。1=T=20,1=m,n=1000。Output对应每组数据,输出可能有多行,如果没有找到,输出为“nothing”,如果输出有多行,应先按x的下标从小到大输出,若x的下标相同,则按y的下标从小到大输出。详细可参看样例。SampleInput24493724252343151234586SampleOutputcase1:x[1]+y[0]=9x[1]+y[2]=9x[3]+y[1]=9case2:nothing#includestdio.h#includestdlib.hintmain(){inti,T;scanf(%d,&T);for(i=0;iT;i++){intx[1010]={},y[1010]={};intm,n,d;scanf(%d%d%d,&m,&n,&d);intj;for(j=0;jm;j++){scanf(%d,&x[j]);}for(j=0;jn;j++){scanf(%d,&y[j]);}printf(case%d:\n,i+1);intk,c=0;for(j=0;jm;j++){for(k=0;kn;k++){if(x[j]+y[k]==d){c++;printf(x[%d]+y[%d]=%d\n,j,k,d);}}}if(c==0)printf(nothing\n);}return0;}这个练一下排序…跳水打分问题Description运动员跳水时,有n个评委打分,假设为10分制,有两位小数。如果去掉最高分和最低分,该运动员的得分是多少?Input有多组测试数据。第一行是整数T,表