欢迎来到天天文库
浏览记录
ID:14277271
大小:72.00 KB
页数:11页
时间:2018-07-27
《实验7 函数——参考程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验七函数——参考程序一、程序调试方法实验1.找出并改正以下源程序中错误,得出正确的运行结果。源程序如下:#include//函数声明intadd(inta,intb);voidmain(){inta,b;scanf("%d%d",&a,&b);printf("a+b=%d",add(a,b));}voidadd(inta,b)//改为intadd(inta,intb){returna+b;}2.找出并改正以下源程序中错误,得出正确的运行结果,其中max函数的功能是得到数组中最大元素的值。源程序如下:#include#de
2、fineN10;//去掉尾部分号floatmax(floata[],intn)//尾部加上分号voidmain(){floatdata[N];inti;for(i=0;i3、r(i=0;iresult)result=a[i];}returnresult;}3.找出并改正以下源程序中错误,得出正确的运行结果,其中converse函数的功能是逆序输出n个字符。解题思路:已知字符串的长度,逆序输出字符串如果只有1个字符,直接输出该字符后结束否则:输出后面的所有字符之后,再输出该字符源程序如下:#includevoidmain(){inti=5;voidconverse(intn);printf("Input5characters:");converse(i);printf("");4、}voidconverse(n);//改为voidconverse(intn)并去掉分号{charnext;if(n>=1)//改为if(n==1){next=getchar();putchar(next);}else{next=getchar();converse(n-1);putchar(next);}}四、编写程序1、编写一个函数,其功能是判断形式参数是否为小写字母,若是,返回其对应的大写字母,否则返回原字符。然后在main函数中输入一个字符,调用该函数得到其大写字母并输出#includecharisLow(charch){if(ch5、>='a'&&ch<='z')returnch-32;elsereturnch;}voidmain(void){charch;printf("请输入一个字符:");scanf("%c",&ch);printf("%c",isLow(ch));}2、编写函数reverse(intnumber),它的功能是将number逆序输出,在main函数中输入一个整数,调用该函数得到逆序的数并输出。例如reverse(11233)的返回值为33211。#includeintreverse(intn){intrev=0,num;do{num=n%16、0;rev=rev*10+num;n=n/10;}while(n);returnrev;}voidmain(void){intnum,revnum;printf("请输入一个整数:");scanf("%d",&num);revnum=reverse(num);printf("逆序后整数为:%d",revnum);}3、编写函数完成如下功能:将长整型数中数字为偶数的数依次取出,构成一个新数返回,例如,当s中的数为:87653142时,则返回的数为:8642。提示:依次取出长整型数的每一位数字,如果是偶数,则放入新数中。在main函数中输入一个长整型数,7、调用该函数得到新的数,并输出结果。#include"stdio.h"longfunc(longs);voidmain(){longa;printf("请输入一个整数:");scanf("%ld",&a);printf("%ld",func(a));}longfunc(longn){longresult=0;intnum,weight=1;//weight表示数位的权值(即个、十、百,。。。。)while(n!=0){num=n%10;//得到最低位if(num%2==0){result=num*weight+result;//重新组织成新的数weight8、=weight*10;}n/=10;//去掉最低位}
3、r(i=0;iresult)result=a[i];}returnresult;}3.找出并改正以下源程序中错误,得出正确的运行结果,其中converse函数的功能是逆序输出n个字符。解题思路:已知字符串的长度,逆序输出字符串如果只有1个字符,直接输出该字符后结束否则:输出后面的所有字符之后,再输出该字符源程序如下:#includevoidmain(){inti=5;voidconverse(intn);printf("Input5characters:");converse(i);printf("");
4、}voidconverse(n);//改为voidconverse(intn)并去掉分号{charnext;if(n>=1)//改为if(n==1){next=getchar();putchar(next);}else{next=getchar();converse(n-1);putchar(next);}}四、编写程序1、编写一个函数,其功能是判断形式参数是否为小写字母,若是,返回其对应的大写字母,否则返回原字符。然后在main函数中输入一个字符,调用该函数得到其大写字母并输出#includecharisLow(charch){if(ch
5、>='a'&&ch<='z')returnch-32;elsereturnch;}voidmain(void){charch;printf("请输入一个字符:");scanf("%c",&ch);printf("%c",isLow(ch));}2、编写函数reverse(intnumber),它的功能是将number逆序输出,在main函数中输入一个整数,调用该函数得到逆序的数并输出。例如reverse(11233)的返回值为33211。#includeintreverse(intn){intrev=0,num;do{num=n%1
6、0;rev=rev*10+num;n=n/10;}while(n);returnrev;}voidmain(void){intnum,revnum;printf("请输入一个整数:");scanf("%d",&num);revnum=reverse(num);printf("逆序后整数为:%d",revnum);}3、编写函数完成如下功能:将长整型数中数字为偶数的数依次取出,构成一个新数返回,例如,当s中的数为:87653142时,则返回的数为:8642。提示:依次取出长整型数的每一位数字,如果是偶数,则放入新数中。在main函数中输入一个长整型数,
7、调用该函数得到新的数,并输出结果。#include"stdio.h"longfunc(longs);voidmain(){longa;printf("请输入一个整数:");scanf("%ld",&a);printf("%ld",func(a));}longfunc(longn){longresult=0;intnum,weight=1;//weight表示数位的权值(即个、十、百,。。。。)while(n!=0){num=n%10;//得到最低位if(num%2==0){result=num*weight+result;//重新组织成新的数weight
8、=weight*10;}n/=10;//去掉最低位}
此文档下载收益归作者所有