1、C语言期末考试程序设计题复习程序设计题目1.排序#include /冒泡排序法(升序)#define N 10int main() int ssN; int i,j,temp; printf(请输入%d个数:,N); for(i=0;iN;i+) scanf(%d,&ssi); for(j=0;jN-1;j+) for(i=0;issi+1) temp=ssi; ssi=ssi+1; ssi+1=temp; printf(排序结果为:n); for(i=0;iN;i+) printf(%d ,ssi);/两个数之间隔一个空格 printf(n);#include/冒泡排序法(降序)#defin
2、e N 10int main() int ssN; int i,j,temp; printf(请输入%d个数:,N); for(i=0;iN;i+) scanf(%d,&ssi); for(j=0;jN-1;j+) for(i=0;iN-j-1;i+) if(ssissi+1) temp=ssi; ssi=ssi+1; ssi+1=temp; printf(排序结果为:n); for(i=0;iN;i+) printf(%d ,ssi);/两个数之间隔一个空格 printf(n);2. 矩阵求最大、小值#include stdio.h#define N 3#define M 5void mai
3、n() int ssNM; int i,j,max,min; printf(请输入矩阵数据:); for(i=0;iN;i+) for(j=0;jM;j+) scanf(%d,&ssij); printf(%d ,ssij); printf(n); max=min=ss00; for(i=0;iN;i+) for(j=0;jssij?max:ssij; min=minssij?min:ssij; printf(max=%d,min=%dn,max,min);3.累加、累乘#include (累加)int main() int i,n,s; i=1,s=0; printf(请输入n的值:); s
4、canf(%d,&n); while(i=n) s=s+i; i+; printf(s=%dn,s); return 0;#include (累乘)int main() int i,n,s; i=1,s=1; printf(请输入n的值:); scanf(%d,&n); while(i=n) s=s*i; i+; printf(s=%dn,s); return 0;#include (累加和累乘结合)void main() int i,j,n;long k,s; i=1,s=1; printf(请输入n的值:); scanf(%d,&n); s=0; for(i=1;i=n;i+) k=1;
5、for(j=1;j=i;j+) k=k*j; s=s+k; printf(1!+2!+.+%d!=%dn,n,s); return 0;4. 判断素数#include #include void main() int m,i; printf(输入一个任意整数:); scanf(%d,&m); for(i=2;isqrt(m) printf(%d是素数n,m); else printf(%d不是素数n,m);#include stdio.h/标记变量法int main() int n,i,flag; flag=1; printf(请输入一个整数:); scanf(%d,&n); for(i=2;
6、i=n/2;i+) if(n%i=0) flag=0; break; if(flag=0) printf(%d不是素数,n); else printf(%d是素数,n); printf(n); 5. 最大公约数、最小公倍数#include void main() int m,n,r,p,temp; printf(请输入两个数:); scanf(%d%d,&m,&n); p=m*n; if(mn) temp=m; m=n; n=temp; r=m%n; while(r!=0) m=n; n=r; r=m%n; printf(最大公约数=%d,最小公倍数=%dn,n,p/n);6.数组产生随机数,
7、求数组元素和及平均值、最值#include#include#define N 10int main() int ssN; int i,max,min; double ave,sum; sum=0; srand(time(); for(i=0;iN;i+) ssi=100+rand()%101;/100200之内的随机数 printf(数组元素为:); for(i=0;iN;i+) printf(%d ,ssi); sum=sum+ssi; printf(n); max=min=ss0; for(i=0;issi?max:ssi; min=minssi?min:ssi; ave=sum/N; p
8、rintf(元素和=%lf,平均值=%lf,最大值=%d,最小值=%dn,sum,ave,max,min);7.百钱百鸡#include stdio.hint main() int cocks=0,hens,chicks; printf(%8s%8s%8sn,cocks,hens,chicks); for(cocks=0;cocks20;cocks+) for(hens=0;hens=33;hens+) chicks=100-cocks-hens; if(5*cocks+3*hens+chicks/3.0=100) printf(%8d%8d%8dn,cocks,hens,chicks); r
9、eturn 0;8.测试字符是空格、数字、字母还是其他字符#includeint main() char ch; printf(请输入一个字符:); scanf(%c,&ch); if(ch= ) printf(这是一个空格n); else if(ch=0&ch=A&ch=a&ch=z)) printf(这是一个字母n); else printf(这是一个其他字符n); return 0;9.求三角形面积#include#includeint main(void) double a,b,c,p,s; printf(请输入三角形三边长:); scanf(%lf%lf%lf,&a,&b,&c);
10、if(a+bc&a+cb&b+ca) p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c); printf(面积=%lfn,s); else printf(此三边不能构成三角形n);10.求水仙花数#include stdio.hint main () int n,a,b,c; n=100; printf(1001000之间的水仙花数为:n); while(n1000) a=n/100; b=n%100/10; c=n%100%10; if(n=a*a*a+b*b*b+c*c*c) printf(%dn,n); n+; 11.百分制成绩与五级成绩的相互转换#inclu
11、de int main() double score; printf(请输入分数:); scanf(%lf,&score); if (score=90) printf(%.2lf分为An,score);/%.2lf保留两位小数 else if (score=80) printf(%.2lf分为Bn,score); else if (score=70) printf(%.2lf分为Cn,score); else if (score=60) printf(%.2lf分为Dn,score); else printf(%.2lf分为En,score); return 0;12.Fibonacci数列#
12、include int main() int fib1=1,fib2=1,fib,i,n; printf(请输入月数:); scanf(%d,&n); for(i=3;i=n;i+) fib=fib1+fib2; fib1=fib2; fib2=fib; printf(%d月后的兔子数=%dn,n,fib); return 0;13. 九九乘法表(1)满表#include int main() int i,j; for (i=1;i=9;i+) for(j=1;j=9;j+) printf(%d*%d=%-2d ,i,j,i*j); printf(n); return 0;(2)左下三角#in
13、clude int main() int i,j; for (i=1;i=9;i+) for(j=1;j=i;j+) printf(%d*%d=%-2d ,i,j,i*j); printf(n); return 0;(3)右上三角#include int main() int i,j; for (i=1;i=9;i+) for(j=1;j=9;j+) if(i=j) printf(%d*%d=%-2d ,i,j,i*j); else printf( );/等价printf(%7c, );此单位为7个字符 printf(n); return 0;(4)左上三角#include int main(
14、) int i,j; for (i=1;i=9;i+) for(j=1;j=9;j+) if(i+j=10) printf(%d*%d=%-2d ,i,j,i*j); else printf( );/等价printf(%7c, );此单位为7个字符 printf(n); return 0;(5)右下三角#include int main() int i,j; for (i=1;i=9;i+) for(j=1;j=10) printf(%d*%d=%-2d ,i,j,i*j); else printf( ); /等价printf(%7c, );此单位为7个字符 printf(n); return 0;
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2