c语言函数的定义与使用.docx

上传人:b****0 文档编号:1002908 上传时间:2022-10-15 格式:DOCX 页数:10 大小:17.93KB
下载 相关 举报
c语言函数的定义与使用.docx_第1页
第1页 / 共10页
c语言函数的定义与使用.docx_第2页
第2页 / 共10页
c语言函数的定义与使用.docx_第3页
第3页 / 共10页
c语言函数的定义与使用.docx_第4页
第4页 / 共10页
c语言函数的定义与使用.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

c语言函数的定义与使用.docx

《c语言函数的定义与使用.docx》由会员分享,可在线阅读,更多相关《c语言函数的定义与使用.docx(10页珍藏版)》请在冰豆网上搜索。

c语言函数的定义与使用.docx

c语言函数的定义与使用

实验报告

实验目的:

1.熟练掌握函数的定义与使用

实验内容:

1.有如下的一段程序,程序调用maxt()函数将两个数中的最大值输出,并根据最大值打印相应行的#号,请定义printat()函数、maxt()函数与printnx()函数并将主程序补充完整,使之正常运行。

#include 

voidmain()

inta=3,b=4,max;

printat();//打印一行@号

printf("打印ab行的#号\n");

max=maxt(a,b);

printnx(max);//打印max行#号

1).无参无返回值函数

函数名

printat

函数返回值

无返回值

函数参数

无参数

函数功能

打印一行@号

2)有参无返回值函数

函数名

printnx

函数返回值

无返回值

函数参数

有一个参数,(形式参数),是整型

函数功能

打印n行#号

3).有参有返回值函数

函数名

maxt

函数返回值

有返回值,函数类型为整型

函数参数

有两个整型的参数

函数功能

返回a与b中的最大值

阅读知识:

.如何在主函数中使用用户自定义的函数

函数调用基础知识

用户自定义函数在main()函数中调用时的三种方式:

1.函数语句

把函数调用作为一个语句,适用无返回值的函数

 printstar( );

2函数表达式

函数出现在一个表达式中,适用有返回值的函数

c=2*max(a,b);

3函数参数

函数调用作为一个函数的实参,适用有返回值的函数

m=max(a,max(b,c))

#include <stdio.h>

void main()

{

ﻩvoid printat();

voidprintnx(int n);

ﻩintmaxt(inta,int b);

int a=3,b=4,max;

printat();

printf("打印ab行的#号\n");

max=maxt(a,b);

printnx(max);

}

voidprintat()

{

printf("@@@@@@@@@\n");

}

voidprintnx(intn)

{

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

ﻩ{

ﻩprintf("#########\n");

}

}

intmaxt(inta,intb)

intz;

ﻩif(a>=b)

ﻩz=a;

else

ﻩz=b;

return(z);

}

2.有如下的一段程序,程序调用max3t()函数将三个数中的最大值输出,请定义max3t并将主程序补充完整,使之正常运行。

#include<stdio.h>

voidmain()

inta=3,b=4,c=8,max;

max=max3t(a,b,c);

printf("三个数中的最大值是%d",max);

}

函数名

max3t

函数返回值

有一个返回值,int型

函数参数

有三个整型的参数,

函数功能

返回三个数中的最大值

#include

voidmain()

{

intmax3t(intx,inty,int z);

inta=3,b=4,c=8,max;

max=max3t(a,b,c);

printf("三个数中的最大值是%d",max);

}

int max3t(intx,int y,intz)

{

intk;

if(x>=y&&x>=z)

k=x;

elseif(y>=x&&y>=z)

k=y;

else

ﻩk=z;

ﻩreturn(k);

}

3.有如下的一段程序,程序调用g()函数进行累加求和,请定义g()函数并将主程序补充完整,使之正常运行。

#include

voidmain()

{

printf("请输入你想求从到多少的和\n");

scanf("%d",&n);

sum=g(n);//如输入,则g(5)输出+2+3+4+5的和

printf("从到%d的和为%d",n,sum);

}

