1、C语言程序设计部分习题及例题参考程序C语言程序设计部分例题及课后习题参考程序1.编程计算如下分段函数:参考程序#include int main() float x,y; printf(input x:); scanf(%f,&x); if(x=10) y=2*x+3; else if(x=0) y=4*x; else y=5*x-6; printf(y=%.2fn,y);2编程将从键盘输入的百分制成绩转换为等级分,转换方法如下: 90以上(大于或等于90,下同)为A,80分以上为B,70分以上为C,60分以上为D,60分以下,即低于60分为E。参考程序#include int main()
2、float score; char rank; printf(input a score:); scanf(%f,&score); if(score100|score0) printf(invalid score inputn); exit(-1); switch(int)score/10) case 10: case 9: rank=A;break; case 8: rank=B;break; case 7: rank=C;break; case 6: rank=D;break; default: rank=E; printf(%.2f:%cn,score,rank); return 0;3
3、.编程判断以从键盘输入的三个数为边长,是否能构成三角形。参考程序#include int main() float a,b,c; printf(input a,b,c:); scanf(%f%f%f,&a,&b,&c); if(a0 & b0 & c0 & a+bc & a+cb & b+ca) printf(%.2f,%.2f,%.2f)能围成三角形n,a,b,c); else printf(%.2f,%2.2f,%.2f)不能围成三角形n,a,b,c);4.编程实现将从键盘输入的一个正整数逆序输出,如输入1234,输出3421参考程序#include int main() int n; p
4、rintf(input a number:); scanf(%d,&n); do printf(%d,n%10); n/=10; while(n!=0); return 0;5.输入一个110范围内的整数,计算该数的阶乘。参考程序#include int main() int n,s=1,i; printf(input a number(110):); scanf(%d,&n); for(i=2;i=n;i+) s*=i; printf(%d!=%dn,n,s); return 0;6.从键盘输入的一行字符,统计其含有多少个字符。【参考程序】#include int main() char c
5、h; int cnt=0; printf(input a char line:); ch=getchar(); while(ch!=n) cnt+; ch=getchar(); printf(%dn,cnt); return 0;7.打印乘法口诀表。【参考程序】#include int main() int i,j; for(i=1;i=9;i+) for(j=1;j=i;j+) printf(%d*%d=%-3d,j,i,i*j); printf(n); return 0;8.在屏幕上打印如下规律的图形,具体行数由键盘输入。 * * * * *【参考程序】#include int main(
6、) int i,j,n; printf(请输入打印图形的行数:); scanf(%d,&n); for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(*); printf(n); return 0;9.从键盘输入一个正整数,编程判断其是否为素数(质数).【参考程序】#include int main() int i,n; printf(请输入一个正整数:); scanf(%d,&n); for(i=2;i*i=n;i+) if(n%i=0) break; if(i*i=n|n=1) printf(%d不是
7、一个素数.n,n); else printf(%d是一个素数.n,n); return 0;10.从键盘输入100个整数,求其中正整数的和。【参考程序】#include #define N 100int main() int n,s=0,i; for(i=1;i=N;i+) printf(请输入第%d个整数:,i); scanf(%d,&n); if(n0) continue; s+=n; printf(%dn,s); return 0;11.从键盘输入1000个学生某门课程的百分制成绩,分别统计其中80分以上(即大于或等于80)、60分以上及低于60分的人数。【参考程序】#include #
8、define N 1000int main() int m,n,k,i; float score; m=n=k=0; for(i=1;i100|score=80) m+; else if(score=60) n+; else k+; printf(%d:%d:%dn,m,n,k); return 0;12.运用如下公式计算圆周率的近似值,当最后一项的绝对值小于10-6时,停止计算。【参考程序】#include int main() double pi=0.0,t=1.0; int sgn=1; while(t1000000) pi+=sgn/t; sgn=-sgn; t+=2; printf(
9、Pi=%.6lfn,4*pi); return 0;13.古代某工地需要搬运砖块,已知男人每人每次搬3块,女人每人每次搬2块,小孩两人每次抬一块,现有45人一次正好搬完全部砖块,请问男人、女人、小孩各几人?【参考程序】#include int main() int w,m,c; for(m=0;m=15;m+) for(w=0;w=22;w+) c=45-m-w; if(m*3+w*2+c*.5=45) printf(%d:%d:%dn,m,w,c); return 0;14.从键盘输入两个正整数到m、n中,求它们的最大公约数和最小公倍数。【参考程序】#include int main() i
10、nt m,n,m1,n1,r; printf(请输入两个正整数:); scanf(%d%d,&m,&n); m1=m; n1=n; r=m%n; while(r!=0) m=n; n=r; r=m%n; printf(gcd(%d,%d)=%dn,m1,n1,n); printf(lcm(%d,%d)=%dn,m1,n1,m1*n1/n); return 0;14.编程计算如下式子的值,直到n等于100。【参考程序】#include int main() double s=0.0,t=1.0; int sgn=1; while(t=100) s+=sgn/t; sgn=-sgn; t+=1;
11、printf(s=%.6lfn,s); return 0;15.计算如下规律式子的值。其中a与n的值都是由键盘输入确定。如当a为2,n为3时,该式子表示的含义为2+22+222,故结果为246。【参考程序】#include int main() int a,n,s=0,t; printf(input a,n:); scanf(%d%d,&a,&n); t=a; while(n0) s+=t; t=t*10+a; n-; printf(%dn,s); return 0;16.计算如下式子的值。【参考程序】#include int main() int n; float s=0.0; for(n=2;n=100;n+=2) s+=(float)(n+1)/n; printf(%.6fn,s); return 0;17.如数列第1项为2,此后各项的值均为其前一项的2倍再加3,编程计算该数列的前10项之和。【参考程序】#include int main() int n,s=0,i; n=2; for(i=1;i=3;i+) s+=n; n=n*2+3; printf(%dn,s); return 0;18.现要求将1角钱换成1分、2分或5分的硬币,请问有多少种换法,并输出每一种换法。【参考程序】#include int main() int one,two,five,cnt=0; fo
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1