欢迎来到天天文库
浏览记录
ID:6382418
大小:107.50 KB
页数:14页
时间:2018-01-12
《c语言课后习题第7章函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、习题77.1已有变量定义和函数调用语句:inta=1,b=–5,c;c=fun(a,b);fun函数的作用是计算两个数之差的绝对值,并将差值返回调用函数,请编写fun函数。Fun(intx,inty){ }7.1求两数之差绝对值#includefun(intx,inty){returnabs(x-y);}main(){inta=1,b=-5,c;c=fun(a,b);printf("
2、%d-%d
3、=%d",a,b,c);}7.2已有变量定义和函数调用语句:intx=57;isprime(x);函数isprime( )
4、;用来判断一个整型数a是否为素数,若是素数,函数返回1,否则返回0。请编写isprime函数。isprime(inta){ }7.3已有变量定义和函数调用语句inta,b;b=sum(a);函数sum()用以求,和数作为函数值返回。若a的值为10,经函数sum的计算后,b的值是55。请编写sum函数。Sum(intn){ }7.3求∑k#includesum(intn){intk,s=0;for(k=1;k<=n;k++)s=s+k;returns;}main(){inta,b;printf("Inputa:")
5、;scanf("%d",&a);b=sum(a);printf("%c(1,%d)=%d",228,a,b);}7.4一函数,输入一行字符,将此字符串中最长的单词输出。7.4输出最长的单词,假设只包含字母和空格,单词间以空格分隔,空格个数不限#includevoidfun(chara[]){intn,i,j,k=0,len[80],p;charc[80][80],max[80];n=strlen(a);for(i=0;i6、a[i]!=32)/*没有遇到下一个空格,说明单词没有结束*/{c[k][j]=a[i];j++;i++;}/*将单词放入字符串c[k]*/c[k][j]=' ';/*人为加串尾标志*/k++;/*k为下一个单词存入c的行号*/}for(i=0;i7、hewordis:%s",c[p]);}main(){chara[80];printf("Inputalinestring:");gets(a);fun(a);}7.5一函数,输入一个十六进制数,输出相应的十进制数。7.5十六进制数转换成十进制数#include#includeintfun(chara[]){inti,n=0,m;for(i=0;a[i];i++){if(isalpha(a[i]))/*如果a[i]是字母,求出相应的十进制数*/switch(a[i]){case'a':case'A':m8、=10;break;case'b':case'B':m=11;break;case'c':case'C':m=12;break;case'd':case'D':m=13;break;case'e':case'E':m=14;break;case'f':case'F':m=15;break;default:printf("Inputerror!");exit(0);/*如果输入了不合法的字母,输出相应的信息*/}elseif(isdigit(a[i]))/*如果a[i]是数字*/m=a[i]-'0';else{printf("Inputer9、ror!");exit(0);}/*如果输入了不合法的字符,输出相应的信息*/n=n*16+m;/*将十六进制数转换成十进制数*/}returnn;}main(){chara[80];intn;printf("input:");scanf("%s",a);n=fun(a);printf("output:%d",n);}7.6给出年、月、日,计算该日是该年的第几天。#includeintfun(year,month,day){intn=0,i;n=n+day;/*累加当月的天数*/for(i=month-1;i>0;i10、--)/*累加前面月份的天数*/switch(i){case12:n=n+31;case11:n=n+30;case10:n=n+31;case9:n=n+30;c
6、a[i]!=32)/*没有遇到下一个空格,说明单词没有结束*/{c[k][j]=a[i];j++;i++;}/*将单词放入字符串c[k]*/c[k][j]=' ';/*人为加串尾标志*/k++;/*k为下一个单词存入c的行号*/}for(i=0;i7、hewordis:%s",c[p]);}main(){chara[80];printf("Inputalinestring:");gets(a);fun(a);}7.5一函数,输入一个十六进制数,输出相应的十进制数。7.5十六进制数转换成十进制数#include#includeintfun(chara[]){inti,n=0,m;for(i=0;a[i];i++){if(isalpha(a[i]))/*如果a[i]是字母,求出相应的十进制数*/switch(a[i]){case'a':case'A':m8、=10;break;case'b':case'B':m=11;break;case'c':case'C':m=12;break;case'd':case'D':m=13;break;case'e':case'E':m=14;break;case'f':case'F':m=15;break;default:printf("Inputerror!");exit(0);/*如果输入了不合法的字母,输出相应的信息*/}elseif(isdigit(a[i]))/*如果a[i]是数字*/m=a[i]-'0';else{printf("Inputer9、ror!");exit(0);}/*如果输入了不合法的字符,输出相应的信息*/n=n*16+m;/*将十六进制数转换成十进制数*/}returnn;}main(){chara[80];intn;printf("input:");scanf("%s",a);n=fun(a);printf("output:%d",n);}7.6给出年、月、日,计算该日是该年的第几天。#includeintfun(year,month,day){intn=0,i;n=n+day;/*累加当月的天数*/for(i=month-1;i>0;i10、--)/*累加前面月份的天数*/switch(i){case12:n=n+31;case11:n=n+30;case10:n=n+31;case9:n=n+30;c
7、hewordis:%s",c[p]);}main(){chara[80];printf("Inputalinestring:");gets(a);fun(a);}7.5一函数,输入一个十六进制数,输出相应的十进制数。7.5十六进制数转换成十进制数#include#includeintfun(chara[]){inti,n=0,m;for(i=0;a[i];i++){if(isalpha(a[i]))/*如果a[i]是字母,求出相应的十进制数*/switch(a[i]){case'a':case'A':m
8、=10;break;case'b':case'B':m=11;break;case'c':case'C':m=12;break;case'd':case'D':m=13;break;case'e':case'E':m=14;break;case'f':case'F':m=15;break;default:printf("Inputerror!");exit(0);/*如果输入了不合法的字母,输出相应的信息*/}elseif(isdigit(a[i]))/*如果a[i]是数字*/m=a[i]-'0';else{printf("Inputer
9、ror!");exit(0);}/*如果输入了不合法的字符,输出相应的信息*/n=n*16+m;/*将十六进制数转换成十进制数*/}returnn;}main(){chara[80];intn;printf("input:");scanf("%s",a);n=fun(a);printf("output:%d",n);}7.6给出年、月、日,计算该日是该年的第几天。#includeintfun(year,month,day){intn=0,i;n=n+day;/*累加当月的天数*/for(i=month-1;i>0;i
10、--)/*累加前面月份的天数*/switch(i){case12:n=n+31;case11:n=n+30;case10:n=n+31;case9:n=n+30;c
此文档下载收益归作者所有