文档库 最新最全的文档下载
当前位置:文档库 › 实验八 函数的应用

实验八 函数的应用

实验八 函数的应用
实验八 函数的应用

实验八函数的应用

一、实验目的

1. 掌握函数的定义和调用方法。

2.. 掌握函数实参与形参的参数传递关系。

二、实验任务

1.阅读、调试、运行程序,比较阅读的结果和运行的结果。

1)

#include "stdio.h"

int f(int n)

{ if (n==1) return 1;

else return f(n-1)+1;

}

void main()

{ int i,j=0;

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

printf("%d\n",j);

}

2)

#include

void num()

{ extern int x,y;int a=15,b=10;

x=a-b;

y=a+b;

}

int x,y; //全局变量

void main()

{ int a=7,b=5;

x=a+b;

y=a-b;

num();

printf("%d,%d\n",x,y);

}

3)

#include

void main()

{ int a[3][3]={1,3,5,7,9,11,13,15,17};

int sum;

int fun(int a[][3]) ;

sum=fun(a);

printf("\nsum=%d\n",sum);

}

int fun(int a[][3])

{ int i,j,sum=0;

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

for(j=0;j<3;j++)

{ a[i][j]=i+j;

if(i==j)sum=sum+a[i][j];

}

return(sum);

}

4)

#include

int fun(int x)

{ static int a=3; //静态变量(空间一直存在),就做一次

a+=x;

return(a);

}

void main()

{

int k=2,m=1,n;

n=fun(k);

m=fun(m);

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

}

5)

#include

f(int b[], int n)

{

int i,r;

r=1;

for(i=0; i<=n;i++) r=r*b[i];

return r;

}

void main()

{

int x,a[]={2,3,4,5,6,7,8,9};

x=f(a, 3);

printf("%d\n",x);

}

6)

己知函数isalpha(ch)的功能是判断变量ch是否是字母,若是,函数值为1,否则为0,下面程序的输出是()。

#include "stdio.h"

#include

#include

void fun4(char str[])

{

int i,j;

for (i=0,j=0;str[i];i++)

if (isalpha(str[i]))str[j++]=str[i];

str[j]='\0';

}

void main()

{

char ss[80]="it is!";

fun4(ss);

printf("%s\n",ss);

}

2. 完善程序,并调试运行

1)

下面程序通过函数average 计算数组中各元素的平均值,请填空。

#include "stdio.h"

float average (int pa[] ,int n)

{int i;

float avg=0.0;

for (i=0;i

avg=avg+( 1 );

avg=( 2 );

return avg;

}

void main()

{int a[5]={2,4,6,8,10};

float mean;

mean=average(a,5);

printf("mean=%f\n",mean);

}

2)

以下程序是用选择法对10个整数按升序排序,程序中有4个空,填空使程序完整。#include "stdio.h"

( 1 )

void sort(int a[])

{int i,j,k,t;

for(i=0;i

{( 2 )

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

if(a[j]

if(( 4 )){t=a[i];a[i]=a[k];a[k]=t;}

}

}

void main()

{int i,a[10];

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

scanf("%d",&a[i]);

sort(a);

printf("output the sorted array:\n");

for(i=0;i<=N-1;i++) printf("%5d",a[i]);

printf("\n");

}

3)

以下程序的功能是输入字符串,再输入一个字符,将字符串中与输入字符相同的字符删除。#include "stdio.h"

void fun(char a[],char c)

{int i,j;

for(i=j=0; ( 1 );i++)

if(a[i]!=c) a[j++]=a[i];

( 2 );

}

void main()

{char a[20],cc;

( 3 );

cc=getchar();cc=getchar();

( 4 );

puts(a);

}

4)

以下程序的功能是用冒泡法对数组a 进行由小到大的排序。请在【】处填写正确的内容。#include "stdio.h"

void fun(int a[],int n)

{int i,j,t;

for (j=0; ( 1 );j++)

for (i=0; ( 2 );i++)

if(( 3 ))

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

}

void main()

{int i,a[10]={3,7,5,1,2,8,6,4,10,9};

( 4 );

for(i=0;i<10;i++)

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

}

3. 修正程序,并调试运行

1)

下面程序的功能是:在一个一维整型数组中找出其中最大数的其下标。程序中共有4条错误语句,请改正错误。

注意:不要增行或删行,也不要更改程序的结构。

#include "stdio.h"

#define N 10

/************found************/

int fun(int a[],int n);

{int max,c;

/************found************/

max=a[1];

for(c=1;c

if(a[c]>max)

max=c;

return max;

}

void main()

{int a[N],i,max;

printf("please enter 10 integers:\n");

for(i=0;i

/************found************/

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

/************found************/

max=fun(a[0],N);

printf("max=%d,position=%d",max,p);

}

2)

以下程序的功能是将一个字符串中的大写字母转换成小写字母。例如:输入aSdFG输出为asdfg。请改正程序中的错误,使程序能得到正确的运行结果。

#include

/************found************/

fun(char c)

{if(c<='Z'&&c>='A') c-='A'-'a';

return c;}

void main()

/************found************/

{char s[81],i=0;

gets(s);

while(s[i])

{s[i]=fun(s[i]);

/************found************/

puts(s[0]);

i++;

}

putchar('\n');}

3)

下列给定程序中,函数fun的功能是:求二维数组的每行的和,输出二维数组时,将每行的和输出在每行的右边。

请改正程序中的错误或在横线上添上适当的语句,使它能得出正确的结果。

注意:不要改动main函数,不得增行和删行,也不得更改程序的结构!

#include "stdlib.h"

#include "stdio.h"

#include “math.h”

void main()

