C语言函数实验报告模版.doc_第1页
C语言函数实验报告模版.doc_第2页
C语言函数实验报告模版.doc_第3页
C语言函数实验报告模版.doc_第4页
C语言函数实验报告模版.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六次实验 函数一、实验要求1. 掌握函数定义和调用的方法2. 掌握函数嵌套调用和递归调用的方法3. 理解实参与形参的对应关系以及“值传递”调用函数的方法4. 理解变量作用域和存在期的概念,掌握全局变量和局部变量、动态变量和静态变量的定义、说明和使用方法二、实验内容(要求粘贴正确程序及测试结果)1、完善所给的程序,通过定义一个max3函数实现求三个数中的最大值的功能。#include int max3(int a, int b,int c); /*函数声明*/void main () int a, b, c; int max; printf(Please input three numbers:); scanf(%d%d%d, &a, &b, &c); max = max3(a,b,c); /*调用max3函数,其中a,b,c作为其参数,max用于保存max3函数的返回值*/ printf(the maximum number of %d, %d, %d is %dn, a, b, c, max); /*可在此编写max3函数,实现求三个数中的最大值的功能*/max3(int a ,int b,int c) int m; m=ab?a:b; m=mc?m:c; return m;2、在循环结构程序设计实验的第6题求完数中,要求编写程序判断11000之内的哪些数是完数。现要求改写该程序,新的程序中需要定义一个int wanshu(int num)函数,该函数功能是判断函数参数num是否为完数,如果是则函数返回值为1,否则为0。完成wanshu函数定义后,在新的程序中调用wanshu函数,使得新的改写的程序能判断11000之内的哪些数是完数。#include int wanshu(int num); /*函数声明*/void main () int i; for(i=1;i=1000;i+) if(wanshu(i) /*调用wanshu函数,其中i作为其参数,若调用后返回值为1则说明是完数,否则不是*/ printf(%d是完数n, i); /*可在此编写wanshu函数,实现一个数n是否是完数*/int wanshu(int num)int s = 0,i; for(i=1;inum;i+) if( num%i = 0) s += i; if(s = num)return 1;elsereturn 0;3、找出11000之内的所有素数并输出。要求首先定义一个int prime(int num)函数,该函数用于判断参数num是否为素数,如果是则函数返回值为1,否则为0;并循环调用该函数以判断11000之内的素数。#include#include/判断一个整数是否为素数int prime(int num) int i; if(num=1 | num=0)return 0; for(i=2;i=sqrt(num);i+) if(num%i=0) return 0; return 1;void main()int i;for(i=1;i=a & c = A & c =0&c=9)numOfNumber+;elsenumOfElse+;void main()test();printf(D:%dn, numOfNumber);printf(A:%dn, numOfLetter);printf(O:%dn, numOfElse);方法一、参考P39第2题的形式,循环输入字符(直到!)并进行处理。方法二、使用scanf(“%c”, &stri)形式将字符串输入到str数组里,并依次判断stri是否为!符号,如果是则结束输入,否则继续输入。处理完成,如果想使用puts函数输出字符串str,必须在结束输入时,将stri中的!替换为0才能使用。因为判断字符串数组结束的标志是0。2、编写一个程序,实现对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为“computer”和“compare”,则输出为-20。#include void main ( ) char str1100,str2100; int i,s; printf(n Input string 1:n); gets(str1); printf(n Input string 2:n); gets(str2); for(i=0;i+) if(str1i=str2i) continue; else break; s=str1i-str2i; printf(%dn,s); 3、对于任意输入的字符串,编程求字符“a”首次出现的位置。例如:输入字符串“Hello,boys and girls.”输出结果为 12#include #include int main()int j; char s1000000; scanf(%s,&s); for(j =0; j 1000000 ;j+) if( sj = a) printf(%d,j+1); break; else if (sj = 0) printf(NO!); return 0; return 0;4、设数组a包括10个整型元素。下面程序的功能是求出a中各相邻两个元素的和,并将这些和存在数组b中按每行3个元素的形式输出。例如:输入 6 5 4 5 6 7 8 4 3 2 输出 11 9 9 11 13 1512 7 5#includestdio.hmain() int a10,b10,i; for(i=0;i10;i+) scanf(%d,&ai); for(i=1;i10;i+) bi=ai-1+ai; for(i=1;i10;i+) printf(%5d,bi); if(i%3=0) printf(n); 5、(选做题)编程实现如下功能:从键盘输入一个3*3的二维数组,输出此二维数组,并求此二维数组中的最大值,及其位置(位于第几行第几列)#include void main() int a33,i,j,max,r=0,c=0;for

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论