ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:22.30KB ,
资源ID:12058242      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12058242.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(函数练习参考代码.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

函数练习参考代码.docx

1、函数练习参考代码试验九 函数一、基础能力落实:1)设计函数min(x,y),返回两个double数值中较小的数值。#include double min(double a, double b);int main(void) double x, y; printf(Enter two numbers: ); scanf(%lf %lf, &x, &y); printf(The smaller number is %f.n, min(x,y); return 0;double min(double a, double b) return a b ? a : b;2) 编写一个程序,调函数实现功能:

2、(1)求两个数之和;(2)求两个数之差;(3)求两个数之积。#include double add(double a, double b) return a+b;double subtract(double a, double b) return a-b;double multiple(double a,double b) return a*b;int main() double num1,num2; printf(“please input tow number:”); scanf(“%lf %lf”,&num1,&num2); printf(“%5.2f + %5.2f = %5.2fn”

3、,num1,num2,add(num1,num2); printf(“%5.2f + %5.2f = %5.2fn”,num1,num2,subtract(num1,num2); printf(“%5.2f + %5.2f = %5.2fn”,num1,num2,multiple(num1,num2);3) 编写一个函数,函数的3个参数是一个字符和两个整数。字符参数是需要输出的字符,第一个整数说明了在每行中该字符输出的个数,而第二个整数指的是需要输出的行数,编写一个调用该函数的程序。#include void chLineRow(char ch, int c, int r);int main(

4、void) char ch; int col, row; printf(Enter a character (# to quit): ); while ( (ch = getchar() != #) if (ch = n) continue; printf(Enter number of columns and number of rows: ); if (scanf(%d %d, &col, &row) != 2) break; chLineRow(ch, col, row); printf(nEnter next character (# to quit): ); printf(Bye!n

5、); return 0;void chLineRow(char ch, int c, int r) int col, row; for (row = 0; row r ; row+) for (col = 0; col c; col+) putchar(ch); putchar(n); 4)以下函数的功能是用递归的方法计算x的n阶勒让德多项式的值。已有调用语句p(n,x);编写函数实现功能。递归公式如下:#include float p(int x,int n) float t,t1,t2; if(n= =0) return 1; else if(n= =1) return x; else t

6、1=(2*n-1)*x*p(x,(n-1); t2=(n-1)*p(x,(n-2); t=(t1-t2)/n; return t;int main() int x,n; printf(“input two int (x and n):”); scanf(“%d%d”,&x,&n); printf(“%.2fn”,p(x,n); return 0;5)编写一个函数taxis()实现数组的排序,在函数中调用swap()实现两个数的交换。打印出排序结果。#include void swap(int *a,int *b) int tmp; tmp=*a; *a=*b; *b=tmp;void taxi

7、s(int *a, int num) int i,j; for(i=0;inum-1;i+) for(j=i+1;j aj) swap(&ai,&aj);int main() int i,a=2,5,9,8,7,6,4,3,1; taxis(a, sizeof(a)/sizeof(int); for(i=0;isizeof(a)/sizeof(int);i+) printf(“%dt”,ai);printf(“n”);return 0;二、进阶能力落实:1) 编写一个函数,实现两个字符串的比较。#include int my_strcmp(char *p,char *q) int i=0; w

8、hile(*(p+i) = *(q+i) if( *(p+i) = =0 ) return 0; i+; return(*(p+i) - *(q+i);int main() int m;char str120,str220; printf(“Input tow strings:”); gets(str1); gets(str2); printf(“result:%dn”,my_strmp(str1,str2); return 0;2) 编写一个函数is-within().它接受两个参数,一个是字符,另一个是字符串指针。其功能是如果字符在字符串中。就返回一个非0值(真);如果字符不在字符串中,就

9、返回0值(假)。在一个使用循环语句为这个函数提供输入的完整程序中进行测试。#include #define LEN 80int is_within(const char * str, char c);int main(void) char inputLEN; char ch; int found; printf(Enter a string: ); while (gets(input) & input0 != 0) printf(Enter a character: ); scanf(“n%c”, &ch); found = is_within(input, ch); if (found =

10、= 0) printf(%c not found in string.n, ch); else printf(%c found in string %sn, ch, input); printf(Next string: ); puts(Done.n); return 0;int is_within(const char * str, char ch) while (*str != ch & *str != 0) str+; return *str; /* = 0 if 0is reached, non-zero otherwise */3) 有一个班,有3个学生,各四门课,计算总平均分数,以

11、及地n个学生的成绩。(用函数average求平均成绩,用函数search找出并输出第i个学生的成绩)int main() int num; float score34=65,67,70,60,80,87,90,81,90,99,100,98; printf(“average=%5.2fn”,average(score0,12); while(1) printf(“Input a number(13):”); scanf(“%d”,&num); if(num 3) | (num 1) printf(“error!n”); else search(score,num);return 0;float

12、 average(float *p,int n) float *p_end; float sum=0,aver; p_end=p+n-1; for(;p=p_end;p+) sum+=*p; aver=sum/n; return aver;int search(float (*p)4,int n) int i; printf(“the score of NO.%d are:”,n); for(i=0;i4;i+) printf(“%2.0f”,*(*(p+n-1)+i); return 0;4) 编写并测试函数larger_of(),其功能是将两个double类型变量的数值替换成它们中的较大值

13、,例如:larger_of(x,y)会把x,y中的较大数值重新赋给变量x和y.#inlcude void larger_of(double *p1, double *p2);int main(void) double x, y; printf(Enter two numbers (q to quit): ); while (scanf(%lf %lf, &x, &y) = 2) larger_of(&x, &y); printf(The modified values are %f and %f.n, x, y); printf(Next two values (q to quit): );

14、printf(Bye!n); return 0;void larger_of(double *p1, double *p2) double temp = *p1 *p2 ? *p1 : *p2; *p1= *p2 = temp;5) 编写一个函数,其参数为一个字符串,函数删除字符串中的空格,在一个可以循环读取的程序中进行测试,直到用户输入空行,对于任何输入字符串,函数都应该使用和并可以显示结果#include #define LEN 81int drop_space(char * s);int main(void) char origLEN; while (gets(orig) & orig0 != 0) drop_space(orig); puts(orig); puts(Bye!); return 0;int drop_space(char * s)char *p, *q;p=q=s;while ( *q != 0 ) if ( *q != ) *p+ = *q+; else q+; *p = 0;6)给主函数传递参数实现echo功能:#incldue int main(int argc,char *argv) int i=1; while( i argc ) printf(“%s ”,argvi); i+;printf(“n”);return 0;

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

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