1、 float a,b,c,s,area;%f,%f,%f,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); if(a+bc&a+cb&b+ca)area=%f,area); else1 no);5(*)编程求出1!+2!+3!+8!+9!+10!的值并输出。 程序1: int i,j; double p=1, sum=0; for(i=1;i=10;i+) for(j=1;j=i;j+) p=p*i; sum=sum+p;p=1.0;sum=%f,sum); 程序2:float fac(n)int n;float f;if (n0)
2、printf(0,error!else if(n=0|n=1) f=1;else f=fac(n-1)*n;return(f);main()int h,s=0,n;=4; h=fac(n); s=s+h;s=1!+.+10!=%dn,s);程序3: int i; p=p*i;2 6(*)从键盘输入两个整数,输出其和,差,积,商。7(*)输入若干个自然数,对奇数从大到小排序,对偶数从小到大排序,输出两种结果。 maxji(int a,int n) int i,j,k,t; for(i=0;n-1;k=i;for(j=i+1;n; if(akaj) k=j; if (k!=i)t=ak;ak=aj
3、;aj=t; #define N 10 int cN,i,j;N;%dci); maxji(c,N); for(i=N-1; if(ci%2=0)%5dn if(ci%2!=0)8(*)求出0999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153153 ,则153是一个“水仙花数”。程序1:int i,j,k,a;for(i=1;for(j=0;for(k=0;kk+)if(i*i*i+j*j*j+k*k*k=100*i+10*j+k)printf(%d%d%dn,i,j,k);程序:int m,i,j,k,a;for(m=101;=99
4、9;m+) i=m/100; j=(m-m*100)/10;3 k=m%10;if(i*i*i+j*j*j+k*k*k=m)%dn,m);9(*)试编程:判断输入的正整数是否既是5,又是7的整数倍数。若是则输出yes;否则输出no。10(*)已有函数调用语句c=add(a,b);请编写aad函数,计算两个实数a和b的和,并返回和值。11(*)有人想将手中一张面值100元的人民币换成5元、1元、0.5元面值的零钱100张,以上三种面值的零钱至少有一张,问共有几种换法。请编程实现。int i,j,k,n=0;19;for(j=1;95;for(k=1;94;if(5*i+j+0.5*k=100&i
5、+j+k=100)printf(%d,%d,%dnn+;,n);12(*)求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222 程序1:int i, a,n; long sum=0, b=1,c=1;scanf(%d,%dn);=n; long int sn=0,k=a;int a,i,j; a);=5; k=10*k+a; sn=sn+k;%ldn,sn);sum+=a*c;b*=10;c+=b;%ld long int sn=0,k=0; for(i=1; for(j=1; k=10*k+a;4 k=0;13(*)编程输
6、出如下图形(不能仅用printf语句): * * * * * * * * * * * * * * * * * * * * * * * *int i,k,j;for(i=0; for(j=0;4-i; printf( for(k=0;=2*i;* 14(*)用近似公式求自然对数的底e的值。e1+1!+ + +#include main() float i,j,e,p=1.0,sum=0.0;10 ; for(j=1; p=p*j; sum=sum+1.0/p; p=1.0; e=i+sum;%fn,e);15(*)请编程,用scanf()函数输入三个字符,对这三个字符各加一个整数1后,用putc
7、har()函数输出,且每输出一个字符换一行。16(*)请编程,用scanf()函数输入三个整数,输出其中不大不小的那个数,输出宽度为五位。 int findmid(int i,int j,int k)int n;5 if(ik) n=j;else n=k;return(n); int i,j,k,n;%d%d%di,&j,&k);n=findmid(i,j,k);17(*)编程实现输出所有1100之间能被9整除余2的数。18(*)编写一程序实现如下功能:输入1、2、3、4、5、6、7(分别对应星期一至星期日)中的任何一个数,便能输出与之对应的英文名称。如输入1,则输出Monday。char d
8、ay;day);swith(day)case 1: mondaynbreak; case 2tuesdayn break;3wednsdayn4thursdayn braek;5 fridayn6saturdayncase 7sundayn defult:errorn19(*)编一程序,对于给定的一个百分制成绩,输出相应的5分制成绩。设:90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。(用switch语句实现)。int s,score;score);s=score/10;switch(s)case 10:An case 9: case 8:Bn case 7:C
9、n case 6:Dn case 5: case 4: case 3: case 2: case 1:En default:error20(*)试编程:否则输出no。21(*)一个数如果却好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序找出100之内的所有完数,并按下列格式输出其因子: 6 its factors are 1,2,3int m,i,s; for(m=2;m1000; s=0; iai0)%4dn,ai1);,ai0);6 23(*)编程将一个3x3矩阵转置(行列互换)后输出。int i,j, a33,b33;=2;
10、for(j=0;print(“%5d”,aij);bji=aij;printf(nfor(i=0;,bij);printf(“n”);24(*)求一个一维数组的最大值,最小值和平均值(主函数调用并输出)。程序2:void make(); int a10,i; extern int max,min; extern float aver;10;ai); make(a,10);max=%d,min=%d,aver=%.2f,max,min,aver); int max,min; float aver; void make(int a,int n) float sum;max=min=a0; sum=
11、a0; if(maxai) min=ai; sum+=ai;%f aver=(float)sum/n;float max(int n,float a)int i;float max;max=a0;if(maxreturn(min);float aver(int n,float a)float sum=0,aver;7 sum=sum+ai;aver=sum/n;return(aver);float m,n,a5,c;5;m=max(5,a);n=min(5,a);c=aver(5,a);%5f%5f%5fn,m,n,c);25(*)编写函数,求一个不超过五位的十进制整数各位数值的和。输入263
12、4,输出15) #include int i,a5,m,n=0;m);ai=m%10;n=n+ai;m=m-ai*10;,ai);26(*)编程求出一个3x3矩阵的最大和最小元素及其下标。int i,j,max,min,a33,m1,n1,m2,n2; min=max=a00;8 if(aijmax) max=aij;m1=I;n1=j; else if(aijmin) min=aij;m2=i;n2=j;max=%d,%3d,%3d,min=%d,%3d,%3d,max,m1,n1,min,m2,n2);27(*)有一个字符串,包含n 个字符,编写一个函数,将此字符串中从第m个字符开始的全部
13、字符复制成另一个字符串。char chs230=0,chs130=this is my first C program;int i,j,m;for(i=m,j=0;30;i+,j+)chs2j=chs1i;chs229=0,chs2); 28(*)求一个3x3矩阵的对角线元素之和。 int i,j,sum1=0,sum2=0,a33;if(i=j) sum1+=aij;if(i+j)=2) sum2+=aij;%5d%5d,sum1,sum2);29(*)从键盘输入两个整数,输出其最大公约数和最小公倍数。int a,b,t,p,r;b);if(ab) n=i;for(i=(N-2);ai+1=
14、ai;an=b;31(*)请编写程序,输出以下扬辉三角形( 要求输出10行)。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 # define M 10 # define N 10 int aMN,i,j;M; for(j=0; if(j=0|j=i) aij=1; aij=ai-1j-1+ai-1j;,aij);32(*)从键盘输入少于50个的整数,其值在0和4之间(包括0和4),用-1作为输入结束标志,统计每个整数的个数。33(*)从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中,请编程实现
15、。 char a50,b10,*p1,*p2; int i,j; scanf(“%s%s”,a,b); n=strlen(a); for(p1=a+n,p2=b;p1=10) printf(-135(*)写一程序,要求用户在键盘上输入一个整数,并把每位数字转换为英文。例如:输入1024时,输出One Zero Two Four long int n; int m,i=0,c10;dom=n%10;i+;ci=m;%5d%5d%5dn,i,m,ci);while (n/=10)0);while(i=1)i-;switch(ci+1)case 0: printf(zerocase 1:onecase 2: printf(twocase 3:threecase 4:fourcase 5
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2