C语言程序设计实验及代码_第1页
C语言程序设计实验及代码_第2页
C语言程序设计实验及代码_第3页
C语言程序设计实验及代码_第4页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西南林业大学C 语言程序设计实验题、代码、输出结果编写目的: 学生的痛,大家都明白,特别是学渣的痛。呃,不过我渐渐从学渣成功逆袭,所以最后才会整理下这些信息,为了让后面的人在面对这C 语言时不会那么脑大,不用像我们开始时候的茫然。认真享受在课堂上GET知识的过程,接下去的事:作业考试也是水到渠成的事情,有的课程的却要花点时间,但就像那句话说的: No pain,no get.付出不一定会有收获,但是不付出一定会让你后悔。所以,认真听课 ,不仅仅只是C语言,还有其他的课程。实验题目及代码、输出结果实验题目目录目录 P1-P6Printf 简单输出三角形 -P6给定圆半径值为 5,编程求圆面积和圆

2、周长 -P6编写一个摄氏温度与华氏温度之间的转换程序-P6编写程序,从键盘上输入两个电阻值,求它们并联电阻值和串联电阻值,输出结果保留两位小数。-P7(有主函数子函数-P26)使用两种指定的方法打印正三角形数阵从键盘输入3 个数字字符,将它们分别转换为对应的整数值(即字符0转换为整数0,字符1转换为整数1,依次类推),然后求3 个整数的平均值。-P8从键盘输入两个两位的正整数,按照以下格式组装成一个四位的正整数。-P8 (指针变量 -P19)输入三角形的三条边长,求三角形的面积。-P9从键盘任意输入3 个整数,选出其中的最大数并打印。-P10从键盘输入三个正整数,判断否能构成三角形的三边?-P

3、10从键盘输入一个合法的算术运算符(+ 、-、* 、/ )及两个实数,使用if语句编写程序,根据输入的运算符判断对这两个实数进行何种运算,并打印运算结果(要求结果保留两位小数)。-P11(有主函数子函数 -P21)从键盘输入一个年份和一个月份,使用switch 语句编程判断并打印该月的天数 -P12从键盘输入1 个整型的分数, 使用 switch 语句编程, 判断如果分数介于0 59 分之间就打印“不及格” ;如果介于 60 79 分之间就打印“及格” ;如果介于 80 89 之间就打印 “良好”;如果介于 90 100 之间就打印 “优秀”。-P13使用 while 语句编程求100 以内能

4、被 5 整除但不能同时被7 整除的数,并统计找到的数的个数。-P13从键盘输入一个正整数,使用while 语句编程求该整数是一个几位数。-P14使用 while 语句编程求=的前 n 项和 -P14使用 for 语句编程求=的前 n 项和 -P15使用 for 语句编程求=的前 n 项和 -P16使用 for 语句的嵌套结构编程打印九 -九乘法表 -P16定义一个大小为10 的整型一维数组,初始化所有数组元素,编程查找数组中的所有奇数,并统计奇数的个数-P17定义一个大小为10 的整型一维数组,初始化其中的9 个元素,这9 个元素已经按照降序排列。从键盘再输入1 个整数,将该整数插入到已有的元

5、素中,需保证这10 个数仍然按照降序排序。-P18利用指针编程,其功能是求电阻的并联值和串联值。-P18利用指针编程,其功能是利用“除号”和“求余号”将输入的两个两位的正整数组合成一个新的四位的正整数。-P16定义一个大小为10 的整型一维数组并初始化数组元素,再定义一个指针变量让其指向该数组,利用指针编程查找数组中的所有奇数。-P20输入三角形的三条边长,定义一个子函数fun( )求三角形的面积-P21定义一个子函数 fun( )打印菱形。 -P22定义一个子函数 fun( ),其功能是求1 累加到 100 的和-P23定义一个子函数 fun( ) ,求表达式= 的前 n 项和 -P23定义

6、一个 fun( )函数,其功能是:求两个整数的和、差、积、商。-P26在主函数中输入一元二次方程ax2+bx+c=0 的三个系数a、b、c,求方程的实根。定义三个子函数fun1( )、 fun2( )、fun3( ) 分别处理方程有无实根、有两个相同实根、有两个不同实根的情况-P27从键盘上输入一个的字符串,输出所有ASCII 码为奇数的字符,并统计这些字符的个数。 -P28从键盘上输入一个由大写字母、小写字母、数字字符、其它字符构成的字符串,统计字符串中的大写字母个数、小写字母个数、 数字字符个数、其它字符个数。-P28从键盘输入两个字符串,分别存到字符数组a 和字符数组b 中,编程将第二个

