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;