1、工学大一C语言上机实验报告C语言程序设计实验报告姓名:班级:学号: 实验内容:编写一个程序,从键盘输入任意一个五位数,把这个数值分解为单个数字,然后打印出每一个数字(每个数字之间用三个空格分开)。例如用户输入了42339,屏幕输出结果为: 4 2 3 3 9 【提示】巧妙使用 / 和 % 两种运算符。源代码:#includevoid main() long int num,a,b,c,d,e; scanf(%ld,&num); a=num/10000; b=num%10000/1000; c=num%1000/100; d=num%100/10; e=num%10; printf(%ld %l
2、d %ld %ld %ldn,a,b,c,d,e); 运行结果:实验内容:已知三角形三边a,b,c,计算三角形的面积。注:三角形面积公式为area=s(s-a)(s-b)(s-c)的1/2次幂 S=1/2*(a+b+c)源代码:#include#includevoid main() double area,s,a,b,c; scanf(%lf%lf%lf,&a,&b,&c); s=(a+b+c)/2; if(a0 & b0 & c0) area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%lfn,area); else printf(输入错误,三角形边长不能为
3、负数或0n);运行结果:实验内容:输入圆的半径,计算出圆的周长和面积源代码:#include#includevoid main() double r,z,area,pi=3.14159; scanf(%lf,&r); if(r0) z=2*pi*r; area=pow(r,2)*pi; printf(圆面积为%lf周长为%lfn,area,z);return 0; else printf(输如错误,圆的半径不能为负数或0n);运行结果:实验内容: 体型判断。按“体指数”对肥胖程度进行划分: 体指数t = 体重w / (身高h)2 (w 单位为公斤,h单位为米) 当t = 27时,为肥胖。 编程
4、从键盘输入你的身高h和体重w,根据给定公式计算体指数t,然后判断你的体重属于何种类型。 用3种方法编程: 算法1:用不带else子句的if语句编程 算法2:用在if子句中嵌入if 语句的形式编程 算法3:用在else子句中嵌入if 语句的形式编程 算法1:源代码:#include#includeint main() float w,h; double t; scanf(%f%f,&h,&w); if(w=0 | h=0) printf(输入错误,身高体重不能为负数或0n); goto loop; t=w/pow(h,2); if(t=18 & t=25 & t=27) printf(肥胖n);
5、 loop:return 0;运行结果:算法2:源代码:#include#includeint main() float w,h; double t; scanf(%f%f,&h,&w); if(w=0 | h=0) printf(输入错误,身高体重不能为负数或0n); goto loop; t=w/pow(h,2); if(t=18) printf(正常体重n); goto loop; printf(低体重n); if(t=25) if(t27) printf(超重体重n); goto loop; printf(肥胖n); loop:return 0;运行结果:算法3:源代码:#includ
6、e#includeint main() float w,h; double t; scanf(%f%f,&h,&w); if(w=0 | h=0) printf(输入错误,身高体重不能为负数或0n); else t=w/pow(h,2); if(t=18 & t=25 & t27) printf(超重体重n); else printf(肥胖n); return 0;运行结果:实验内容:编写一个程序,计算-32768+32767之间任意整数(由键盘输入)中各位奇数的平方和。源代码:#includeint main() int a,b=0,c=0,i; scanf(%d,&a); for(i=0;
7、i5;i+) if(a%2!=0) c=a%10; b=b+c*c; a/=10; printf(%dn,b); return 0;运行结果:实验内容:设有一四位数abcd=(ab+cd)2,编写一个程序,求a、b、c、d。源代码:#include#includeint main() int num,a,b,c,d; for(num=1000;num=9999;num+) a=num/1000; b=num%1000/100; c=num%100/10; d=num%10; if(num=pow(10*a+b+10*c+d),2) printf(a=%db=%dc=%dd=%dn,a,b,c,
8、d); return 0;运行结果:实验内容:鸡兔问题:鸡兔共30只,脚共有90个。编写一个程序,求鸡、兔各多少只。源代码:#includeint main() int x,y; for(x=0;x=45;x+) for(y=0;y=22;y+) if(x+y=30 & 2*x+4*y=90) printf(鸡有%d只,兔有%d只n,x,y); return 0;运行结果:实验内容:编写一个程序,求S值(n由键盘输入):(程序检验参考: x=6.66,n=8时,s=40.955;x=6.66,n=15时,s=-1.511源代码:#include#includeint main() double
9、 jiecheng(int); double s=0,x=6.66; int n,i; scanf(%d,&n); for(i=1;i=n;i+) s=s+pow(-1,i)*pow(x,i)/jiecheng(i); printf(%.3fn,s); return 0;double jiecheng(int x) double f; if(x=0|x=1) f=1; else f=jiecheng(x-1)*x; return f;运行结果:实验内容:编写一个程序,求前 n 项之和S值,其中 n1 ,x 0 。(n由键盘输入): 1 2x 3 5x 8 13x S = - + - + - +
10、 . 2x 3 5x 8 13x 21(程序检验参考:x=6.66,n=8时,s= -16.492; x=6.66,n=15时,s=-28.469)源代码:#include#includeint main() int a=1,b=2,n,i,t=0; double s=0,x; scanf(%lf%d,&x,&n); if(n=1 ) for(i=1;i=n;i+) if(i%2) s+=pow(-1,i+1)*a/(b*x); t=a; a=b; b=t+b; else s+=pow(-1,i+1)*a*x/b; t=a; a=b; b=t+b; printf(%fn,s); return
11、0;运行结果:实验内容:利用泰勒级数sin(x)计算sin(x) 的值。要求最后一项的绝对值小于10-5,并统计出此时累加了多少项。(程序检验参考:x=6时,sin(x)= -0.279415,count=13)源代码:#include#includeint main() double jiecheng(int); double s=0,x; int i,count=0; scanf(%lf,&x); for(i=1;i+=2) s+=pow(-1,count)*pow(x,i)/jiecheng(i); count+=1; if (fabs(pow(x,i)/jiecheng(i)pow(1
12、0,-5) break; printf(sin(x)=%f count=%dn,s,count); return 0;double jiecheng(int i) double f; if(i=0|i=1) f=1; else f=jiecheng(i-1)*i; return f;运行结果:实验内容:三色球问题。若一个口袋中放有12个球,其中有3个红色的,3个白色的,6个黑色的,从中任取8个球,问共有多少种不同的颜色搭配?源代码:#includeint main() int i,j,k,way=0; for(i=0;i=3;i+) for(j=0;j=3;j+) for(k=0;k=6;k+
13、) if(i+j+k=8) way=way+1; printf(way=%dn,way); return 0;运行结果:实验内容:编程打印以下图案源代码:#includeint main() int i,j; for(j=1;j=4;j+) for(i=1;i=4-j;i+) printf( ); printf(*n); return 0;运行结果:源代码:#includeint main() int i,j; for(j=1;j=4;j+) for(i=1;i=2*j-1;i+) printf(*); printf(n); return 0;运行结果:源代码:#includeint main
14、() int i,j,m,n; for(j=1;j=7;j+) if(i5) m=4-j;n=2*j-1; else m=j-4; n=(15-2*j); for(i=1;i=m;i+) printf( ); for(i=1;i=n;i+) printf(*); printf(n); return 0;运行结果:实验内容:输出下三角形乘法九九表 12 3 4 5 6 7 8 9- 1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81源代码:#includeint main() int i,j,k; printf( 1 2 3 4 5 6 7 8 9n); printf( -n); for(i=1;i10;i+) for(j=1;j=i;j+) printf( %d ,k=i*j); printf(n); return 0;运行结果:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1