7、字符串连接到第一个字符串末尾,形成一个新字符串。(不使用#include<string.h>库函数)-P29使用while语句编程求=(n从0开始)前n 项值,直到某一项的值小于10-6 就结束循环。-P30使用for语句的嵌套结构编程打印行数为奇数的对称三教菱形-P31从键盘输入一个正整数x,编程求比 x 大的,最临近 x 的 n 个素数,例如,为 x 和 n 分别输入数值 10和15,就表示求出比 10大的,最临近 10的15个素数。 -P31题目及答案printf( )函数的编程练习格式1编程输出如图所示的三角形。void main()printf("*n &quo

8、t;);printf("*n ");printf("*n ");printf("*n ");给定圆半径值为 5,编程求圆面积和圆周长提示 :( 1)本题需定义三个浮点型变量,如double r = 5, s, l;( 2)输出浮点型数据的格式说明符是 %lf( 3) C 语言中没有这个符号,编写程序时直接使用 3.14159( 4) C 语言中没有求次方的运算符,求次方可用连乘的方法#include<stdio.h>#define PI 3.14159int main()float r=5;printf(" 圆半

9、径 =%lfn 圆面积 =%fn 圆周长 =%fn",r,PI*r*r,2*PI*r);(其中一个数的 n 次方可以用数学运算来算pow(r,n),“ r”为底数, n 为次数 )scanf( )函数、运算符编程练习编写一个摄氏温度与华氏温度之间的转换程序,转换公式是:提示:该公式中的“C”是一个从键盘输入的已知量; “F”是通过公式计算并打印出来的未知量。#include <stdio.h>void main()double F,C;printf(" 请输入一个摄氏温度值:",C);scanf("%lf",&C);F=1.

10、8*C+32;/ 或 F=9/5*C+32 若 定 义 类 型为 int , 则 需 要 变 为 F=9.0/5*C+32 或 F=9/5.0*C+32 或用强制类型转换 F=(double)( 9/5 )*C+32;原因是除号“ / ”在运算时为整型运算printf(" 对应的华氏温度值是 :%.2lf",F);编写程序,从键盘上输入两个电阻值,求它们并联电阻值和串联电阻值,输出结果保留两位小数。运行结果如图所示:注:并联和串联的电阻值计算公式如下。R1*R2( 1)并联电阻 RP =R1+R2( 2)串联电阻 RS = R1+R2提示:( 1) scanf( ) 函数可

11、以写成 scanf("%d,%d", &r1, &r2);( 2)结果保留两位小数的格式说明符是“ %.2lf ”。#include <stdio.h>void main()double R1,R2,RP,RS;printf(" 请输入两个电阻值 :",R1,R2);scanf("%lf,%lf",&R1,&R2);RP=(R1*R2)/(R1+R2);RS=R1+R2;printf(" 并联电阻值 :%.2lf n 串联电阻阻值: %.2lf",RP,RS); 字符的输

12、入和输出1、使用两种指定的方法打印如图所示图形。方法一:使用 printf( )函数的“%c”格式打印图形。提示:一个“%c”只能打印一个字符。方法二:使用 printf( )函数的“%d”格式打印图形。方法一:#include<stdio.h>void main()printf("%4dn %4dn %dn",1,222,3 3333);方法二:#include<stdio.h>void main()char a,b,c;a='1'b='2'c='3'printf(" %cn",

13、a); printf(" %c%c%cn", b,b,b); printf("%c%c%c%c%cn",c,c,c,c,c);1、从键盘输入 3个数字字符,将它们分别转换为对应的整数值(即字符 0 转换为整数 0,字符 1 转换为整数 1,依次类推),然后求 3个整数的平均值。运行结果如图所示:提示:本题的变量定义可参考如下:char a, b, c;/ 变量 a,b,c保存输入的 3个数字字符int x, y, z;/ 变量 x,y,z保存转换后的 3个整数double aver;/ 变量 aver 保存求出的平均值#include<stdio.

14、h>#include<math.h>void main(void)double a,b,c,d;方法二的类似(运用ASCLL码)#include<stdio.h>voidmain()inta,b,c;a=49;b=50c=51;printf(" %cn", a); printf(" %c%c%cn", b,b,b); printf("%c%c%c%c%cn",c,c,c,c,c);printf(" 请输入三个数字字符 :"); scanf("%lf,%lf,%lf"

15、,&a,&b,&c); d=(a+b+c)/3;printf(" 平均值 =%lfn",d); #include <stdio.h>void main(void)char a,b,c;int x,y,z;double aver;printf("请输入三个数字字符: ");scanf("%c,%c,%c",&a,&b,&c); x=a-48;y=b-48;z=c-48;aver=(x+y+z)/3.0;printf("平均值为:%2lf",aver)从键盘输

16、入两个两位的正整数,按照以下格式组装成一个四位的正整数。例如:输入 12和 34,组装成的四位数是 1324。运行效果如右图所示:提示:( 1)首先利用“除号 ”和求“余号 ”分别把两个两位正整数的十位数、个位数分离开;再经过数学运算组装成一个四位数。( 2) scanf( ) 函数可以写成 scanf("%d%d", &a, &b);#include<stdio.h>#include<math.h>void main(void)int a,b,z;printf(" 请输入两个两位数的正数:");scanf(&qu

17、ot;%d %d",&a,&b);z=a/10*1000+b/10*100+a%10*10+b%10;printf(" 合成的四位正整数是: %dn",z);数学函数的使用1、输入三角形的三条边长,求三角形的面积。运行结果如图所示:提示:( 1)本题的变量定义可参考如下:int a, b, c;double x, s;( 2) scanf( ) 函数可以写成 scanf("%d,%d,%d", &a, &b, &c);( 3)计算三角形面积的公式是:其中( 4)求 x 的开方值的库函数是sqrt(x),使

18、用时需包含头文件math.h#include<stdio.h>#include<math.h>void main(void)int a,b,c;double x,s;printf(" 请输入三角形的三边: ");scanf("%d %d %d",&a,&b,&c);x=(a+b+c)/2;s=sqrt(x-a)*(x-b)*(x-c)*x);printf("s=%lfn",s);单分支 if语句编程练习从键盘任意输入3 个整数,选出其中的最大数并打印。提示:( 1) 要判断最大数,需对每

19、两个数作两两比较。( 2) 可以使用 3 个单分支 if 语句编写程序。( 3) 从键盘输入 2 个整数到变量 a、b 中,编程总是把较小的数放入大的数放入 b 中。#include <stdio.h>void main()int a,b,c,t;a 中,较printf("请输入三个整数 :");scanf("%d%d%d",&a,&b,&c);if(a<b)t=a;a=b;b=t;if(a<c)t=a;a=c;c=t;if(b<c)t=b;b=c;c=t;printf("最大数是: %dn

20、",a);void main()int a,b,t;printf("请输入两个整数到变量a,b 中 ");scanf("%d%d",&a,&b);printf("a=%d,b=%dn",a,b);if(a>b)t=a;a=b;b=t;printf("运行结果:a=%d,b=%dn",a,b);elseprintf("运行结果:a=%d,b=%dn",a,b);#include <stdio.h>从键盘输入三个 正整数,判断否能构成三角形的三边?如果能,

21、 就按照以下提示的数学公式计算三角形的面积; 如果不能,就输出“不能构成三角形”的提示信息。提示:( 1) 该题属于“双分支 if-else 语句 ”结构。( 2) 能构成三角形的逻辑条件是: 任意的两边之和均要大于第三边。( 3) 计算三角形面积的公式是:( 4)本题的变量定义可参考如下:int a, b, c;其中double x, s;( 5)本题要用到求 x 开方值的数学库函数 sqrt(x) ,需包含头文件 math.h #include<stdio.h>#include<math.h> void main(void)int a,b,c,m,n,t;doubl

22、e x,s;printf("请输入三角形的三边: ");scanf("%d %d %d",&a,&b,&c);m=a+b;n=b+c;t=a+c;if(m>c&&n>a&&t>b)x=(a+b+c)/2;s=sqrt(x-a)*(x-b)*(x-c)*x);printf("构成的三角形面积是 :%.2lfn",s);elseprintf("不能构成三角形 n");从键盘输入 一个合法的算术运算符( +、- 、* 、/ )及两个实数 ,使用 i

