2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > c语言自定义函数实验分析 c语言实验报告(四).docx

c语言自定义函数实验分析 c语言实验报告(四).docx

时间:2024-06-07 13:47:57

相关推荐

c语言自定义函数实验分析 c语言实验报告(四).docx

C 语言实验报告(四)

一、实验目的

掌握 C 语言中函数和模块

掌握怎样定义函数,如何调用或使用函数,如何声明函数

掌握函数的参数,了解在函数调用时,参数是如何传递的

在使用函数的过程中怎样确定函数的参数

如何使用局部变量和全局变量

二、实验内容

1. 偶数判断

描述 : 编写一个用户自定义函数, 该函数有一个整型参数, 函数 的功能是:当这个整型数的值是偶数时,函数的返回值为0,当

这个整型数的值是奇数时 , 返回值为 1 。编写一个程序,从键盘 输入m个整数,分别调用用户自定义函数来判断这 m个整数的奇 偶性。

输入:第一行为一个整数 m表示要判断m个整数的奇偶性;紧 接着是m行,每行一个整数。

输出:有m行,分别对应输入的第2到第m+1行的整数的奇偶性 样例输入 : 2

1

6

样例输出 : 奇数

偶数

?程序代码:

#include"stdio.h" int isEven(int a)

{ if(a%2==0) return 1;

else

return 0;

} int main()

{

int m,i,b; scanf("%d",&m);

for(i=1;i<=m;i++)

{ scanf("%d",&b); if(isEven(b)==1) printf(" 偶数 \n");

else

printf("奇数 \n");

} return 0;

}

2. 温度转换

描述 : 编写一个用户自定义函数, 函数的功能是: 将华氏温度转

F换为摄氏温度C。转换公式为:C= 5* ( F-32) 19。编写一个程 序,输出指定范围的华氏温度与摄氏温度的对照表, 其中华氏温 度步长为 4。

输入:两个空格隔开的整数 n,m (且0

输出 : 华氏温度与摄氏温度的对照表 样例输入 : 32 45

样例输出 : 320.00

362.22

36

404.44

40

44 6.67

?程序代码:

#include "stdio.h"

float conver(int f)

{

return 5*(f-32)/9.0;

}

int main()

{

int n,m,i;

scanf("%d%d",&n,&m);

for(i=n;i<=m;i+=4)

printf("%d%10.2f\n",i,conver(i));

return 0;

}

3. 最大值函数

描述 :编写一个用户自定义函数,该函数有三个整数参数,函数 的功能是: 求解这三个整数的最大值, 函数的返回值为三个参数 的最大值。编写一个程序,从键盘输入任意 5 个整数,分别两次 调用用户自定义函数来求出这 5 个整数中的最大值。

输入:第一行为N,表示有N组数据,接下来是 N行,每行是5 个用空格隔开的整数(在 VC++6.0 int 范围)。

输出 : 有 N 行,每行是对应输入的 5 个整数的最大值。 样例输入 : 3

1 2 3 4 5

5 4 3 2 1

样例输出 : 5

5

?程序代码:

#include "stdio.h"

int max(int a, int b, int c )

{

int t;

t=a;

if(b>t)

t=b;

if(c>t)

t=c;

return t;

}

int main()

{

int n,a,b,c,d,e,i;

scanf("%d",&n);

for(i=1;i<=n;i++)

{

scanf("%d%d%d%d%d",&a,&b,&c,&d,&e); printf("%d\n",max(a,b,max(c,d,e)));

}

return 0;

}

4. 三位数数字排序

描述 : 对于给定的若干个三位正整数,将它们的各位上的数 字按由小到大的顺序输出。要求,写一个函数,能将其整型 参数的各位数字按照由小到大进行输出。主函数完成对输入 的若干个三位数,分别调用该函数,完成指定的输出。

输入: 若干行,每行有一个三位正整数,输入为 0 结束。 输出: 有若干行,依次对应于非 0 的整数,将相应三位正整 数的数字由小到大输出,数字间没有空格。

样例输入 : 123

987

670

0

样例输出 : 123

789

067

?程序代码:

#include "stdio.h"

int main(void)

{

int n,a[4],xx,sum; scanf("%d",&n);

while(n!=0)

{

int i,j;

for(i=1;i<=3;i++)

{

a[i]=n%10; n/=10;

} for(i=1;i<=3;i++)

{

for(j=i;j<=3;j++) {

if (a[i]>a[j])

{

xx=a[j]; a[j]=a[i]; a[i]=xx;

}

}

}

for(i=1;i<=3;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。