资源描述:
《C语言中常见的功能函数.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.C语言中常见的功能函数(应掌握的编程)1、两个变量值的交换voidexchang(float*x,float*y)/*形参为两个变量的地铁(指针)*/{floatz;z=*x;*x=*y;*y=z;}voidmain(){floata,b;scanf(“%f%f”,&a,&b);exchang(&a,&b);/*因为形参是指针,所以实参必须给变量的地址,不能给变量名*/printf(“a=%f,b=%f”,a,b);}2、判断一个整数的奇偶intjou(intn)/*如果是奇数返回1,否则返回0*/{if(n%2==0)retur
2、n0;return1;}3、小写字符转换成大写字符根据实参传给形参的字母,判断是否是小写字母,如果是小写字母,则转换成大写字母,否则不进行转换,函数返回转换后或原来的字符。本函数仿照toupper()库函数的功能编写(toupper(c)是将变量c字母转换成大写字母,如果不是小写字母不转换)。chartoupper1(charch){if(ch>=’a’&&ch<=’z’)ch-=32;/*小写字母比对应的大写字母ASCII码值大32*/returnch;}4、判断一个字符是否是字母(或数字)根据实参传给形参的字符,判断是否是字母(
3、或数字),如果是字母(或数字)返回1,否则返回0。此函数是根据库函数isalpha()(或isdigit())来编写的。intisalpha1(charch)/*判断是否是字母*/{if(ch>=’A’&&ch<=’Z’
4、
5、ch>=’a’&&ch<=’z’)return1;elsereturn0;}intisdigit1(charch)/*判断是否是数字字符*/{if(ch>=’0’&&ch<=’9’)return1;elsereturn0;}5、根据学生成绩,返回其等级charfun(floatcj){charc;switch((
6、int)cj/10){case10:'..case9:c=’A’;break;case8:c=’B’;break;case7:c=’C’;break;case6:c=’D’;break;default:c=’E’}returnc;}6、求1+2+⋯.+n(1)用循环intsum(intn){inti;for(i=1;i<=n;i++)s+=i;}(2)使用递归longsum(intn){if(n==1)return1;elsereturnjiec(n-1)+n;}根据本题扩展:求s=1+(1+2)+(1+2+3)+⋯.+(1+2+⋯
7、+n)voidmain(){longs=0,s1=0;inti,n;scanf(“%d”,&n);for(i=1;i<=n;i++){s1+=i;/*计算出每一项的值,通过累加得到*/s+=s1;/*将每一项的值累加到结果中去*/}printf(“s=%ld”,s);}7、求n!(1)用循环longjiec(intn){inti;longs=1;for(i=1;i<=n;i++)s*=i;returns;}(2)使用递归longjiec(intn){if(n==1)return1;elsereturnjiec(n-1)*n;}根据本
8、题扩展:'..求s=1!+2!+3!+⋯.+n!n的值最好不要太大voidmain(){longs=0,s1=1;inti,n;scanf(“%d”,&n);/*输入n的值不要太大,否则结果long型存不下,输出时会输出一个负数*/for(i=1;i<=n;i++){s1*=i;/*计算出每一项的值,通过累乘得到*/s+=s1;/*将每一项的值累加到结果中去*/}printf(“s=%ld”,s);}8、求某整数的因子之和intinz(intn)/*计算数n的因子之和(包括1和n本身),函数返回因子之和*/{ints=0,i;for
9、(i=1;i<=n;i++)/*通过本循环,将1-n的数一个一个拿来看是否能被n整除,如果是真因子的话,就不包括1和n本身*/if(n%i==0)s+=i;/*一个数的因子,就是能被其整除的数*/returns;}9、判断一个整数是否是素数intss(intn)/*如果是素数返回1,否则返回0*/{inti;for(i=2;i10、fan=fan*10+n%10;n/=10;}returnfan;}11、判断一个数是否是回文数longhw(longn)/*如果是回文数函数返回1,否则返回0*/{longfan=0,m=n;while(n!=0){fan=fan*