C语言实验报告材料四.docx

上传人:b****2 文档编号:2828045 上传时间:2023-05-04 格式:DOCX 页数:12 大小:35.27KB
下载 相关 举报
C语言实验报告材料四.docx_第1页
第1页 / 共12页
C语言实验报告材料四.docx_第2页
第2页 / 共12页
C语言实验报告材料四.docx_第3页
第3页 / 共12页
C语言实验报告材料四.docx_第4页
第4页 / 共12页
C语言实验报告材料四.docx_第5页
第5页 / 共12页
C语言实验报告材料四.docx_第6页
第6页 / 共12页
C语言实验报告材料四.docx_第7页
第7页 / 共12页
C语言实验报告材料四.docx_第8页
第8页 / 共12页
C语言实验报告材料四.docx_第9页
第9页 / 共12页
C语言实验报告材料四.docx_第10页
第10页 / 共12页
C语言实验报告材料四.docx_第11页
第11页 / 共12页
C语言实验报告材料四.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言实验报告材料四.docx

《C语言实验报告材料四.docx》由会员分享,可在线阅读,更多相关《C语言实验报告材料四.docx(12页珍藏版)》请在冰点文库上搜索。

C语言实验报告材料四.docx

C语言实验报告材料四

C语言实验报告(四)

一、实验目的

1.掌握C语言中函数和模块

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

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

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

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

二、实验内容

1.偶数判断

描述:

编写一个用户自定义函数,该函数有一个整型参数,函数的功能是:

当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时,返回值为1。

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

输入:

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

输出:

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

样例输入:

2

1

6

样例输出:

奇数

偶数

·程序代码:

#include"stdio.h"

intisEven(inta)

{

if(a%2==0)

return1;

else

return0;

}

intmain()

{

intm,i,b;

scanf("%d",&m);

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

{

scanf("%d",&b);

if(isEven(b)==1)

printf("偶数\n");

else

printf("奇数\n");

}

return0;

}

2.温度转换

描述:

编写一个用户自定义函数,函数的功能是:

将华氏温度转F换为摄氏温度C。

转换公式为:

C=5*(F-32)/9。

编写一个程序,输出指定范围的华氏温度与摄氏温度的对照表,其中华氏温度步长为4。

输入:

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

输出:

华氏温度与摄氏温度的对照表

样例输入:

3245

样例输出:

320.00

362.22

404.44

446.67

·程序代码:

#include"stdio.h"

floatconver(intf)

{

return5*(f-32)/9.0;

}

intmain()

{

intn,m,i;

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

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

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

return0;

}

3.最大值函数

描述:

编写一个用户自定义函数,该函数有三个整数参数,函数的功能是:

求解这三个整数的最大值,函数的返回值为三个参数的最大值。

编写一个程序,从键盘输入任意5个整数,分别两次调用用户自定义函数来求出这5个整数中的最大值。

输入:

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

输出:

有N行,每行是对应输入的5个整数的最大值。

样例输入:

3

12345

54321

12534

样例输出:

5

5

5

·程序代码:

#include"stdio.h"

intmax(inta,intb,intc)

{

intt;

t=a;

if(b>t)

t=b;

if(c>t)

t=c;

returnt;

}

intmain()

{

intn,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)));

}

return0;

}

4.三位数数字排序

描述:

对于给定的若干个三位正整数,将它们的各位上的数字按由小到大的顺序输出。

要求,写一个函数,能将其整型参数的各位数字按照由小到大进行输出。

主函数完成对输入的若干个三位数,分别调用该函数,完成指定的输出。

输入:

若干行,每行有一个三位正整数,输入为0结束。

输出:

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

样例输入:

123

987

670

0

样例输出:

123

789

067

·程序代码:

#include"stdio.h"

intmain(void)

{

intn,a[4],xx,sum;

scanf("%d",&n);

while(n!

=0)

{

inti,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;i++)

{

printf("%d",a[i]);

}

printf("\n");

scanf("%d",&n);

}

return0;

}

5.排列数计算

描述:

表示从m个元素中抽出n个元素的排列的个数。

计算公式为:

编写一个用户自定义函数,该函数有一个整数参数,函数的功能是求解这个整数的阶乘,函数的返回值为这个整数的阶乘。

编写一个程序,从键盘输入m、n值,分别两次调用用户自定义函数来求解

输入:

多行测试数据,每行两个用空格隔开的整数,00表示结束。

输出:

有多行,对应于非00行的排列值。

样例输入:

53

82

00

样例输出:

60

56

·程序代码:

#include"stdio.h"

intmain(void)

{

doublen,m,t;

doublex1,x2,i,k,kk;

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

while(n!

=0&&m!

=0)

{

x1=1;

/*if(m

{

t=m;

m=n;

n=t;

}

*/

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

{

x1*=i;

}

k=m-n;

x2=1;

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

{

x2*=i;

}

kk=x1/x2;

printf("%.0lf\n",kk);

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

}

return0;

}

6.素数对

描述:

哥德巴赫猜想大家都知道一点吧.我们现在不是想证明这个结论,而是想在程序语言内部能够表示的数集中,任意取出一个偶数,来寻找两个素数,使得其和等于该偶数.做好了这件实事,就能说明这个猜想是成立的.由于可以有不同的素数对来表示同一个偶数,所以专门要求所寻找的素数对是两个值最相近的,而且素数对中的第一个数不大于第二个数.

输入:

输入中是一些偶整数M(6

输出:

对于每个偶数,输出两个彼此最接近的素数,其和等于该偶数(要求这两个素数是不等的)。

样例输入:

20

30

40

46

样例输出:

713

1317

1723

1729

·程序代码:

#include"stdio.h"

intprime(intn)

{

inti;

for(i=2;i

if(n%i==0)

return0;

return1;

}

intmain()

{

intm,i;

while(scanf("%d",&m)==1)

for(i=m/2;i>=2;i--)

if(prime(i)&&prime(m-i)&&i!

=m-i)

{

printf("%d%d\n",i,m-i);

break;

}

return0;

}

7.函数表达式计算

描述:

计算下列表达式的值:

输入:

输入x和n的值,其中x为非负实数,n为正整数。

输出:

输出f(x,n),保留2位小数。

样例输入:

3 2

样例输出:

2.00

·程序代码:

#include"math.h"

#include"stdio.h"

/*

f(x,1)=sqrt(1+x);

f(x,2)=sqrt(2+sqrt(1+x))=sqrt(2+f(x,1));

f(3,x)=sqrt(3+sqrt(2+qrt(1+x)))=sqrt(3+f(x,2));

......

f(x,n)=sqrt(n+f(x,n-1));*/

doublef(doublex,intn)

{

if(n>1)

returnsqrt(n+f(x,n-1));

else

returnsqrt(1+x);

}

intmain()

{

intn;

doublex;

scanf("%lf%d",&x,&n);

printf("%.2f\n",f(x,n));

return0;

}

8.递归公约数

描述:

递归形式的公约数定义如下:

使用此定义求两个整数的最大公约数。

输入:

有多行,每行为两个用空格隔开的整数。

输出:

对应的有多行,每行为对应输入的两个整数的最大公约数。

样例输入:

12 6

95

113

样例输出:

6

1

1

·程序代码:

#include"stdio.h"

intgcd(intm,intn)

{

if(m%n==0)

returnn;

else

gcd(n,m%n);

}

intmain(void)

{

inta,b;

while(scanf("%d%d",&a,&b)==2)

{

printf("%d\n",gcd(a,b));

}

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2