《C语言程序设计》实验指导书答案(5)

2019-07-30 13:11

printf(\ scanf(\

printf(\ system(\ }

2. //裴波那契数列的前两项是1、1,以后的每一项都是其相邻前两项之和。编写函数过程求: ⑴ 数列前n项和FS;⑵ 前n项的平均值V。并就n=20计算并输出FS与V。 #include #include #define m 20 long Fib(int n) {

long fib[m] = {1,1}; long sum=0; int i;

for(i=2;i

fib[i] = fib[i-1]+fib[i-2]; }

for(i=0;i

sum=sum+fib[i]; }

return sum; }

float Avg(int n) {

float avg=0.0;

avg=Fib(n)*1.0/n;//如果不乘以1.0,结果可能不对,因为整数/整数. return avg; }

main() {

int n;

printf(\ scanf(\

printf(\前%d项和=%d\\n\

printf(\前%d项和平均值=%f\\n\ system(\ }

前20项和为17710,平均值为885.50 3.

4. //编写一个函数程序,其功能是判定一个数是否为素数,若是素数则函数返回值为1, 若不是

素数则函数返回值为0。用此函数判定找出 100 以内最大的 3 个素数。 #include #include #include

int prime(int n)//判断素数的函数 { int flag=1,i; for (i=2;i<=sqrt(n)&&flag==1;i++)//for(i=2;i<=sqrt(n)&&flag==1;i++) if(n%i==0) flag=0; return(flag); }

main() { int i,j=0,a[100]; for(i=0;i<=100;i++) {

if(prime(i))//如果是素数,则记入数组中 {

a[j]=i; j++; } }

printf(\ for(i=j-3;i

5. //编写函数程序,用牛顿迭代法求一元方程 x5+2x3-x2+x+1=0在 0 附近的近似值。 #include #include #include float solut()//

{//牛顿迭代法公式为x=x0-f(x)/f'(x) float x=0,x0,f,f1; do{

x0=x;

f=pow(x0,5)+2*pow(x0,3)-x0*x0+x0+1; f1=5*pow(x0,4)+6*pow(x,2)-2*x0+1; x=x0-f/f1;

} while(fabs(x-x0)>1e-5); return x; }

main()

{

printf(\ system(\ }

6. //编写函数程序,计算正整数 n1~n2 之间所有素数之和。 #include #include #include

int prime(int n)//判断素数的函数 { int flag=1,i; for (i=2;i<=sqrt(n)&&flag==1;i++)//for(i=2;i<=sqrt(n)&&flag==1;i++) if(n%i==0) flag=0; return(flag); }

main() { int i,n1,n2,sum; printf(\ scanf(\ for(i=n1;i<=n2;i++) {

if(prime(i))//如果是素数,则加到和里 sum=sum+i; }

printf(\ system(\ }

7. //用递归方法求 Fibonacci数列前 20 项及其这20项的和。 #include #include #include long Fib(int n) {long fib=0; if(n==1) fib=1; else if(n==0) fib=0; else if(n==2) fib=1; else

fib=Fib(n-1)+Fib(n-2); return fib;

}

int main() {

int i;

long sum=0; for(i=0;i<20;i++) sum=sum+Fib(i); printf(\ system(\ return 0; }

实验七(第九章实验)此实验不做

实验目的:

1. 掌握无参和带参宏的定义和宏替换方法。 2. 掌握文件包含处理方法。 实验内容:

1. 设计一个判断奇数的带参宏。在主函数中连续读取整数,直到输入的整数是奇数时

中止程序运行。

2. 用带参数的宏实现求两个数的最大值功能,再利用上述的带参宏设计一个求三个数

中最大数的带参宏。在主函数中求下列形式数据中的最大值:

(1) (a,b) (2) (a,b,c) (3) (a-2,b+2) 4) (a-2,b,c+2)

3. 输入两个整数,求它们相除的余数。用带参的宏来实现,并写主函数调用宏。 4. 给年份year定义一个宏,以判别该年份是否闰年,并写主函数调用宏。

5. 三角形的面积为:

area?s(s?a)(s?b)(s?c),其中,

s?1(a?b?c)2,a,

b,c为三角形的三边。定义两个带参的宏定义,一个用来求s,另一个用来求area,

在程序中用带实参的宏名来求面积area。

实验过程: 实验结果:1. #include #include

#define odd(a) (a%2==0) main() {

int a,b,c;

printf(\ scanf(\ while(odd(a)) {

scanf(\ }

system(\ } 2.

#include #include

#define MAX(a,b) ((a)>(b)?(a):(b)) main() {

int a,b,c;

printf(\

scanf(\

printf(\

system(\ }

3. 见作业9.2 4. 见作业9.4 5. 见作业9.3

实验八(第8章实验一)

实验目的:

1. 通过实验进一步掌握指针的概念,会定义和使用指针变量。 2. 掌握指向变量的指针变量的使用方法。

3. 掌握指向一维数组的指针变量来处理数组元素。 4. 掌握指向字符串的指针变量的使用方法。 5. 掌握指针作为函数参数的用法。 实验内容:

1.用指针变量按从小到大的顺序输出三个整数。

2.输入n(不大于20)个单精度数存入一维数组,用指针变量处理数组元素的方式将其逆序存放后输出。n从键盘输入。 3.利用指针完成两个变量值互换。

4.编写一个程序,用12个月份的英文名称初始化一个字符指针数组,当键 盘输入整数为1到12 时,显示相应的月份名,键入其他整数时显示错误信息。 5.用选择法对10个整数排序(降序)。

6.编一个程序,从键盘上输入一串符号(以回车键为结束),将其以字符串形式存入一维字符数组,然后再输出该字符型数组中的字符串。 7.编写一个程序计算一个字符串的长度。

8.编写一个程序求一个子串在一个字符串中出现的次数,如果该字符不出现则返回0。 实验过程:

实验结果:1.见作业10.1

2. //输入n(不大于20)个单精度数存入一维数组,用指针变量处理数组元素的方式将其逆


《C语言程序设计》实验指导书答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:所有定性研究方法整理

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: