




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试验九 函数一、基础能力落实: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) 编写一个程序,调函数实现功能:(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”,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(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); 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 t1=(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 taxis(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;while(*(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值(真);如果字符不在字符串中,就返回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 = = 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个学生,各四门课,计算总平均分数,以及地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 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类型变量的数值替换成它们中的较大值,例如: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): ); 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 d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新疆北庭希望环保科技有限公司吉木萨尔县25万吨-年危废处理利用项目(2)环评报告
- 某著名企业DeepSeek系列09DeepSeek政务应用场景与解决方案
- 工业废水处理与绿色工艺技术
- 工业废气治理技术与方法探讨
- 工业大数据的分析与应用
- 工业建筑设计及自动化机电系统
- 工业污染防治与绿色制造技术分析
- 工业网络通信协议与技术标准
- 工业生产中的设备优化管理
- 工业生产中的节能减排措施与实践
- YS/T 279-201125号钠黑药
- GB/T 6182-20162型非金属嵌件六角锁紧螺母
- 《中国近代史纲要》社会实践作业
- 物理必修一第一章章末检测卷(一)
- 三年级上册第一单元习作课件
- 中医药膳学:中医药膳制作的基本技能课件
- QC的手袋之验货程序
- 如何审议预算及其报告新演示文稿
- 融资并购项目财务顾问协议卖方大股东为个人模版
- 文化差异与跨文化交际课件(完整版)
- ISO2768-1中文版公差表
评论
0/150
提交评论