C语言程序设计 实验教学(8).doc

上传人:da****u 文档编号:1127125 上传时间:2018-12-11 格式:DOC 页数:15 大小:110.50KB
下载 相关 举报
C语言程序设计 实验教学(8).doc_第1页
第1页 / 共15页
C语言程序设计 实验教学(8).doc_第2页
第2页 / 共15页
C语言程序设计 实验教学(8).doc_第3页
第3页 / 共15页
C语言程序设计 实验教学(8).doc_第4页
第4页 / 共15页
C语言程序设计 实验教学(8).doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、1C 语言程序设计 实验教学(8)【实验目的】函数是 C 程序的基本组成部分,学习函数的设计和调用是很重要的。实验目的是掌握函数的定义、变量的作用域和函数的调用。【实验要求】实际应用程序通常是由多个函数构成的,要求将常见的功能模块用函数形式实现,并学会在主函数或其他函数中调用定义的函数。要学会函数声明。【实验课时】6.0【实验内容】1. 编写函数 fun(n),n 为三位自然数,判断 n 是否为水仙花数,是返回 1,否返回 0。编写 main 函数,输入一个数 num,调用 fun(num)函数,并输出判断结果。#include #include int fun(int n)int a,b,c

2、; a=n%10; b=n/10%10; c=n/100;if(a*a*a+b*b*b+c*c*c=n) return(1);else return(0);void main()int num; clrscr();scanf(“%d“,while(num=1000)printf(“please enter the num again! (num=100 for(i=2;i=n) return(1);else return(0);void main() int num; clrscr();scanf(“%d“,if(/*/ ss(num)=1 /*/) printf(“%d is a sushu

3、.n“,num);else printf(“%d is not a sushu.n“,num);3. 编写一个函数 fun(n),计算 n!,并编写 main 函数测试,在 main 函数中输入 num,调用 fun(num),输出计算的结果。#include #include long fun(int n)long s=1; int i;for(i=1;i0) printf(“%d!=%ld n“,num,/*/ fun(num) /*/);else printf(“input data error! n“);4. 使用递归函数实现计算 n!,并在 main 函数中调用。#include 3

4、#include long fun(int n)long f;if(n=1|n=0) f=1;else f=n*fun(n-1);return f;void main()int num; clrscr();scanf(“%d“,if(num0) printf(“%d!=%ld n“,num,/*/ fun(num) /*/);else printf(“input data error! n“);5. 某数列为 K(n)的定义为:用递归的方法求该数列的第 6 项 k(6)。1 n=1k(n)= k(n-1)2 n 为偶数k(n-1)3 n 为奇数#include #include int k(i

5、nt n)int c;if(n=1) c=1;else if(n%2=0) c=k(n-1)*2;else c=k(n-1)*3;return c;void main()int m; clrscr();scanf(“%d“,if(m=1) printf(“k(%d)=%dn“,m,/*/ k(m) /*/);4else printf(“input data error!n“);6. 计算 s=(1!)+(1!+2!)+(1!+n!)。 n 由用户输入,小于 10。 (设计:函数 h1(n)计算 n 的阶乘;函数 h2(m)计算 1!+2!+m!的累加运算。在主函数中调用 h2()函数, h2(

6、)函数中调用 h1()函数来实现累加。 )#include #include long h1(int n)long t=1;int i;for(i=1;imax) max=arrayi;return(max);main()int a34=1,3,5,7,2,4,6,8,15,17,34,12; printf(“max=%dn“,max_value(a);813. 设计一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。(学习指导书 P74)#include main() int inverse (char str); /*函数原型声明 */char str100;printf(

7、“Input string:n“);gets(str);inverse(str);printf(“Output string after inverse:n“);puts(str);int inverse(char st) /* 函数定义*/char t; int i,j;for(i=0,j=strlen(st);imain()char str80;void insert(char str );printf(“nInput four digits:n“);gets(str);9insert(str);printf(“nOutput digits after insert space:n“);p

8、uts(str);void insert(char str)int i;for (i=strlen(str);i0;i-)str2*i=stri; str2*i-1= ;15. 使用局部静态变量,求 1 到 5 的阶乘。int fac(int n)static int f=1;f=f*n;return f;main()int i;for(i=1;i#include main()void sort(char (*s)6);10int i; char str106;char (*p)6;printf(“Input 10 strings:n“);for(i=0;i0 )strcpy(t,sj);strcpy(sj,sj+1);strcpy(sj+1,t);运行结果:Input 10 strings: ChinaJapanKoreaEgyptNepalBurmaGhanaSudanItalyLibya

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。