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

下载本文档

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

文档简介

西南林业大学C语言程序设计实验题、代码、输出结果编写目的:学生的痛,大家都明白,特别是学渣的痛。呃,不过我渐渐从学渣成功逆袭,所以最后才会整理下这些信息,为了让后面的人在面对这C语言时不会那么脑大,不用像我们开始时候的茫然。 认真享受在课堂上GET知识的过程,接下去的事:作业考试也是水到渠成的事情,有的课程的却要花点时间,但就像那句话说的:No pain,no get. 付出不一定会有收获,但是不付出一定会让你后悔。所以,认真听课,不仅仅只是C语言,还有其他的课程。实验题目及代码、输出结果实验题目目录目录 P1-P6Printf简单输出三角形-P6给定圆半径值为5,编程求圆面积和圆周长-P6编写一个摄氏温度与华氏温度之间的转换程序-P6编写程序,从键盘上输入两个电阻值,求它们并联电阻值和串联电阻值,输出结果保留两位小数。-P7(有主函数子函数-P26)使用两种指定的方法打印正三角形数阵-P7从键盘输入3个数字字符,将它们分别转换为对应的整数值(即字符0转换为整数0,字符1转换为整数1,依次类推),然后求3个整数的平均值。-P8从键盘输入两个两位的正整数,按照以下格式组装成一个四位的正整数。-P8(指针变量-P19)输入三角形的三条边长,求三角形的面积。-P9从键盘任意输入3个整数,选出其中的最大数并打印。-P10从键盘输入三个正整数,判断否能构成三角形的三边?-P10从键盘输入一个合法的算术运算符(+、-、*、/)及两个实数,使用if语句编写程序,根据输入的运算符判断对这两个实数进行何种运算,并打印运算结果(要求结果保留两位小数)。-P11(有主函数子函数-P21)从键盘输入一个年份和一个月份,使用switch语句编程判断并打印该月的天数-P12从键盘输入1个整型的分数,使用switch语句编程,判断如果分数介于0 59分之间就打印“不及格”;如果介于60 79分之间就打印“及格”;如果介于80 89之间就打印“良好”;如果介于90 100之间就打印“优秀”。-P13使用while语句编程求100以内能被5整除但不能同时被7整除的数,并统计找到的数的个数。-P13从键盘输入一个正整数,使用while语句编程求该整数是一个几位数。-P14使用while语句编程求an=1n1n的前n项和-P14使用for语句编程求an=1nn的前n项和-P15使用for语句编程求an=1i=0nn的前n项和-P16使用for语句的嵌套结构编程打印九-九乘法表-P16定义一个大小为10的整型一维数组,初始化所有数组元素,编程查找数组中的所有奇数,并统计奇数的个数-P17定义一个大小为10的整型一维数组,初始化其中的9个元素,这9个元素已经按照降序排列。从键盘再输入1个整数,将该整数插入到已有的元素中,需保证这10个数仍然按照降序排序。-P18利用指针编程,其功能是求电阻的并联值和串联值。-P18利用指针编程,其功能是利用“除号”和“求余号”将输入的两个两位的正整数组合成一个新的四位的正整数。-P16定义一个大小为10的整型一维数组并初始化数组元素,再定义一个指针变量让其指向该数组,利用指针编程查找数组中的所有奇数。-P20输入三角形的三条边长,定义一个子函数fun( )求三角形的面积-P21定义一个子函数fun( )打印菱形。-P22定义一个子函数fun( ),其功能是求1累加到100的和-P23定义一个子函数fun( ) ,求表达式an=1n!的前n项和-P23定义一个fun( )函数,其功能是:求两个整数的和、差、积、商。-P26在主函数中输入一元二次方程ax2+bx+c=0的三个系数a、b、c,求方程的实根。定义三个子函数 fun1( )、fun2( )、fun3( ) 分别处理方程有无实根、有两个相同实根、有两个不同实根的情况-P27从键盘上输入一个的字符串,输出所有ASCII码为奇数的字符,并统计这些字符的个数。-P28从键盘上输入一个由大写字母、小写字母、数字字符、其它字符构成的字符串,统计字符串中的大写字母个数、小写字母个数、数字字符个数、其它字符个数。-P28从键盘输入两个字符串,分别存到字符数组a和字符数组b中,编程将第二个字符串连接到第一个字符串末尾,形成一个新字符串。(不使用#include库函数)-P29使用while语句编程求an=xnn!(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 );printf(*n );printf(*n );printf(*n );给定圆半径值为5,编程求圆面积和圆周长提示: (1)本题需定义三个浮点型变量,如 double r = 5, s, l;(2)输出浮点型数据的格式说明符是 %lf (3)C语言中没有这个符号,编写程序时直接使用3.14159(4)C语言中没有求次方的运算符,求次方可用连乘的方法#include#define PI 3.14159int main()float r=5;printf(圆半径=%lfn圆面积=%fn圆周长=%fn,r,PI*r*r,2*PI*r);(其中一个数的n次方可以用数学运算来算pow(r,n),“r”为底数,n为次数)scanf( )函数、运算符编程练习编写一个摄氏温度与华氏温度之间的转换程序,转换公式是:提示:该公式中的“C”是一个从键盘输入的已知量;“F”是通过公式计算并打印出来的未知量。#include void main()double F,C;printf(请输入一个摄氏温度值:,C);scanf(%lf,&C);F=1.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+R2R1*R2注:并联和串联的电阻值计算公式如下。(1)并联电阻 RP = (2)串联电阻 RS = R1+R2提示:(1)scanf( )函数可以写成 scanf(%d,%d, &r1, &r2);(2)结果保留两位小数的格式说明符是“%.2lf”。#include 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);字符的输入和输出1、使用两种指定的方法打印如图所示图形。方法一:使用printf( )函数的“%c”格式打印图形。 提示:一个“%c”只能打印一个字符。方法二:使用printf( )函数的“%d”格式打印图形。方法一:#includevoid main()printf(%4dn %4dn %dn,1,222,33333);方法二:#includevoid main()char a,b,c;a=1;b=2;c=3;printf( %cn, a);printf( %c%c%cn, b,b,b);printf(%c%c%c%c%cn,c,c,c,c,c);方法二的类似(运用ASCLL码)#includevoid main() int a,b,c; a=49; b=50 c=51; printf( %cn, 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#includevoid main(void)double a,b,c,d;printf(请输入三个数字字符:);scanf(%lf,%lf,%lf,&a,&b,&c);d=(a+b+c)/3;printf(平均值=%lfn,d);#include 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);fuchu水到渠成的事情,有的可999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999从键盘输入两个两位的正整数,按照以下格式组装成一个四位的正整数。例如:输入12和34,组装成的四位数是1324。运行效果如右图所示:提示:(1)首先利用“除号”和“求余号”分别把两个两位正整数的十位数、个位数分离开;再经过数学运算组装成一个四位数。(2)scanf( )函数可以写成 scanf(%d%d, &a, &b);#include#includevoid main(void)int a,b,z;printf(请输入两个两位数的正数:);scanf(%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),使用时需包含头文件 math.h#include#includevoid 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) 要判断最大数,需对每两个数作两两比较。(2) 可以使用3个单分支if语句编写程序。(3) 从键盘输入2个整数到变量a、b中,编程总是把较小的数放入a中,较大的数放入b中。#include void main()int a,b,c,t;printf(请输入三个整数:);scanf(%d%d%d,&a,&b,&c);if(ab)t=a; a=b; b=t;if(ac)t=a; a=c; c=t;if(bc)t=b; b=c; c=t;printf(最大数是:%dn,a);#include void main()int a,b,t;printf(请输入两个整数到变量a,b中);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);if(ab)t=a;a=b;b=t;printf(运行结果:a=%d,b=%dn,a,b);elseprintf(运行结果:a=%d,b=%dn,a,b);从键盘输入三个正整数,判断否能构成三角形的三边?如果能,就按照以下提示的数学公式计算三角形的面积;如果不能,就输出“不能构成三角形”的提示信息。提示:(1) 该题属于“双分支if-else语句”结构。(2) 能构成三角形的逻辑条件是:任意的两边之和均要大于第三边。其中 (3) 计算三角形面积的公式是:(4)本题的变量定义可参考如下:int a, b, c;double x, s;(5)本题要用到求x开方值的数学库函数sqrt(x),需包含头文件 math.h#include#includevoid main(void)int a,b,c,m,n,t;double x,s;printf(请输入三角形的三边:);scanf(%d %d %d,&a,&b,&c);m=a+b;n=b+c;t=a+c;if(mc&na&tb)x=(a+b+c)/2;s=sqrt(x-a)*(x-b)*(x-c)*x);printf(构成的三角形面积是:%.2lfn,s);elseprintf(不能构成三角形n);从键盘输入一个合法的算术运算符(+、-、*、/)及两个实数,使用if语句编写程序,根据输入的运算符判断对这两个实数进行何种运算,并打印运算结果(要求结果保留两位小数)。程序运行效果如下图所示:提示:(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语句编写该题程序。#includevoid 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 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语句判断每个月份的天数。(3)对于2月份的处理需要判断闰年,闰年的判断方法请参考教材P62例3.8。#includevoid main()int year,month,day;printf(请输入一个年份和一个月份:);scanf(%d %d,&year,&month);if(month0&month=12)switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf(%d月有31天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分之间就打印“不及格”;如果介于60 79分之间就打印“及格”;如果介于80 89之间就打印“良好”;如果介于90 100之间就打印“优秀”。#includevoid main()int a,b;printf(请输入一个分数介于间:);scanf(%d,&a);if(a0&a=100)b=a/10;switch(b)case 6:case 7:printf(及格n);break;case 8:printf(良好n);break;case 9:case 10:printf(优秀n);break;default:printf(不及格n);break;elseprintf(输入的分数份值无效!n);使用while语句编程求100以内能被5整除但不能同时被7整除的数,并统计找到的数的个数。提示:(1)该题变量可定义为:int i=1, n=0; / i 是循环变量, n是统计个数的变量(2)整除问题应使用求余号“%”,而不能使用除号“/”。#includevoid main()int i,n,b,c;i=1;n=0;printf(100以内能被5整除但不能同时被7整除的数是:n);while(i=100)b=i%5;c=i%7;if(b=0&c!=0)printf(%d ,i);n=n+1;i+;printf(符合条件的数有%d个n,n);从键盘输入一个正整数,使用while语句编程求该整数是一个几位数。程序运行效果如下所示:提示:(1)该题变量可定义为 int x, n=0, m; 其中,x保存输入的正整数,n统计位数,m暂存x的值。(2)每次循环将x的值缩小10倍,直到x缩小为0即结束循环,循环次数就是整数的位数。#includevoid 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; double mu, t, sum;(2)本题的循环体里有3个通式:分母的通式、当前项的通式、求和的通式、i自增的通式。#includevoid main()int i;double mu,t,sum;mu=1;t=0;i=1;while(i=10)sum=1/mu+t;t=sum;i+;mu=mu+i;printf(表达式的值为:n);printf(sum= %fn,sum);for语句编程练习1、使用for语句编程求以下表达式的值,如果从键盘输入20赋值给变量n,则运行效果如图所示:提示:(1)该题变量可定义为int i, n; double t, sum;(2)本题需用到求开方值的数学函数sqrt( ),并包含头文件 math.h#include#includevoid 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,sum);使用for语句编程求以下表达式的值,程序运行结果如图所示:提示:(1)注意观察可知相邻两项中,后一项的分母是前一项的分母加 i 值。(2)该题变量可定义为:int i; double mu, t, sum; 其中i是循环变量,mu保存每一次循环的当前项的分母,t保存每一次循环的当前项,sum保存N项式的总和。#includevoid main()int i;double t=0,sum=0,mu=0;for(i=1;i=10;i+)mu=mu+i;t=1/mu;sum=sum+t;printf(表达式值为:n);printf(sum = %lfn,sum);循环的嵌套编程练习使用for语句的嵌套结构编程打印九-九乘法表,程序运行效果如图所示:#includevoid main()int i,m,n;for(i=1 ;i10;i+)for(m=1;m=i;m+)n=i*m;printf(%d*%d=%d ,m,i,n);printf(n);定义一个大小为10的整型一维数组,初始化所有数组元素,编程查找数组中的所有奇数,并统计奇数的个数。运行效果如图所示:提示:(1) 本题变量定义可参考如下int a10=2,4,5,6,9,11,13,16,17,19, i, sum=0; (2) 首先用一个for循环打印10个数组元素的初值。(3) 再用一个for循环嵌套if语句查找并打印数组中的奇数。(1)源程序粘贴在此处。#include/#define N 10void main()int a10=2,4,5,6,9,11,13,16,17,19, i,n=0;printf(数组中的初始值是:);for(i=0;i10;i+)printf(%d ,ai);printf(n);printf(n);printf(数组中的奇数是:);for(i=0;i=10;i+)if(ai%2!=0)printf(%d ,ai);n+;printf(n);printf(n);printf(奇数个数是:%dn,n);定义一个大小为10的整型一维数组,初始化其中的9个元素,这9个元素已经按照降序排列。从键盘再输入1个整数,将该整数插入到已有的元素中,需保证这10个数仍然按照降序排序。程序运行效果如下图所示:提示:(1)本题变量定义可参考如下 int a10= 20, 18, 15, 12, 10, 9, 7, 5, 2, i, j, t;(2)本题使用冒泡法排序,先将键盘输入的1个整数放到数组元素a9中,然后使用排序算法对这10个数进行降序排序。#include/#define N 10void main()int a9= 20, 18, 15, 12, 10, 9, 7, 5, 2;int i,j,t;printf(数组中前面9个元素是:n);for(i=0;i9;i+)printf(%d ,ai);printf(n);printf(n);printf(请输入一个整数:);scanf(%d,&a9);printf(n);printf(数组中的10个元素是:n);for(i=0;i10;i+)printf(%d ,ai);printf(n);printf(n);for(i=0;i10;i+)for(j=0;j9-i;j+)if(ajaj+1)t=aj;aj=aj+1;aj+1=t;printf(降序排序后的整数为:);for(i=0;i10;i+)printf(%d ,ai);printf(n);利用指针编程,其功能是求电阻的并联值和串联值。程序运行效果如图所示:要求:输入电阻值;计算并联串联值;打印结果都必须使用指针完成。提示:(1)该题的变量可定义为int r1, r2, *p1, *p2;double rp, rs, *pp, *ps;其中指针p1、p2用来指向并操作变量r1、r2;指针pp、ps用来指向并操作变量rp、rs。(2)在利用指针编程之前,应将指针指向对应的变量。#includevoid 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;printf(并联电阻组织 = %lfn,*pp);printf(串联电阻组织 = %lfn,*ps);利用指针编程,其功能是利用“除号”和“求余号”将输入的两个两位的正整数组合成一个新的四位的正整数。要求:输入整数值;计算;打印结果都必须使用指针完成。提示:该题的变量可定义为int a, b, c, *pa, *pb, *pc;其中指针pa、pb、pc分别用来指向并操作变量a、b、c。变量a、b用来存放输入的两个两位正整数,变量c用来存放组合后的四位的正整数。方法一#includevoid main() int a,b,c,*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);方法二#includevoid main()int a,b,c,*pa,*pb,*pc;printf(请输入两个两位数的正整数:);pa=&a;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指向数组。要求:使用“下标法”编程,即使用“pi”的形式引用数组元素。方法一#includevoid main()int a10=2,4,5,6,9,11,13,16,17,19,*p,i,n=0;p=&ai;(p=a;)printf(数组中的初始值是:);for(p=a,i=0;i10;i+) (for(i=0;i10;i+)printf(%d ,pi);printf(n);printf(n);printf(数组中的奇数是:);for(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);方法二#includevoid main()int a10=2,4,5,6,9,11,13,16,17,19,*p,i,n=0;p=a;printf(数组中的初始值是:);for(i=0;i10;i+)printf(%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)数据输入和结果打印都必须在main( )函数中完成。(2)fun( )函数的功能是求三角形的面积。提示:(1)计算三角形面积的公式是:其中计算x的开方值的库函数是 sqrt(x),使用时需包含头文件 math.h(2)fun( )函数的函数首部可参考如下 double fun(int a, int b, int c) /该函数有3个形参,返回值类型为double#include#includedouble fun(int a,int b,int c)double m;double d,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的值计算出正三角和倒三角的行数,然后再执行循环的嵌套结构分别打印正三角和倒三角。#includevoid fun(int x) int i,j,k;for(i=1;i=x/2+1;i+)for(k=1;k=x/2+2-i;k+)printf( );for(j=1;j=2*i-1;j+)printf(*);printf(n);for(i=1;i=x/2;i+)printf( );for(k=1;k=i;k+)printf( );for(j=1;j=x-2*i;j+)printf(*);printf(n);void main()int a;printf(请输入菱形的行数(注意:行数为奇数):);scanf(%d,&a);fun(a);定义一个子函数fun( ),其功能是求1累加到100的和。要求:结果在子函数打印。提示:(1)fun( )函数写在前,main( )函数写在后。(2)fun( )函数定义为无参、无返回值形式。#includevoid fun() int i,sum=0;for(i=1;i=100;i+)sum=sum+i;printf(1+2+3+.+100=%dn,sum);printf(n);void main()fun();定义一个子函数fun( ) ,求表达式 的值。主函数定义如下所示,请完成fun( )函数。#includedouble fun(int n);void main()int n;double sum;printf(请输入n的值:);scanf(%d,&n);sum=fun(n);printf(sum=%lfn,sum); double fun(int n)int i;double a=1,b,sum=1;for(i=1;i=n;i+)a=(double)a*i;b=(double)1/a;sum=sum+b;return(sum);2、定义一个子函数fun( )求算术表达式的解。要求:运算符(+, -, *, /, %)和两个整数在主函数输入,结果也在主函数打印。提示:(1)主函数内先判断运算符的有效性,如果运算符有效,就调用fun( )函数。如果运算符非法,就打印错误提示信息,不调用fun( )函数。(2)fun( )函数的函数首部可以参考如下double fun(char fu, int a, int b)其中形参 fu 代表运算符,形参a、b代表参与运算的两个数,函数返回类型为double,表示函数的运行结果是实数。double fun(char fu, double x, double y ,int t)double ans;if(t=4)ans=x+y;else if(t=5)ans=x*y;

温馨提示

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

评论

0/150

提交评论