C语言 函数实用案例

#include <stdio.h>
#include <stdlib.h>
#include <string.h>	
#include <conio.h>
#include <ctype.h>
#include <math.h>
#include <time.h>
#define IO 996
#define N 10

void Triangle();
void judgeTheLetterCase();
void fact();
double factorial(int);
void stringCopy();
char * longStr();
void main(){
	//Triangle();
	//judgeTheLetterCase();
	//fact();
	//stringCopy();
	//puts(longStr());
} 

void Triangle(){
	//用函数打印出等腰三角形,行数由键盘随机输入。
	int row=0,i=0,j=0,k=0;
	scanf_s("%d",&row);
	for(i=0;i<row;i++){
		for(j=0;j<row-i-1;j++){
			printf(" ");
		}
		for(k=0;k<=i;k++){
			printf("* ");
		}
		printf("\n");
	}
	printf("\n\n");
}


void judgeTheLetterCase(){
	//判断输入的字母大小写
	char arary[5]="\0";
	while(1){
		printf("输入 一个 字母:");
		gets(arary);
		if(strlen(arary)>1){
			printf("\n输入数量大于一!或是占据两个字节的符号!!\n \n 得从新输入!!!\n\n");
			continue;
		}if((arary[0]>='a'&&arary[0]<='z')||(arary[0]>='A'&&arary[0]<='Z')){
		}else{
			printf("\n输入的不是字母!!!\n\n得从新输入! \n\n");
			continue;
		}
		if(arary[0]>=97&&arary[0]<=122){
			printf("\n小写字母:%c \n\n",arary[0]);
			break;
		} else if(arary[0]>=65&&arary[0]<=106){
			printf("\n大写字母:%c \n\n",arary[0]);
			break;
		}
	}
}

void fact(){
	//输入正整数n,求1+1/2!+1/3!+...+1/n!的值,定义并调用factorial(n)计算n的阶乘返回值为单精度浮点型。
	double value=1.0;int n=0,i=2;
	printf("输入一个大于1的数:");
	scanf_s("%d",&n);
	for(i=2;i<=n;i++){
		value+=(1/factorial(i));
	}
	printf("\n1+1/2!+1/3!+...+1/%d!的值为:%.20lf \n\n",n,value);
}
double factorial(int n){
						//求阶乘函数
	if(n==0||n==1) return n;
	else return n * factorial(n-1);
}


void stringCopy(){
	//编写一个函数实现将字符串s1中的数字字符复制到另一个字符串s2中。
	char s1[1000],s2[1000]="";
	int i=0,j=0;
	printf("\n\n输入一些字符串必须包含数字:");
	gets(s1);
	for(i=0;i<(int)strlen(s1);i++){
		if(s1[i]>='0'&&s1[i]<='9'){
			s2[j++]=s1[i];
		}
	}
	if(s2[0]<'0'||s2[0]>'9'){
		printf("\n\n输入的字符串-");
		puts(s1);
		printf("			-没有包含没有包含数字或存在两个字节得字符!!!得从新输入!\n");
		stringCopy();
	}
	printf("\n\nS2= ");
	puts(s2);
	printf("\n\n");
}


char* longStr(){
	//编写一个函数longStr实现从n个字符串中寻找最长串,
	//其中z是指向多个字符串得指针数组,n是字符串得个数,函数得返回值是最长串得首地址。
	char*z[3]={{"yangmufa"},{"haoshuaiya"},{"jianzhibuyaotaishuai"}};
	int n=3,i=0,max=0;
	for(i=0;i<n;i++){
		if(strlen(z[max])<=strlen(z[i])){
			max=i;
		}
	}
	return (z[max]);
}

结果:

    Triangle():dc5f3a5395612e578cb073d68bcba94621e.jpg


    judgeTheLetterCase():3c23d2b0dd1ab31505567dcded9f1f02f94.jpg


    fact():2b7b81b3c40b4023006893badeacf1b3a77.jpg


    stringCopy():19afca21802046cd210dae643f0bac78779.jpg


    puts(longStr()):8d039b92f7221979c1b975c11d25b56b110.jpg

 

/*---------------------

作者:东方神祇 
本文链接:https://my.oschina.net/yangmufa/blog/3083640

版权声明:
      本文为博主原创文章,转载请附上源文链接!

 如果觉得我的论文对您有用,您的请评论点赞与
 合理优质的转发也将是鼓励支持我继续创作的动力!
---------------------*/

转载于:https://my.oschina.net/yangmufa/blog/3083640

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值