c语言函数习题

习题:

   定义一个函数:求某数字(3位数)是否是水仙花(每一位数的立方=本身)

   153=1^3+5^3+3^3
#include
void fun(int x)
{
	int i=0,a,b=0;
	int c = x;
	for(i=0;i<3;i++)
	{
		a = x%10;
		b = b + a*a*a;
		x = x/10;
	}
	if(b==c)
	{
		printf("是水仙花数!");
	}
	else
	{
		printf("不是水仙花数!");
	}
}
 
void main()
{
	fun(153);
}

习题:

    定义一个函数:判定某个整型数组中是否存在某个值

    int findKey(int buf[100],int ilen,int key)//buf数组源,ilen元素个数,key查找关键值

    {         }
#include
 
void findKey(int buf[100],int ilen,int key)
{
	int i =0,a,j;
	for(i=0;i<ilen;i++)
	{
		if(buf[i]==key)
		{
			printf("存在%d",key);
			j = 1;
			break;
		}
	}
	if(j!=1)
	{
		printf("不存在%d",key);
	}
}
 
void main()
{
	int buf[100] = {1,4,3,7,6,5,2,8,9};
	findKey(buf,9,1);
}

习题:

     定义一个函数:求输入的“字符串”是否是回文  "abcdcba"
#include
void fun(char buf[10])
{
	int i=0,j=0;
	while(buf[i]!='\0')
		i++;
	for(;j<=i/2;j++)
	{
		if(buf[j]==buf[i-j-1])
		{
			if(j==(i-1)/2)
			{
				printf("yes\n");
				return;
			}
		}
		else
		{
			printf("no\n");
			return;
		}
	}
}
 
void main()
{
	char buf[10] = "abcdcba";
	fun(buf);
}

习题:

    定义一个函数:求某年/月/日是否是星期几?

    功能:求星期

    返回值:[0-6]  0-周日  1周一 2周二 ...

    函数名:int weekday(int year,int month,int day); 

    算法:(基姆拉尔森)Weekday=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7
#include
 
int weekday(int y,int m,int d)
{
	if(m==1||m==2) {    //如果不写if来判断m==1 || m==2 的话,会有误差.
        m+=12;
        y--;
        }
	int w = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
	return w+1;
}
 
void main()
{
	int y=2018,m=1,d=1;
	printf("这天是星期:%d\n",weekday(y,m,d));
}

定义一个函数:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

#include
 
void main()
{
	double sn = 100;
	double hn = sn/2; 
	int i = 0;
	for (i = 2;i<=10;i++){
		sn = sn + hn * 2; 
		hn = hn / 2;
		}
	printf("第%d次落地经过%f米",i-1,sn);
}

你可能感兴趣的:(C/C++)