函数名

g

函数返回值

有一个返回值,int型

函数参数

+2+3+4+5+。

g的和

#include

voidmain()

{

ﻩintg(int x);

ﻩintn,sum;

printf("请输入你想求从到多少的和\n");

scanf("%d",&n);

sum=g(n); //如输入,则g(5)输出+2+3+4+5的和

printf("从到%d的和为%d",n,sum);

}

intg(int x)

{

intsum2=0;

for(inti=0;i<=x;i++)

{

ﻩsum2=sum2+i;

ﻩ}

return(sum2);

}

4.有如下的一段程序,程序调用isryear( )函数进行是否闰年判断,请定义isryear( )函数并将主程序补充完整,使之正常运行。

#include<stdio.h>

voidmain()

{

intyear;

printf("请输入你要判断的年份:

");

scanf("%d",&year);

if(isryear(year)==1)

  printf("\n%d是闰年",year);

else

printf("\n%d不是闰年",year);

}

判断是否是闰年的函数

函数名

isryear

函数返回值

有一个,int型

函数参数

判断是否为闰年

#include<stdio.h>

voidmain()

ﻩint isyear(intyear);

int year;

printf("请输入你要判断的年份:

");

scanf("%d",&year);

if(isyear(year)==1)

  printf("\n%d是闰年",year);

else

 printf("\n%d不是闰年",year);

}

intisyear(intyear)

{

inta;

ﻩif(year%4==0&&year%100!

=0||year%400==0)

ﻩﻩa=1;

ﻩelse

ﻩa=0;

ﻩreturn(a);

}

5.写一个判素数的isss()函数,在主函数输入一个整数,输出是否素数的信息

函数名

isss

函数返回值

有一个,int型

函数参数

一个

函数功能

判断一个数是否为素数

#include<stdio.h>

void main()

{

intisss(int x);

ﻩinta;

ﻩscanf("%d",&a);

if(isss(a)==1)

ﻩﻩprintf("这个数为素数");

else

ﻩprintf("这个数不是素数");

int isss(intx)

{

intk,n=0;

for(int i=2;i<=x;i++)

ﻩ{

ﻩif(x%i==0)

ﻩn=n+1;

ﻩﻩ}

}

ﻩif(n==1)

k=1;

ﻩelse

k=0;

ﻩreturn(k);

6.写一个交换两个变量值的函数

函数名

change

函数返回值

无返回值

函数参数

两个float类型的数

函数功能

交换两个数的值

然后在如下主函数中调用change函数,观察输出的结果,为什么?

voidmain()

{voidchange(floata,floatb);

 intm=30,n=40;

change(m,n);

printf("交换数据后的值m=%d,n=%d",m,n);

}

不能交换

7.有如下的一段程序,程序调用sort()函数对数组进行排序,请定义sort()函数并将主程序补充完整,使之正常运行。

#include

voidmain()

intnum[6]={3,4,6,2,10,1};

ﻩsort(num,6);

printf("排序后的数组为:

");

ﻩfor(int i=0;i<=5;i++)

ﻩ  printf("%d",num[i]);

}

编写一个函数,实现数组的排序

函数名

sort

函数返回值

无返回值

函数参数

数组

函数功能

对数组进行从小到大的排序

#include<stdio.h>

void main()

{voidsort(intnum[],intn);

int num[6]={3,4,6,2,10,1};

ﻩsort(num,6);

printf("排序后的数组为:

");

 for(inti=0;i<=5;i++)

ﻩ  printf("%d",num[i]);

}

voidsort(intnum[],intn)

{

ﻩinti,j,k,t;

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

{

ﻩﻩk=i;

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

ﻩﻩif(num[j]

ﻩﻩﻩk=j;

ﻩt=num[k];num[k]=num[i];num[i]=t;

ﻩ}

}

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1