您好,欢迎访问三七文档
1.求1到100之间所有正整数之和(包括1和100),并输出结果。#includestdio.hvoidmain(){inti,sum=0;for(i=0;i100;i++)sum=sum+i;printf(sum=%d\n,sum);}2.求1到100之间所有奇数之和(包括1),并输出结果。#includestdio.hvoidmain(){inti,sum=0;for(i=1;i100;i=i+2)sum=sum+i;printf(sum=%d\n,sum);}3.求1到10之间所有偶数之积(包括10),并输出结果。#includestdio.hvoidmain(){inti;longf=1;for(i=2;i=10;i++)f=f*i;printf(f=%d\n,f);}4.输出Fibonacci数列前40项。这个数列有如下特点:第一,二个数为1、1。从第3个数开始,该数是其前面两个数之和。#includestdio.hvoidmain(){inti,f1=1,f2=1;for(i=1;i=20;i++){printf(%12d%12d\n,f1,f2);f1=f1+f2;f2=f2+f1;}}5.求1到100之间的奇数的平方和(包括1),并输出结果。#includestdio.hvoidmain(){inti,s;s=0;for(i=1;i=100;i=i+2)s=s+i*i;printf(%d\n,s);}6.输出100以内能被3整除且个位数为6的所有正整数。#includestdio.hvoidmain(){inti,j;for(i=0;i=9;i=i++){j=i*10+6;if(j%3!=0)continue;printf(%d\n,j);}}7.任意输入一个正整数给变量n,求1到n之间(不包括n)所有3的倍数之和,并输出结果。#includestdio.hvoidmain(){inti,n,s=0;scanf(%d,&n);for(i=1;in;i++)if(i%3==0)s=s+i;printf(%d\n,s);}8.任意输入一个正整数给变量n,计算并输出n的所有因子之和(不包括1与自身)。规定n的值不大于1000。#includestdio.hvoidmain(){ints=0,n,i;scanf(%d,&n);for(i=2;in;i++)if(n%i==0)s=s+i;printf(%d\n,s);}9.从键盘给一维整形数组输入10个整数,找出数组中最小的数并输出。#includestdio.hvoidmain(){inta[10],i,min;for(i=0;i10;i++)scanf(%d,&a[i]);min=a[10];for(i=1;i10;i++)if(a[i]min)min=a[i];printf(%d\n,min);}10.从键盘给一维数组输入10个整数,求最小值所在的下标并输出。#includestdio.hvoidmain(){inta[10],i,min;for(i=0;i10;i++)scanf(%d,&a[i]);min=0;for(i=1;i10;i++)if(a[i]a[min])min=i;printf(%d\n,min);}11.从键盘给二维整型数组输入12个整数,找出数组中最大的数并输出。#includestdio.hvoidmain(){inta[3][4],i,j,max;for(i=0;i3;i++)for(j=0;j4;j++)scanf(%d,&a[i][j]);max=a[0][0];for(i=0;i3;i++)for(j=0;j4;j++)if(a[i][j]max)max=a[i][j];printf(%d\n,max);}12.找出数组a[10]={1,2,8,18,20,-50,34,90,2,12}中的最大的偶数,并输出。#includestdio.hvoidmain(){inta[10]={1,2,8,18,20,-50,34,90,2,12};inti,max=-1;for(i=0;i10;i++)if(a[i]%2==0)if(a[i]max)max=a[i];printf(%d\n,max);}13.输入一个字符串给字符数组str[40],将字符串中的所有小写字母转化为对应的大写字母,其它字符不变。最后输出转化后的字符串。#includestdio.h#includestring.hvoidmain(){charstr[40];inti;gets(str);for(i=0;str[i]!='\0';i++)if(str[i]='a'&&str[i]='z')str[i]=str[i]-32;puts(str);}14.从键盘给一维整形变量输入10个整数,求其中最大值和最小值的差。#includestdio.h#includestring.hvoidmain(){inta[10];inti,max,min;for(i=0;i10;i++)scanf(%d,&a[i]);max=min=a[0];for(i=1;i10;i++)if(a[i]max)max=a[i];elseif(a[i]min)min=a[i];printf(%d\n,max-min);}15.对二维数组a进行装置,即行列转换,并放在b数组中。数组a123456789数组b147258369#includestdio.hvoidmain(){inta[3][3]={1,2,3,4,5,6,7,8,9},b[3][3];inti,j;for(i=0;i3;i++)for(j=0;j3;j++)b[j][i]=a[i][j];printf(转置后的b数组中的内容为:\n);for(i=0;i3;i++){for(j=0;j3;j++)printf(%5d,b[i][j]);printf(\n);}}16.随意输入一个字符串给字符数组str[40],求该字符串中字母的个数并输出。#includestdio.hvoidmain(){charstr[40];inti,num=0;gets(str);for(i=0;str[i]!='\0';i++)if(str[i]='a'&&str[i]='z'||str[i]='A'&&str[i]='Z')num++;printf(%d\n,num);}17.把数组中的元素按相反顺序存放,即a数组中的元素原来存放方式为54321,试编程把数组中的元素存放成:12345。#includestdio.hvoidmain(){inta[5]={5,4,3,2,1};inti,k,t;k=2;for(i=0;i=k;i++){t=a[i];a[i]=a[4-i];a[4-i]=t;}printf(按相反顺序存放后的数组元素值依次为:);for(i=0;i5;i++)printf(%d,a[i]);printf(\n);}18.随意输入两个字符串给字符数组strl[40]和str2[40],将两个字符串连接起来放在数组str1中,并输出连接后的字符串。#includestdio.hvoidmain(){charstr1[40],str2[40];inti,j;gets(str1);gets(str2);for(i=0;str1[i]!='\0';i++)for(j=0;str2[j]!='\0';j++)str1[i+j]=str2[j];str1[i+j]='\0';puts(str1);}19.请编写函数swap,其功能是:比较变量x和y中的值,将大的值返回给主函数。intswap(intc,inty){intz;z=xy?x:y;returnz;}20.请编写函数fun,其功能是:计算三角形的面积并返回给主函数。(形参x,y,z分别接受三角形的三边长)doublefun(floatx,floaty,floatz){floats,area;s=(x+y+z)/2;area=sqrt(s*(s-x)*(s-y)*(s-z));returnarea;}21.请编写函数fun,其功能是:把主函数中传过来的百分制成绩转换成等级“A”,“B”,“C”,“D”,“E”并转换后的等级返回给主函数。charfun(floatx){inti;chargrade;i=(int)x/10;switch(i){case10:case9:grade='A';break;case8:grade='B';break;case7:grade='C';break;case6:grade='D';break;default:grade='E';}returngrade;}22.编写函数fun,其功能是:求n!.主函数的功能是计算:x!+y!+z!的值。longfun(intn){inti;longintp=1;for(i=1;i=n;i++)p=p*i;return(p);}23.编写函数判断一个整数能否同时被3和5整除,若能返回1,若不能返回0.调用该函数求出15~300(包括15和300)之间,能同时被3和5整除的数个数。intsum(intn){if(n%3==0&&n%5==0)return(1);return(0);}24.请编写函数fun,其功能是:判断主函数中传过来的年份是否为闰年,如果是闰年返回1,如果不是闰年返回0.intfun(intx){intflag;if(x%4==0&&x%100!=0||(x%400==0))flag=1;elseflag=0;returnflag;}25.编写函数fun,函数功能是:计算n门课程的平均值,计算结果作为函数值返回。floatfun(inta[],intn){inti;floaty=0;for(i=0;in;i++)y+=a[i];y=y/n;returny;}26.编写函数fun生成一个主对角线元素为1,其他元素都为0的3*3的二维数组。voidfun(intarr[][3]){inti,j;for(i=0;i3;i++)for(j=0;j3;j++)if(i==j)arr[i][j]=1;elsearr[i][j]=0;}27.编写函数fun,其功能是求任一整数m的n次方。longfun(intm,intn){longintx=1;inti;for(i=1;i=n;i++)x=x*m;returnx;}28.编写函数fun,其功能是求1000以内所有7的倍数之和。intfun(intm){ints=0,i;for(i=1;iN;i++)if(i%m==0)s+=i;returns;}29.下面程序的功能是:通过调用函数fun交换主函数中a和b中的内容,最后输出。请将函数fun按功能补充完整。voidfun(int*x,int*y){intt;t=*x;*x=*y;*y=t;}30.下面程序的功能是:通过调用fun函数把a数组中的内容逆序存放,最后输出。请将函数fun按功能补充完整。voidfun(int*x,intn){int*i,*j;intk,t;k=(n-1)/2;i=x;j=x+n-1;for(;i=x+k;i++,j--){t=*i;*i=*j;*j=t;}}31.下面程序的功能是:通过调用fun函数比较两个数组中字符串的大小,最后输出相关信息。intfun(char*x,char*y){while(*x==*y&&*x&&*y){x++;y++}return(*x-*y);}32.下面程序的功能是:输入一个整数给变量n(0=n=3),通过调用函数fun返回二维数组a的第n行首地址,最后在主函数中循环输出第n行的成绩。请将函数fun按功能补充完整。int*fun(int(*x)[4],intn){int*q;q=*(x+
本文标题:程序设计题
链接地址:https://www.777doc.com/doc-2150953 .html