{int a[5][5],b[5],i,j;

void fun(int a[5][5],int b[5]);

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

for(j=0;j<5;j++)

a[i][j]=rand()+20;

fun(a,b);

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

{for(j=0;j<5;j++)

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

printf("%5d",b[i]);

printf("\n");

}

}

/************found************/

void fun(int a[][],int b[])

{int i,j,s=0;

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

{ ;

for(j=0;j<5;j++)

/************found************/

s=a[i][j];

/************found************/

s=b[i];

}

}

4)

下列给定程序中,fun函数的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线上的元素之和。

请改正程序中的4个错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行和删行,也不得更改程序的结构!

#include "stdio.h"

int fun()

{int a[3][3],sum;

int i,j;

/************found************/

a=0;

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

for(j=0;j<3;j++)

/************found************/

scanf("%d",a[i][j]);

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

/************found************/

sum=sum+a[i][j];

/************found************/

printf("sum=%f\n",sum);

}

void main()

{int n;

/************found************/

n=fun();

}

4.编写程序,并调试运行

1)编写函数fun求1!+2!+3!+ …… +n!的和,在main函数中由键盘输入n值,并输出运算结果。

2)请编写一个函数fun,函数的功能是:将主函数中输入的字符串反序存放。

例如:输入字符串"abcdefg",则应输出"gfedcba"。

3)编写函数fun,函数的功能是:求给定正整数m以内的素数之和。

例如:当m=20时,函数值为77。

4)编写函数fun,函数的功能是:求1到100之间的偶数之和。

5)编写函数fun,函数的功能是:找出一批正整数中的最大的偶数。主程序输入一批数,调用函数,然后输出找到的数。

MATLAB)课后实验答案[1]

实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 0 12 2sin851z e =+ (2) 221ln(1)2 z x x =++,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+= ++=-- (4) 2242011 122123t t z t t t t t ?≤=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)

4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果: m=100:999; n=find(mod(m,21)==0); length(n) ans = 43 (2). 建立一个字符串向量例如: ch='ABC123d4e56Fg9';则要求结果是: ch='ABC123d4e56Fg9'; k=find(ch>='A'&ch<='Z'); ch(k)=[] ch =

实验八 公式、序列及函数的使用

实验八公式、序列及函数的使用 一、实验目的 1.熟练掌握序列填充及公式复制的方法; 2.掌握常用函数的功能及使用方法,并能用它们来解决一些实际问题。 二、实验内容与操作步骤 在Excel环境下完成以下各操作: (一)序列填充及公式的使用 1.在Excel中创建一个空白工作簿 2.利用Excel提供的数据填充功能,在Sheet1工作表中输入以下数据: ⑴在区域A1:A9中从上到下填入:2,4,6,8,10,12,14,16,18 ⑵在区域B1:B9中从上到下填入:1,2,4,8,16,32,64,128,256 ⑶在区域C1:C12中从上到下填入:JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC ⑷在区域D1:D7中从上到下填入:星期日,星期一,星期二,星期三,星期四,星期五,星期六 3.在Sheet2工作表中,利用公式计算二次函数ax2+bx+c的值,其中a=2,b=3,c=5,x从-3到4变化,每隔0.5取一个函数值。操作方法写出如下: 4.把工作簿以E81.XLS为文件名存入D:\EX8中。 (二)函数的使用 在Excel环境下打开D:\EX8\E82.XLS文件,依次完成以下各操作后按E83.XLS为文件名存入D:\EX8中。 1、统计函数的使用 ⑴单击“统计函数”工作表;