23、f 语句编写程序,根据输入的运算符判断对这两个实数进行何种运算, 并打印运算结果(要求结果保留两位小数)。程序运行效果如下图所示:提示:( 1)该题属于“多分支 if 语句 ”结构。( 2)本题的变量定义可参考如下:char fu;/fu变量用来存放运算符double x, y, z;/x 、 y 变量用来存放输入的2 个实数, z 存放运算结果( 3)输入字符型数据的格式说明符是 %c,实型数据的格式说明符是 %lf 。( 4)输出实数保留 2 位小数的格式说明符是 %.2lf 。( 5)本题可参考教材 P61 例 3.7 ,但是不允许使用 switch 语句编写该题程序。#include&

24、lt;stdio.h> void main()char fu; double x,y,z;int t,a;printf("请输入一个算数运算符和两个浮点数");scanf("%c %lf %lf",&fu,&x,&y);t=47-fu;if(t=4)z=x+y;printf("%.2lf %c %.2lf = %.2lfn",x, fu ,y ,z);else if(t=5)z=x*y;printf("%.2lf %c %.2lf = %.2lfn",x, fu ,y ,z);else

25、 if(t=2)z=x-y;printf("%.2lf %c %.2lf = %.2lfn",x, fu ,y ,z);else if(t=0)z=x/y;printf("%.2lf %c %.2lf = %.2lfn",x, fu ,y ,z);elseprintf("运算符非法,无法参与运算n");从键盘输入一个年份和一个月份, 使用 switch语句编程判断并打印该月的天数。程序运行效果如下所示:提示:( 1)本题先使用 if 语句判断年份和月份是否有效。( 2)如果年份和月份有效,再嵌套 switch 语句判断每个月份的天数。

26、( 3)对于 2月份的处理需要判断闰年,闰年的判断方法请 参考教材 P62例 3.8 。#include<stdio.h>void main()int year,month,day;printf(" 请输入一个年份和一个月份:");scanf("%d %d",&year,&month);if(month>0&&month<=12)switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("%d 月有 31

27、天n",month);break;case 4:case 6:case 9:case 11:printf("%d 月有 30 天n",month);break;default:if(year%4=0&&year%100!=0)|(year%400=0)printf("2 月有 29 天n");elseprintf("2 月有 28 天n");break;elseprintf(" 输入的月份值无效! ");从键盘输入 1 个整型的分数, 使用 switch语句编程 ,判断如果分数介于0 59

28、分之间就打印“不及格;”如果介于 60 79 分之间就打印“及格;”如果介于 80 89之间就打印“良好;”如果介于 90 100 之间就打印“优秀。”#include<stdio.h>printf(" 及格 n");void main()break;case 8:int a,b;printf(" 良好 n");printf(" 请输入一个分数介于 <0 break;间:");case 9:100>scanf("%d",&a);case 10:if(a>0&&a

29、<=100)printf(" 优秀 n");break;b=a/10;default:switch(b)printf(" 不及格 n");break;case 6:case 7:elsen");printf("输入的分数份值无效!使用while语句编程 求100 以内能被 5 整除但不能同时被7 整除的数,并统计找到的数的个数。提示:( 1)该题变量可定义为:int i=1, n=0;/ i是循环变量 , n是统计个数的变量( 2)整除问题应使用求余号“ %”而不能使用除号“,/ ”。#include<stdio.h>

30、;void main()c=i%7;if(b=0&&c!=0)int i,n,b,c;i=1;n=0;printf("100 以内能被不能同时被 7 整除的数是:while(i<=100)5 整除但n");printf("%d",i);n=n+1;i+;printf(" 符合条件的数有%d个b=i%5;n",n);从键盘输入一个正整数, 使用 while 语句编程 求该整数是一个几位数。程序运行效果如下所示:提示:( 1)该题变量可定义为int x, n=0, m;其中, x 保存输入的正整数, n 统计位数,

31、m暂存 x 的值。( 2)每次循环将 x 的值缩小 10 倍,直到 x 缩小为 0 即结束循环, 循环次数就是整数的位数。#include<stdio.h>void main()int x,n,m,i;n=0;printf(" 请输入一个正整数: ");scanf("%d",&x);i=x;while(m!=0)m=x/10;n+;x=m;printf("%d 是一个 %d 位数 n",i,n);使用 while 语句编程 求以下表达式的值,程序运行结果如图所示:提示:( 1)该题变量可定义为: int i;dou

32、ble mu, t, sum;( 2)本题的循环体里有3 个通式:分母的通式、当前项的通式、求和的通式、i 自增的通式。#include<stdio.h>void main()int i;double mu,t,sum;sum=1/mu+t;t=sum;i+;mu=mu+i;mu=1;t=0;i=1;printf(" 表达式的值为: n");printf("sum= %fn",sum);while(i<=10)for语句编程练习1、使用 for 语句编程 求以下表达式的值, 如果从键盘输入20 赋值给变量 n,则运行效果如图所示:提示:

