当前位置:文档之家› 《C语言程序设计》C函数定义和使用

《C语言程序设计》C函数定义和使用


{ a+=k; b++; } av=(float)a/b; printf("av=%f\n",av); } fun(int n) /* 判断输入的整数是否为素数 */ { int i,y; for(i=2;i<n;i++) if (n%i==0) { y=0 ;break;} else y=1; return y; } A程序2: #include "stdio.h" max(int x,int y); void main() { int a=1,b=2,c; c=max(a,b); printf("max is %d\n",c); } max(int x,int y) { int z; z=(x>y)? x:y; return(z); } A程序3: #include "stdio.h" void main() { int a=4,b=5,c; c=plus(a,b); printf("a+b=%d\n",c);
d++ d=2 e=n 次大值为e n-Y 结束
NarcissisticNumber (int n)
定义整形a,b,c,x
a=n/100; b=n%100/10; c=n%10; x=a*a*a+b*b*b+c*c*c
n=x return n return 0 Y N
⒋ 程序清单
A程序1: #include "stdio.h" fun(int n); void main() { int a=0,k,b=0; /* a保存素数之和 */ float av; /* av保存1000以内素数的平均值 */ for (k=2;k<=1000;k++) if (fun(k)) /* 判断k是否为素数 */
⒉ 实验内容或实验题目
A:修改调试题目: 题目⑴:调试下列程序,使之具有如下功能:fun函数是一个判断整数
是否为素数的函数,使用该函数求1000以内的素数平均值。写出调试过 程。 #include “stdio.h” void main() { int a=0,k; /* a保存素数之和 */ float av; /* av保存1000以内素数的平均值 */ for (k=2;k<=1000;k++) if (fun(k)) /* 判断k是否为素数 */ a+=k; av=a/1000; printf("av=%f\n",av); } fun(int n) /* 判断输入的整数是否为素数 */ { int i,y=0; for(i=2;i<n;i++) if (n%i==0) y=1; else y=0; return y; }
⒊ 算法说明
(用文字或流程图说明。)
a=0,b=0 开始
k=2 k<=1000??0 fun(k)? a+=k,b++
av=(float)a/b;
输出av 结束 k++ Y N Y N fun(int n) i=2 i<n? n%i=0 y=0 i++ y=1 Y Y N N 开始 a=1,b=2 c=max(a,b) 输出c 结束 定义整形x,y,z max(x,y) x>y? z=x z=y z Y N 开始 a=4,b=5 c=plus(a,b) 输出c 结束
return n; else return 0; } void main() { int n,d=0,e; for(n=999;n>=100;n--) { if(NarcissisticNumber(n)!=0) { d++; printf("第%d大水仙花数%d\n",d,n); } if(d==2) e=n; } printf("所以次大值%d\n",e); }
} int plus(int x,int y) { int z; z=x+y; return(z); } B程序1:: #include "stdio.h" float power(float x,int n) { float result=1; int i; for(i=1;i<=n;i++) { result=result*x; } return result; } float power(float x,int n); main() { float a,x; int n; printf("please input two numbers x,n :"); scanf("%f,%d",&x,&n); a=power(x,n); printf("%f的%d次方为%f\n",x,n,a); } B程序2:#include"stdio.h" NarcissisticNumber (int n) { int a,b,c; a=n/100; b=n%100/10; c=n%10; if(n==a*a*a+b*b*b+c)
z=x+y 输出z 开始 result=1,i=1 i<=n result=result*x
i++ result Y N
power(float x,int n);
输入x,n
a=power(x,n)
输出a 结束 开始 d=0 n=999 n>=100
NarcissisticNumber(n)!=0
⒌ 运行结果
(包括原始数据、相应的运行结果和必要的说明。)
求a和b的最大数
求a和b的和
⒍ 分析与思考
调试过程及调试中遇到的问题及解决办法;调试程序的心得与体 会;其他算法的存在与实践等。若最终未完成调试,要认真找出错误并 分析原因等。 ①注意循环体具体循环到哪里,别忘了把这一部分循环体括起来。 ②当运行出现错误时,要多在程序中插入打印语句,检查具体是哪 里错了,这样可以减少范围去发现问题。 ③当程序运行,开始输入数据时,特别要注意输入格式,即电脑上 的输入法,看是否匹配。
题目⑵:调试以下程序并查看运行结果:
int a=5;int b=7; #include “stdio.h” void main() { int a=4,b=5,c; c=plus(a,b); printf("A+B=%d\n",c); } int plus(int x,int y) 请回答:函数功能是什么? { int z; z=x+y; return(x); }
B、编程题目: 要求:每道题目分别书写程序,试运行(如何输入,结果如何)。 题目⑴:编写函数求x的n次方的值(提示:有一个参数的函数) 题目⑵:编写一个求水仙花数的函数,求3位正整数的全部水仙花数中
的次大值。所谓水仙花数是指三位整数的各位上的数字的立方和等于该 整数本身。例如:153就是一个水仙花数:153 = 13 + 53 + 33
题目⑵:调试以下程序并查看运行结果:
#include “stdio.h”
void main() { int a=1,b=2,c; c=max(a,b); printf("max is %d\n",c); } max(int x,int y) //请回答:函数功能是什么? { int x; z=(x>y)?x:y; return(z); }
《C语言程序设计》实验报告 实验名称:函数定义和使用 系 别: 计算机系 与技术 姓 名: 专业:计算机科学 班级:五班 学号:
实验日期: 教师审批签字:
实验5 C函数定义和使用
⒈ 实验目的
⑴ 学习C语言中函数的定义和调用方法。 ⑵ 掌握通过参数在函数间传递数据的方法。 ⑶ 熟悉TC集成环境对包含函数调用的程序的调试方法。
相关主题