⑵在区域F3:G8中用“统计函数”计算出各分店的统计值。 操作方法是:先在F3单元及G3单元输入的计算公式,然后选定区域F3:G3后双击其填充柄。其中F3单元的公式为,G3单元的公式为。 ⑶在区域B9:E12用“统计函数”计算出各季度的统计值。 2、条件函数的使用 ⑴单击“条件函数”工作表。 ⑵计算出各学生的平均分; ⑶给定各学生的成绩等级,规则如下:平均分≥90为“A”,80≤平均分<90为“B,70≤平均分<80为“C”,60≤平均分<70为“D”,平均分<60为“E”。以此规则在区域F3:F62用IF函数确定各学生的等级。 ⑷用FREQUENCY函数在区域I2:I5中统计出平均分0~59,60~79,80~99,100各分数段的学生人数。 3、文本函数的使用 ⑴单击“文本函数”工作表; ⑵在区域A2:F32给出的数据清单中,编号的前3位为系别信息,101为数学系,102为物理系,103为化学系,据此在区域B3:B32用函数求出每位教师的系别。其中B3单元使用的公式为。 ⑶已知身份证号的第7至第10位数为出生年份,据此在区域F3:F32用函数求出每位教师的出生年份。其中F3单元使用的公式为。 4、日期函数的使用 ⑴单击“日期函数”工作表; ⑵在区域A2:F32给出的数据清单中,在区域E3:E32用日期函数求出每位职工的工龄。其中E3单元使用的公式为。 ⑶在区域F3:F32用日期函数求出每位职工的工作天数(即自参加工作以来已经过的总天数。其中F3单元使用的公式为。 5、财务函数的使用 使用 PMT 函数完成以下有关的操作: ⑴单击“财务函数”工作表; ⑵某企业向银行贷款5 万元,准备4年还清,假定当前年利率为 4 % ,在 B5 单元 计算每个月应向银行偿还贷款的数额,根据条件在 B2 : B4 补充所需内容。其中单元格B5 使用的公式为。 ⑶假定当前年利率为 5 %,为使 5 年后得到 10 万元的存款,在 D5 单元计算现在开

人教版八年级下册-函数-练习题

八年级下册函数习题 一.选择题(共15小题) 1.下列图象中,表示y是x的函数的个数有( ) A.1个… B. 2个C.3个D.4个2.下列图象中,不能表示函数关系的是() 】 A . B .C.D. 、 3.下列关系中,y不是x函数的是() A. y=﹣B . y= C.y=x2| D. |y|=x 4.下面每个选项中给出了某个变化过程中的两个变量x和y,其中y不是x的函数的选项是() A.y:正方形的面积,x:这个正方形的周长 B.} y:某班学生的身高,x:这个班学生的学号 C.y:圆的面积,x:这个圆的直径 D.y:一个正数的平方根,x:这个正数 5.如图中的每次个图是由若干盆花组成的四边形图案,每条边(包括两个顶点)有n(n>1)盆花,每个图案中花盆的总数是S,按此规律推断,S与n的函数关系式是() [ A.S=n2B.S=4n C.S=4n﹣4{ D. S=4n+4 6.当x=0时,函数y=2x2+1的值是() A.1B.0! C. 3D.﹣1 7.函数y=的自变量x的取值范围是() A.x≥﹣2` B. x≥﹣2且x≠﹣1C.x≠﹣1D.x>﹣1 8.均匀地向一个瓶子注水,最后把瓶子注满.在注水过程中,水面高度h随时间t的变化规律如图所示,则这个瓶子的形状是下列的() |

A.B.~C.D. 9.小芳的爷爷每天坚持体育锻炼,某天他慢步行走到离家较远的公园,打了一会儿太极拳,然后沿原路跑步到家里,下面能够反映当天小芳爷爷离家的距离y(米)与时间x(分钟)之间的关系的大致图象是()—A.B.C .D. > A.}B .C.D. 11.如图,菱形ABCD的边长为2,∠B=30°.动点P从点B出发,沿B﹣C﹣D的路线向点D运动.设△ABP的面积为y(B、P两点重合时,△ABP的面积可以看做0),点P运动的路程为x,则y与x之间函数关系的图象大致为() ] D . 12.下列函数中,是正比例函数的是() A.y=﹣8x B . y=5x2+6D.y=﹣﹣1 y=$ C. 13.函数y=(2﹣a)x+b﹣1是正比例函数的条件是() b=1C.a≠2且b=1D.a,b可取任意实数 A.a≠2^ B. 14.当k>0时,正比例函数y=kx的图象大致是()

初二下期一元一次不等式组与一次函数应用题专项练习汇编

初二下期一元一次不等式组与一次函数应用题专项练习 例:光华农机租赁公司共有50台联合收割机,其中甲型20台,乙型30台.现将这50台联合收割机派往A、B两地区收割小麦,其中30台派往A地区,20台派往B地区. (1)设派往A地区x台乙型联合收割机,租赁公司这50台联合收割机一天获得的租金为y(元),求y与x间的函数关系式,并写出x的取值范围; (2)若使农机租赁公司这50台联合收割机一天获得的租金总额不低于79600元,说明有多少种分派方案,并将各种方案设计出来; (3)如果要使这50台联合收割机每天获得的租金最高,请你为光华农机租赁公司提出一条合理建议. 1、某超市销售有甲、乙两种商品,甲商品每件进价10元,售价15元;乙商品每件进价30元,售价40元。 (1)若该起市同时一次购进甲、两种商品共80件,恰好用去1600元,求能购进甲乙两种商品各多少件? (2)该超市为使甲、乙两种商品共80元的总利润(利润=售价-进价)不少于600元,但又不超过610元,请你帮助该超市设计相应的进货方案。

2、绵阳市“全国文明村”江油白玉村果农王灿收获枇杷20吨,桃子12吨.现计划租用甲、乙两种货车共8辆将这批水果全部运往外地销售,已知一辆甲种货车可装枇杷4吨和桃子1吨,一辆乙种货车可装枇杷和桃子各2吨. (1)王灿如何安排甲、乙两种货车可一次性地运到销售地?有几种方案? (2)若甲种货车每辆要付运输费300元,乙种货车每辆要付运输费240元,则果农王灿应选择哪种方案,使运输费最少?最少运费是多少? 3、某商店需要购进甲、乙两种商品共160件,其进价和售价如下表:(注:获利=售价-进价) (1)若商店计划销售完这批商品后能获利1100元,问甲、乙两种商品应分别购进多少件? (2)若商店计划投入资金少于4300元,且销售完这批商品后获利多于1260元,请问有哪几种购货方案? 并直接写出其中获利最大的购货方案.

八年级数学一次函数应用题专题练习

八年级数学一次函数应用题专题练习 知识梳理 知识梳理1.根据实际意义直接写出一次函数表达式,然后解决相应问题 确定解析式的几种方法: 1. 根据实际意义直接写出一次函数表达式,然后解决相应问题;(直表法) 2. 已经明确函数类型,利用待定系数法构建函数表达式;(待定系数法) 3. 利用问题中各个量之间的关系,变形推导所求两个变量之间的函数关系式;(等是变形法) 根据实际意义直接写出一次函数表达式,然后解决相应问题: 特点:当所给问题中的两个变量间的关系非常明了时,可以根据二者之间的关系直接写出关系式,然后解决问题 常见题型:已知速度,写出路程与时间的关系;已知单价写出销售额与数量的关系;已知单个利润,写出总利润与销量之间的关系等。 知识梳理2.明确函数类型,利用待定系数法构建函数表达式 关系或者给出函数的图像为直线或直线的一部特点:所给问题中已经明确告知为一次函数 .... 分时,就等于告诉我们此函数为“一次函数”,此时可以利用待定系数法,设关系式为:y=kx+b ,然后寻找满足关系式的两个x与y的值或两个图像上的点,代入求解即可。 常见题型:给问题多是表格形式出现或者通过描点观察函数图像的形状猜测类型。 知识梳理3.利用问题中各个量之间的关系,变形推导所求两个变量之间的函数关系式;特点:所给题目一般涉及三个以上的量,而这些数量之间往往互相牵制,互有联系,因此要有足够耐心审题并逐个理清两两之间的关系,书写所要求的函数关系时要注意适当的等量代

换! 1.某市的C县和D县上个月发生水灾,急需救灾物资10t和8t。该市的A县和B县伸出援助之手,分别募集到救灾物资12t和6t,全部赠给C县和D县。已知A、B两县运资到C、D两县的每吨物资的运费如下表所示: 2.山地自行车越来越受到中学生的喜爱,各种品牌相继投放市场,某车行经营的A型车去年销售总额为5万元,今年每辆销售价比去年降低400元,若卖出的数量相同,销售总额将比去年减少20%. (1)今年A型车每辆售价多少元?(用列方程的方法解答) (2)该车计划新进一批A型车和新款B型车共60辆,且B型车的进货数量不超过A型车数量的两倍,应如何进货才能使这批车获利最多? A,B两种型号车的进货和销售价格如下表:

实验十一指针应用二daan

实验十一指针应用(二) 一?实验目的 1.了解指针与函数的关系并能够初步利用指针处理函数问题。 2.了解指向数组的指针的概念及其使用方法。 3.了解指向指针的指针的概念及其使用方法。 二?实验学时数 1学时 三?实验步骤 (一)阅读程序 #include #include fun(char *s) {char a[7]; s=a; strcpy(a,"look"); puts(s); } main() {char *p; fun(p); 2.#include main() {int a[5]={2,4,6,8,10},*p,**pp; p=a; pp=&p; printf("%d",*p++); printf("%3d\n",**pp); }

3. #include main() {char *str[]={"Pascal","C language","Cobol","Dbase"}; char **p; int k; p=str; for(k=0;k<4;k++) printf("%s\n",*(p++)); 4. #include main() {int a[2][3]={2,4,6,8,10,12},(*p)[3],i,j; p=a; scanf("%d,%d",&i,&j); printf("a[%d][%d]=%d",i,j,*(*(p+i)+j)); } (二)调试程序 要求:分析下列程序是否正确,如有错,错在哪儿?应如何改正?如正确,运行结果如何?上机调试之。 1.调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求:⑴ 2个数的和,⑵ 2个数交换值。要求用函数指针调用这两个函数,结果在主函数中输出。 行号sum(int a,int b,int c) 1{ c=a+b; 2 return c;

八年级数学一次函数应用题专题训练

一次函数应用题专题训练 1.一辆快车从甲地驶往乙地,一辆慢车从乙地驶往甲地,两车同时出发,匀速行驶.设行驶的时间为x(时),两车之间的距离为y(千米),图中的折线表示从两车出发至快车到达乙地过程中y与x之间的函数关系. (1)根据图中信息,求线段AB所在直线的函数解析式和甲乙两地之间的距离; (2)已知两车相遇时快车比慢车多行驶40千米,若快车从甲地到达乙地所需时间为t时,求t的值; (3)若快车到达乙地后立刻返回甲地,慢车到达甲地后停止行驶,请你在图中画出快车从乙地返回到甲地过程中y关于x的函数的大致图像. (温馨提示:请画在答题卷相对应的图上) 2.春节期间,某客运站旅客流量不断增大,旅客往往需要长时间排队等候购票.经调查发现,每天开始售票时,约有400人排队购票,同时又有新的旅客不断进入售票厅排队等候购票.售票时售票厅每分钟新增购票人数4人,每分钟每个售票窗口出售的票数3张.某一天售票厅排队等候购票的人数y(人)与售票时间x(分钟)的关系如图所示,已知售票的前a分钟只开放了两个售票窗口(规定每人只购一张票). (1)求a的值. (2)求售票到第60分钟时,售票听排队等候购票的旅客人数. (3)若要在开始售票后半小时内让所有的排队的旅客都能购到票,以便后来到站的旅客随到随购,至少需要同时开放几个售 票窗口?

3.在一条直线上依次有A、B、C三个港口,甲、乙两船同时分别从A、B港口出发,沿直线匀速驶向C港,最终达到C港.设 甲、乙两船行驶x(h)后,与.B.港的距离 ....分别为、(km),、与x的函数关系如图所示. (1)填空:A、C两港口间的距离为km,; (2)求图中点P的坐标,并解释该点坐标所表示的实际意义; (3)若两船的距离不超过10 km时能够相互望见,求甲、乙两船可以相互望见时x的取值范围. 4.一家蔬菜公司收购到某种绿色蔬菜140吨,准备加工后进行销售,销售后获利的情况如下表所示: 销售方式粗加工后销售精加工后销售 每吨获利(元)1000 2000 已知该公司的加工能力是:每天能精加工5吨或粗加工15吨,但两种加工不能同时进行.受季节等条件的限制,公司必须在一定时间内将这批蔬菜全部加工后销售完. ⑴如果要求12天刚好加工完140吨蔬菜,则公司应安排几天精加工,几天粗加工? ⑵如果先进行精加工,然后进行粗加工. ①试求出销售利润W元与精加工的蔬菜吨数m之间的函数关系式; ②若要求在不超过10天的时间内,将140吨蔬菜全部加工完后进行销售,则加工这批蔬菜最多可获得多少利润?此时如 何分配加工时间?

实验8_参考答案

实验8指针与引用(2) 请将自己报告部分,文字和程序代码,加粗 完成下面实验内容和实验要求。 自测题 1.编写函数实现字符串函数strcmp()的功能。 要求:使用指针操作完成题目 ⑴程序代码如下,请补充完整,使程序能运行且运行正确。 #include #include using namespace std; int My_strcmp(char *str1, char *str2) //声明两个字符指针变量str1和str2 { while (*str1==*str2&&*str1!='\0'&&*str2!='\0') // 当对应字符相等且两个字符串未结束时循环,注意*str1和*str2之间是“==”不是“=”,并且两个字符串都要判断是否结束循环{ str1++; str2++;// 将str2指针指向下一个字符 } return (*str1-*str2); /*返回字符串比较结果,根据主函数中r的分支判断确定应该返回的结果*/不要写成str1-str2,这样变成指针值相减,没有意义,另外写成*str1>*str2?1:-1也是可以的 } int main() { char s1[50], s2[50]; cout << "please input the first string : "; cin >> s1; cout << "please input the second string : "; cin >> s2; int r; r = My_strcmp(s1, s2); // 函数调用返回值赋值给r if (r>0) cout << s1 << " is larger!" << endl; else if (r<0)

Python 实验8 函数1

实验8 函数(一)实验目的: 1、理解自定义函数过程的定义与调用方法; 2、掌握自定义函数的定义与调用方法; 3、理解函数中的参数的作用; 实验内容: 1、编写一函数Fabonacci(n),其中参数n代表第n 次的迭代。While循环 def fib(n): if n==1 or n==2: return 1 a=1 b=1 i=2 while True: c=a+b a=b b=c i+=1 #第i次迭代,也就就是第i个数 if i==n: return c break def main(): n=input("Enter a number of generation:") print fib(n) main() 或者用for循环 def fib(n): a=1 b=1 c=0 if n==1 or n==2: return 1 else: for i in range(3,n+1): c=a+b a=b b=c return c def main(): n=input("enter n:") print fib(n) main() 2、编写一函数Prime(n),对于已知正整数n,判断该数就是否为素数,如果就是素数,返回True,否则返回 False。 def prime(n): if n<2: return False a=0 for i in range(1,n+1): if n%i==0: a+=1 if a>2: return False else: return True def main(): n=input("Enter a number:") print prime(n) main() Or: def prime(n): if n<2: return False if n==2: return True for i in range(2,n): if n%i==0: return False return True def main(): n=input("Enter a number:") print prime(n) main()

一次函数的应用题分类总结整理

一、明确函数类型,利用待定系数法构建函数表达式; 特点:所给问题中已经明确告知为一次函数 ....关系或者给出函数的图像为直线或直线的一部分时,就等于告诉我们此函数为“一次函数”,此时可以利用待定系数法,设关系式为:y=kx+b,然后寻找满足关系式的两个x与y的值或两个图像上的点,代入求解即可。 常见题型:销售问题中售价与销量之间常以表格形式给出的有规律的变化,蕴含着一次函数关系;行程问题中的路程与时间的关系常给出函数的图像(多是直线或折线); 【典型例题赏析】 1.(2010 江苏连云港)(本题满分10分)我市某工艺品厂生产一款工艺品.已知这款工艺品的生产成本为每件60元.经市场调研发现:该款工艺品每天的销售量y(件)与售价x(元)之间存在着如下表所示的一次函数关系. 售价 x(元) …70 90 … 销售量y(件) … 300 0 1000 … (1)求销售量y(件)与售价x(元)之间的函数关系式; (2)你认为如何定价才能使工艺品厂每天获得的利润为40 000 元? 2.已知A、B两城相距600千米,甲、乙两车同时从A城出发驶向B城, 甲车到达B城后立即沿原路返回.图2是它们离A城的距离y(千米) 与行驶时间x(小时)之间的函数图像。 (1)求甲车在行驶过程中y与x之间的函数关系式; (2)当它们行驶了7小时时,两车相遇.求乙车的速度. 3.(2010浙江湖州)一辆快车从甲地驶往乙地,一辆慢车从乙地驶往甲地,两车同时出发,匀速行驶.设行驶的时间为x(时),两车之间的距离为y(千米),图中的折线表示从两车出发至快车到达乙地过程中y与x之间的函数关系. (1)根据图中信息,求线段AB所在直线的函数解析式和甲乙两地之间的距离;

实验十函数应用答案

实验十函数应用 一?实验目的 1.掌握函数的定义和调用; 2.理解形参和实参的使用和传值调用; 3.理解函数声明的使用; 4.掌握函数的嵌套调用; 5.了解函数的嵌套与递归调用,掌握递归函数的编写规律; 6.了解数组元素、数组名作函数参数。 二?实验学时数 2学时 三?实验步骤 (一)阅读程序 1.#include int fun (int x, int y, int z) { z=x * x + y * y; } main() { int a=38; fun(7,3,a); printf("%d",a); 2.#include void fun (int x,int y ); main() {int x=5,y=3; fun(x,y); printf("%d,%d\n",x,y); } void fun (int x,int y ) { x=x+y; y=x-y;

x=x-y; printf("%d,%d\n",x,y); 3.#include int f (int a); main() { int s[ 8 ] = {1,2,3,4,5,6} ,i, d=0; for (i=0; f( s[i] ) ; i++) d+=s[i]; printf("%d\n",d); } int f(int a) { return a%2; } 4.#include long f( int g) { switch(g) { case 0:return 0; case 1: case 2: return 1; } return ( f(g-1)+ f(g-2)); } main ( ) { long int k; k = f(7); printf("\nk= %d\n",k); }

初二一次函数应用题练习

《一次函数的应用》热点考题训练 例一:如图,温度计上表示了摄氏温度与华氏温度的刻度,能否用函数解析式表示摄氏温度与华氏温度的关系?如果今天的气温是摄氏32度,那么华氏是多少度? 例二:遥控赛车在“争先”杯赛中,电脑记录了速度的变化过程如图所示。能否用函数解析式表示这段记录? 例三:某居民小区按照分期付款的形式福利售房,政府给予一定的贴息。小明家购得一套现价为120000元的房子,购房时首期(第一年)付款30000元,从第二年起,以后每年应付房款为5000远与上一年剩余欠款利息的和,设剩余欠款年利率为0.4%。 ⑴ 若第x (x ≥2)年小明家交付房款y 元,求年付房款y (元)与x (年)的函数关系式; ⑵ 例四:已知雅美服装厂现有A 种布料70米,B 种布料52米,现计划用这两种布料生产M ,N 两种型号的时装共80套。已知做一套M 型号的时装需要A 种布料0.6米,B 种布料0.9米,可获利润45员;做一套N 型号的时装需要A 种布料1.1米,B 种布料0.4米,可获利润50元。若设生产N 型号的时装套数为x ,用这批布料生产这两种型号的时装所获总利润为y 元。 (1)求y 与x 的函数关系式,并求出自变量的取值范围; (2)雅美服装厂在生产这批服装中,当N 型号的时装为多少套时,所获利润最大?最大利润是多少? 例五:某市电话的月租费是20元,可打60次免费电话(每次3分钟),超过60次后,超过部分每次0.13元。 (1)写出每月电话费y (元)与通话次数x 之间的函数关系式; (2)分别求出月通话50次、100次的电话费; (3)如果某月的电话费是27.8元,求该月通话的次数。 00– –2 3 0 5122 212 100

c实验题目(实验1-5及答案)

实验一顺序结构的程序设计1.输入x的值,根据下面的多项表达式求y的值: y=3 4 x5+12x4-7.3x3- 8 3 x2+2x-4 (1)编程,注意要有输入数据的提示语句。 #include "stdio.h" main() { double x,y; printf("please input x:\n"); scanf("%lf",&x); y=3.0/4*x*x*x*x*x+12*x*x*x*x-7.3*x*x*x+2*x-4; printf("y=%10.4lf\n",y); } (2)x取下列值时,分别运行此程序 2.任意输入一个三位整数,然后逆序输出。如输入为123,则输出为321。 (1) 编程,注意要有输入数据的提示语句 (2) 用八进制的形式输出各位数字的ASCII码。 (3) 输入取下列值时,分别运行此程序 main() { int x,inversed,hundred,ten,indiv; printf("please input x:\n"); scanf("%d",&x); hundred=x/100; ten=(x-hundred*100)/10; indiv=x%10; /*indiv=(x-hundred*100)-ten*10;*/ inversed=indiv*100+ten*10+hundred; printf("the original number is %d\n",x); printf("the inversed number is %d\n",inversed);

printf("the oct number is %0,%0,%0\n",indiv+'0',ten+'0',hundred+'0'); } #include main() { int x,inversed,hundred,ten,indiv; printf("please input x:\n"); scanf("%d",&x); indiv=x%10; ten=((x-indiv)/10)%10; hundred=(((x-indiv)/10-ten)/10)%10; inversed=indiv*100+ten*10+hundred; printf("the original number is %d\n",x); printf("the inversed number is %d\n",inversed); printf("the oct number is %0,%0,%0\n",indiv+'0',ten+'0',hundred+'0'); } 实验二选择结构的程序设计 1.编程计算下面的分段函数。 4x-8 -1≤x<0 y= 3x2+10x-1 0≤x<1 8x3-3x2+2x-1 1≤x<2 (1)事先编好程序和流程图。要求用if语句结构实现,注意数据类型和输入提示语句。#include main ( ) { float x,y; printf ("input x:\n"); scanf ("%f",&x); if (x>=-1&&x<2) { if (x>=-1&&x<0) y=4*x-8; else if (x>=0&&x<1) y=3*x*x+10*x-1; else y=8*x*x*x-3*x*x+2*x-1; printf("y=%10.2f",y); } else printf ("DA TA ERROR!"); } (2)将程序运行六遍,分别从键盘上输入-1,-0.5,0,0.5,1,1.5这六个数,记录

实验八 函数含答案

实验八函数 【目的与要求】 1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。 2.了解主调函数和被调函数之间的参数传递方式。 【上机内容】 【一般示例】 【例1】将打印18个"*"组成星形线定义为一个返回值和形参列表都为空的函数,通过主函数调用它。 #include void Star(void) //画星形线。函数没有返回值,形参列表也为空 { int i; for(i=1;i<=18;i++) printf("*"); //18个"*"组成星形线 printf("\n"); return ; //返回值类型为void,return后不带表达式,此句可省略 } int main() { Star( ); //单独的函数调用语句,实参表为空,但必须保留括号 printf("I love C language!\n"); Star( ); return 0; } 【例2】调用prime 函数以每行5个素数的格式输出100到200之间的所有素数。

#include #include int prime(int m) //判断素数函数定义 { int i,k,f=1 ; //函数内定义3个变量 if (m==1) //形参若为1 f=0 ; //形参若为1,非素数 k=(int)sqrt(m); for (i=2; i<=k;i++) if (m%i==0) //m被某除数整除 f=0 ; //则不是素数 return f ; //用return语句返回 } //函数体结束 int main( ) { int i,count=0; for (i=101;i<200;i=i+2) //用i作为循环控制变量,从101开始,步长为2 if (prime(i)) //对每一个i,调用prime函数判断它是否为素数 { printf("%5d",i); //如果是素数,输出该素数i count++ ; //素数个数加1 if (count%5==0 ) //每输出5个素数换一行 printf("\n"); }

八年级数学一次函数应用题、几何综合题专题强化训练51题

一次函数应用题、几何综合题专题强化训练51题1.“五?一”期间,小明一家乘坐高铁前往某市旅游,计划第二天租用新能源汽车自驾出游. 根据以上信息,解答下列问题: (1)设租车时间为x小时,租用甲公司的车所需费用为y1元,租用乙公司的车所需费用为y2元,分别求出y1,y2关于x的函数表达式; (2)请你帮助小明计算并选择哪个出游方案合算. 2.某公司开发出一款新的节能产品,该产品的成本价为6元/件,该产品在正式投放市场前通过代销点进行了为期一个月(30天)的试销售,售价为8元/件,工作人员对销售情况进行了跟踪记录,并将记录情况绘成图象,图中的折线ODE表示日销售量y(件)与销售时间x(天)之间的函数关系,已知线段DE表示的函数关系中,时间每增加1天,日销售量减少5件. (1)第24天的日销售量是 件,日销售利润是 元. (2)求y与x之间的函数关系式,并写出x的取值范围; (3)日销售利润不低于640元的天数共有多少天?试销售期间,日销售最大利润是多少元? 3.某周日上午8:00小宇从家出发,乘车1小时到达某活动中心参加实践活

动.11:00时他在活动中心接到爸爸的电话,因急事要求他在12:00前回到家,他即刻按照来活动中心时的路线,以5千米/小时的平均速度快步返回.同时,爸爸从家沿同一路线开车接他,在距家20千米处接上了小宇,立即保持原来的车速原路返回.设小宇离家x(小时)后,到达离家y(千米)的地方,图中折线OABCD表示y与x之间的函数关系. (1)活动中心与小宇家相距 千米,小宇在活动中心活动时间为 小时,他从活动中心返家时,步行用了 小时; (2)求线段BC所表示的y(千米)与x(小时)之间的函数关系式(不必写出x所表示的范围); (3)根据上述情况(不考虑其他因素),请判断小宇是否能在12:00前回到家,并说明理由. 4.在甲、乙两城市之间有一服务区,一辆客车从甲地驶往乙地,一辆货车从乙地驶往甲地.两车同时出发,匀速行驶,客车、货车离服务区的距离y1(千米),y2(千米)与行驶的时间x(小时)的函数关系图象如图1所示. (1)甲、乙两地相距 千米. (2)求出发3小时后,货车离服务区的路程y2(千米)与行驶时间x(小时)之间的函数关系式. (3)在客车和货车出发的同时,有一辆邮政车从服务区匀速去甲地取货后返回乙地(取货的时间忽略不计),邮政车离服务区的距离y3(千米)与行驶时间x (小时)之间的函数关系图线如图2中的虚线所示,直接写出在行驶的过程中,经过多长时间邮政车与客车和货车的距离相等?

《C语言程序设计》实验.设计.习题.答案 函数

实验5 函数 姓名:学号:实验日期: 1.实验目的和要求:参见实验指导书实验八 2.实验内容和步骤: 实验内容:实验指导书中的实验八 实验步骤: 2.1.实验内容的第1题,通过本题,了解到要在单步调试时能够观察自定义的函数内部变量变化情况,单步调试如何操作: 1.在“菜单栏”中单击“组建”,然后在弹出的下划栏中选择“开始调试”,然后选择“Step Into”;或者按“F11”。 2.然后开始单步调试,按F10 提问 修改前运行结果画面: (1),请在下面粘贴运行结果画面: #include int a=3,b=5; max(int a,int b) { int c; c=a>b?a:b; return(c); } main() { int a=8; printf("%d\n",max(a,b)); }

实参a是否为同一变量?不是 提问(2),请请在下面粘贴运行结果画面:#include max(int a,int b) { int c; c=a>b?a:b; return(c); } main() { extern int a,b; printf("%d\n",max(a,b)); } int a=3,b=5; 提问(3),观察结果有何变化? #include max(int a,int b) { int c; c=a>b?a:b; return(c); } main() { int a,b; printf("%d\n",max(a,b)); }

int a=3,b=5; 通过本题,可以得出什么结论?若没给未知量赋予初值,那未知量将被随意赋值,赋值一主函数的赋值为先。 2.2 实验内容部分第2题源程序代码,请贴图: 程序运行结果画面,请贴图: 2.3 实验内容部分第3题源程序代码,请贴图:

八年级函数应用题

1.如图,已知直线y=x/2与双曲线y=k/x(k>0)交于A,B两点,且点A的横坐标为4. (1)求k的值 (2)若双曲线y=k/x(k>0)上一点C的纵坐标为8,求△AOC的面积 (3)过原点O的另一条直线L交双曲线y=k/x(k>0)于P,Q两点(P点在第一象限),若由点A,B,P,Q为顶点组成的四边形面积为24,求点P的坐标. 2..如图1,A,B,C三个容积相同的容器之间有阀门连接,从某一时刻开始,打开A容器阀门,以4升/分的速度向B容器内注水5分钟,然后关闭,接着打开B容器阀门,以10升/分的速度向C容器内注水5分钟,然后关闭.设A,B,C三个容器内的水量分别为y a,y b,y c(单位:升),时间为t(单位:分).开始时,B容器内有水50升,y a,y c与t的函数图象如图2所示,请在0≤t≤10的范围内解答下列问题: (1)求t=3时,y b的值. (2)求y b与t的函数关系式,并在图2中画出其函数图象. (3)求y a:y b:y c=2:3:4时t的值.

3.某部队甲、乙两班参加植树活动.乙班先植树30棵,然后甲班才开始与乙班一起植树.设甲班植树的总量为y甲(棵),乙班植树的总量为y乙(棵),两班一起植树所用的时间(从甲班开始植树时计时)为x(时).y甲、y乙分别与x之间的部分函数图象如图所示. (1)当0≤x≤6时,分别求y甲、y乙与x之间的函数关系式.(3分) (2)如果甲、乙两班均保持前6个小时的工作效率,通过计算说明,当x=8时,甲、乙两班植树的总量之和能否超过260棵.(3分) (3)如果6个小时后,甲班保持前6个小时的工作效率,乙班通过增加人数,提高了工作效率,这样继续植树2小时,活动结束.当x=8时,两班之间植树的总量相差20棵,求乙班增加人数后平均每小时植树多少棵.(4分) 4 甲、乙两组工人同时加工某种零件,乙组工作中有一次停产更换设备,更换设备后,乙组的工作效率是原来的2倍.两组各自加工零件的数量y(件)与时间x(时)的函数图象如图所示. (1)求甲组加工零件的数量y与时间x之间的函数关系式.(2分)(2)求乙组加工零件总量a的值.(3分) (3)甲、乙两组加工出的零件合在一起装箱,每够300件装一箱,零件装箱的时间忽略不计,求经过多长时间恰好装满第1箱再经过多长时间恰好装满第2箱(5分)

实验08-1参考答案

实验八指针程序设计 班级:学号:姓名:评分: 一.【实验目的】 1、理解指针、地址和数组间的关系。 2、掌握通过指针操作数组元素的方法。 3、掌握数组名作为函数参数的编程方式。 4、进一步掌握C程序的调试方法和技巧。 二.【实验内容和步骤】 1、程序调试题 A.目标:进一步学习掌握程序调试的方法和技巧。 B.内容:有n个整数,使各数顺序往后循环移动m个位置(m void mov(int *, int, int); int main() { int m, n, i, a[80], *p; printf("Input n, m:"); scanf("%d%d",&n,&m); for(p=a,i=0;i0;j--) x[j]=x[j-1]; /* 调试时设置断点 */ x[0]=k; } } ②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。

实验8 函数——递归函数

淮海工学院计算机科学系实验报告书 课程名:《C语言程序设计A 》 题目:实验8 函数 ——递归函数 班级:软嵌151 学号:2015123349 姓名:陈正宁

1、实验内容或题目 (1)用递归编写n!的函数,并在main主函数中调用此函数。 (2)有n个大小不同的盘片从大到小放在A柱上,另有B和C两个空柱,要求将这n个盘片从A柱搬到C柱上,在搬动过程中,每次只能搬一个盘片,而且小的不能放在大的之下。编写hanio函数实现搬迁过程。 (3)编写一个程序,求解皇后问题:在n×n的方格棋盘上,放置n个皇后,要求每个皇后不同行、不同列、不同左右对角线。 2、实验目的与要求 (1)要求熟练掌握函数的定义和调用,熟悉函数返回值的使用。 (2)熟悉函数调用的方式和过程。 (3)重点掌握递归函数的使用。 (4)要求实验的第2题采用递归函数编写,盘片的数目在main主函数中输入。提示:函数的参数定义如hanio(n,A,C,B),表示将n个盘片从A柱通过C柱搬到B柱。 (5)要求实验的第3题采用递归函数编写皇后的个数n由用户输入,其值不能超过20;采用整数数组q[N]求解结果,因为每列只能放一个皇后,q[i]的值表示第i个皇后所在的行号,即该皇后放在(q[i],i)的位置上。求解皇后问题的递归模型如下:place(i,n):若i=n,则n个皇后放置完毕,输出解(输出q数组元素) place(k,n):在第k列找一个合适位置i,放置一个皇后(即q[k]=i);place(k+1,n);其中,place(k,n)表示前面的第1,…,k-1个皇后放置好后,现在用于放置k,…,n的皇后。 3、实验步骤与源程序 ⑴实验步骤 ⑵源代码 (1)、 #include long fac(int n) { long f; if(n==0||n==1)

八年级下数学函数练习题及答案

1.如果x、y之间的关系是10(0) ax y a -+=≠,那么y是x的()A.正比例函数B.反比例函数C.一次函数D.二次函数 2.函数y=-4 x的 图象 与 x 轴的交点的个数是 () A.零个B.一个C.两个D.不能确定 3.反比例函数y=- 4 x的图象在 () A.第一、三象限B.第二、四象限 C.第一、二象限D.第三、四象限 4.已知关于x的函数y=k(x+1)和y=-k x (k≠0)它们在同一坐标系中的大 致图象是(? ) 5.已知反比例函数y= x k的图象经过点(m,3m),则此反比例函数的图象在 () A.第一、二象限B.第一、三象限 C.第二、四象限D.第三、四象限 6.某气球内充满了一定质量的气体,当温度不变时,气球内气体的 气压P(kPa )是气体体积V(m3 )的反比例函数,其图 1.6 60 O V (m3) P (kPa) (1.6,60)

象如图所示.当气球内的气压大于120 kPa 时,气球发将爆炸.为了安全起见,气球的体积应 ( ) A .不小于5 4 m 3 B .小于5 4 m 3 C .不小于4 5 m 3 D .小于4 5 m 3 7.如果点P 为反比例函数x y 4 = 的图象上一点,PQ ⊥x 轴,垂足为Q ,那么△POQ 的面积为( ) A .2 B . 4 C .6 D . 8 8.已知:反比例函数x m y 21-=的图象上两点A (x 1,y 1),B (x 2, y 2)当x 1<0<x 2时, y 1 < y 2 ,则m 的取值范围 ( ) A .m <0 B .m >0 C .m <2 1 D .m > 21 二、填空题(每小题2分,共20分) 9.有m 台完全相同的机器一起工作,需m 小时完成一项工作,当由x 台机器(x 为不大于m 的正整数)完成同一项工作时,所需的时间y 与机器台数x 的函数关系式是____. 10.已知y 与x 成反比例,且当x 32 =-时,y =5,则y 与x 的函数关系式为__________. 11.反比例函数x y 3 =的图象在第一象限与第 象限. 12.某食堂现有煤炭500吨,这些煤炭能烧的天数y 与平均每天烧煤的吨数x 之间的函数 关系式是 .

相关文档