33、( 1)该题变量可定义为int i, n;double t, sum;( 2)本题需用到求开方值的数学函数 sqrt( ) ,并包含头文件 math.h #include<stdio.h>#include<math.h>void main()int i,n;double t,sum,b=0;printf("请输入整数值: ");scanf("%d",&n);sum=0;for(i=0;i<=20;i+)t=sqrt(i,2);b=b+t;sum=sum+b;printf("sum=%lfn",su

34、m);使用 for语句编程 求以下表达式的值,程序运行结果如图所示:提示:( 1)注意观察可知相邻两项中,后一项的分母是前一项的分母加i值。( 2)该题变量可定义为:int i;double mu, t, sum;其中i是循环变量,mu保存每一次循环的当前项的分母,t 保存每一次循环的当前项,sum保存N项式的总和。#include<stdio.h>void main()mu=mu+i;t=1/mu;sum=sum+t;int i;double t=0,sum=0,mu=0;for(i=1;i<=10;i+)printf("表达式值为: n");print

35、f("sum = %lfn",sum);循环的嵌套编程练习使用 for语句的嵌套结构 编程打印九 - 九乘法表,程序运行效果如图所示:#include<stdio.h>void main()int i,m,n;for(i=1 ;i<10;i+)for(m=1;m<=i;m+)n=i*m;printf("%d*%d=%d ",m,i,n);printf("n");定义一个大小为10 的整型一维数组,初始化所有数组元素,编程查找数组中的所有奇数,并统计奇数的个数。运行效果如图所示:提示:( 1) 本题变量定义可参考

36、如下int a10=2,4,5,6,9,11,13,16,17,19, i, sum=0;( 2) 首先用一个 for 循环打印 10个数组元素的初值。( 3) 再用一个 for 循环嵌套 if 语句查找并打印数组中的奇数。( 1)源程序粘贴在此处。#include<stdio.h>/#define N 10void main()printf("n");printf("数组中的奇数是:for(i=0;i<=10;i+)");inta10=2,4,5,6,9,11,13,16,17,19,i,n=0;printf("数组中的初始

37、值是:");if(ai%2!=0)printf("%d ",ai);n+;for(i=0;i<10;i+)printf("%d ",ai);printf("n");printf("n");printf("奇数个数是:%dn",n);printf("n");定义一个大小为 10 的整型一维数组,初始化其中的 9 个元素,这 9 个元素已经按照降序排列。 从键盘再输入 1 个整数,将该整数插入到已有的元素中, 需保证这 10 个数仍然按照降序排序。程序运行效果如下

38、图所示:提示:( 1)本题变量定义可参考如下int a10=20, 18, 15, 12, 10, 9, 7, 5, 2, i, j, t;( 2)本题使用冒泡法排序, 先将键盘输入的 1个整数放到数组元素 a9 中,然后使用排序算法对这 10个数进行降序排序。#include<stdio.h>printf("%d ",ai);/#define N 10void main()printf("n");printf("n");int a9= 20, 18, 15, 12, 10,printf(" 请输入一个整数:9,

39、 7, 5, 2;");int i,j,t;9 个元素是:scanf("%d",&a9);printf(" 数组中前面printf("n");n");printf(" 数组中的10 个元素for(i=0;i<9;i+)是: n");for(i=0;i<10;i+)aj+1=t;printf("%d ",ai);printf("n");printf("n");printf("降序排序后的整数for(i=0;i<1

40、0;i+)为: ");for(i=0;i<10;i+)for(j=0;j<9-i;j+)printf("%d ",ai);if(aj<aj+1)printf("n");t=aj;aj=aj+1;利用指针编程 ,其功能是求电阻的并联值和串联值。程序运行效果如图所示:要求:输入电阻值;计算并联串联值;打印结果都必须使用指针完成。提示:(1)该题的变量可定义为int r1, r2, *p1, *p2;double rp, rs, *pp, *ps;其中指针 p1、 p2 用来指向并操作变量r1 、r2 ;指针 pp、ps 用来指向并

41、操作变量rp 、rs 。(2)在利用指针编程之前,应将指针指向对应的变量。#include<stdio.h>void main()int r1, r2, *p1, *p2;double rp, rs, *pp, *ps;printf("请输入两个电阻值 ");scanf("%d %d",&r1,&r2);p1=&r1;p2=&r2;rp=(double)(*p1 * *p2) / (double)(*p1 + *p2);rs=*p1+*p2;pp=&rp;ps=&rs;并联电阻组织 = %lfn

42、",*pp);printf("printf("串联电阻组织 = %lfn",*ps);利用指针编程 ,其功能是利用“除号 ”和求“余号 ”将输入的两个两位的正整数组合成一个新的四位的正整数。要求:输入整数值;计算;打印结果都必须使用指针完成。提示:该题的变量可定义为int a, b, c, *pa, *pb, *pc;其中指针 pa、pb、 pc 分别用来指向并操作变量a、b、c。变量 a、b 用来存放输入的两个两位正整数,变量c 用来存放组合后的四位的正整数。 方法一#include<stdio.h>void main()int a,b,c

43、,*pa,*pb,*pc;printf("请输入两个两位数的正整数:");scanf("%d %d",&a,&b);pa=&a;pb=&b;c=*pa/10*1000+*pb/10*100+*pa%10*10+*pb%10;pc=&c;printf("组合成的四位正整数是:%dn",*pc); 方法二#include<stdio.h>void main()int a,b,c,*pa,*pb,*pc;printf("请输入两个两位数的正整数:");pa=&a

44、;pb=&b;scanf("%d %d",pa,pb);c=*pa/10*1000+*pb/10*100+*pa%10*10+*pb%10;pc=&c;printf("%dn",*pc);/ Int前不能空行,不然无法识别。定义一个大小为 10的整型一维数组并初始化数组元素, 再定义一个指针变量让其指向该数组,利用指针编程查找数组中的所有奇数。运行效果如图所示:提示:( 1) 该题变量可定义为int a10=2,4,5,6,9,11,13,16,17,19, *p, i;( 2)在使用指针编程之前,应先将指针p 指向数组。要求:使用“下标

45、法 ”编程,即使用“pi”的形式引用数组元素。 方法一 #include<stdio.h>,*p,i,n=0;(p=a; )void main()p=&ai;printf("数组中的初始值是: ");intfor(p=a,i=0;i<10;i+)a10=2,4,5,6,9,11,13,16,17,19(for(i=0;i<10;i+)printf("%d ",pi);printf("n");printf("n");printf(" 数组中的奇数是: "); for

46、(p=a,i=0;i<=9;i+)(for(i=0;i<=9;i+)if(pi%2!=0) printf("%d ",pi);n+;printf("n");printf("n");printf(" 奇数个数是: %dn",n); 方法二#include<stdio.h>void main()inta10=2,4,5,6,9,11,13,16,17,19,*p,i,n=0;p=a;printf(" 数组中的初始值是: "); for(i=0;i<10;i+)print

47、f("%d ",pi);printf("n");printf("n");printf(" 数组中的奇数是: "); for(i=0;i<=9;i+)if(pi%2!=0) printf("%d ",pi); n+;printf("n");printf("n");printf("奇数个数是: %dn",n);输入三角形的三条边长,定义一个子函数fun( )求三角形的面积。运行结果如图所示:要求:( 1)数据输入和结果打印都必须在 m

48、ain( ) 函数中完成。( 2) fun( ) 函数的功能是求三角形的面积。提示:( 1)计算三角形面积的公式是:x1 ( a bc)sx( x a)( x b)( xc) 其中2math.h计算 x 的开方值的库函数是sqrt(x) ,使用时需包含头文件( 2) fun( )函数的函数首部可参考如下double fun(int a, int b, int c)/ 该函数有 3 个形参,返回值类型为double#include<stdio.h>#include<math.h>double fun(int a,int b,int c)double m;double d,

49、s;d=(a+b+c)/2;s=sqrt(d-a)*(d-b)*(d-c)*d);return(s);void main()int a,b,c;double m;printf(" 请输入三角形的三边 :");scanf("%d %d %d",&a,&b,&c);m=fun(a,b,c);printf(" 三角形面积 =%lfn",m);定义一个子函数fun( )打印菱形。运行结果如图所示:要求:菱形的行数在 main( ) 函数中输入,根据输入的行数决定菱形打印几行。提示:( 1)fun( ) 函数的函数首部可参考如下 void fun(int x) / 该函数有 1 个形参,无返回值( 2)在 fun( )函数内部,首先根据形参x 的值计算出正三角和倒三角的行数,然后再执行循环的嵌套结构分别打印正三角和倒三角。#include<st

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论