C语言函数练习1

4 篇文章 1 订阅
3 篇文章 0 订阅

C语言数组练习

题目

1、在主函数中输入一 个整数,在子函数中判定该数据的奇偶性后,将判定结果在主函数中输出。

2、编写一个函数,计算任一输入的整数的各位数字之和。其中,主函数包括输入、输出和调用该函数。

3、在主函数中输入两个实数,在该程序中用四个子函数实现求这两个数据的和、差、积、商,并在主函数中将计算结果输出。

4、用函数实现该功能:判断某年是否为闰年,输入输出信息均在主函数中实现。

5、编写一个函数,判断某一个四位数是不是玫瑰花数(所谓玫瑰花数即该四位数各位数字的四次方和恰好等于该数本身,如:1634 在主函数中从键盘任意输入一个四位数,调用该函数,判断该数是否为玫瑰花数,若是则输出“yes”,否则输出“no”。

6、利用函数调用求两整数的最大公约数和最小公倍数。

7、编写一个程序,通过函数调用的方式计算y=|x|。

代码

1、在主函数中输入一 个整数,在子函数中判定该数据的奇偶性后,将判定结果在主函数中输出。

#include <stdio.h>
#include <stdlib.h>

/*  在主函数中输入一 个整数,在子函数中判定该数据的奇偶性后,将判定结果在主函数中输出。 */

int jo(int x) //定义函数 
{   int n; 
    if(x%2==0)
    n=1;
	else
	n=0;
	return n;
 } 
int main() {
	int x,y;
	printf("输入一个整数判断奇偶: ");
	scanf("%d",&x);
	y=jo(x); 
	if(y==1)
    printf("%d是偶数",x);
	else
	printf("%d是奇数",x); 
	return 0;
}

2、编写一个函数,计算任一输入的整数的各位数字之和。其中,主函数包括输入、输出和调用该函数。

#include <stdio.h>
#include <stdlib.h>

/* 编写一个函数,计算任一输入的整数的各位数字之和。其中,主函数包括输入、输出和调用该函数。 */

int fx(int num)// 函数 
{
	int t=0,mask=1,x=0;
	t=num;
	while(t>9)
	{
		t/=10;
		mask*=10;
	}
	while(mask>0)
	{
		x=x+num/mask;
	 	printf("%d ",num/mask); 
		num%=mask;
		mask/=10;
	} 
	return x;//返回值x 
}
int main()//主函数 
{
	int num=0,t=0,mask=1,x=0,sum;
	printf("输入的整数求各位数字之和");
	scanf("%d",&num);
	printf("整数的各位数字:");
	sum=fx(num);//把返回值下赋值sum 
	printf("\n和为:%d ",sum); 
    return 0;
}


	

3、在主函数中输入两个实数,在该程序中用四个子函数实现求这两个数据的和、差、积、商,并在主函数中将计算结果输出。

#include <stdio.h>
#include <stdlib.h>

/* 在主函数中输入两个实数,在该程序中用四个子函数实现求这两个数据的和、差、积、商,并在主函数中将计算结果输出。 */

float h1(float x,float y)//和
{
	float h;
	h=x+y;
	return h;
}
float c1(float x,float y)//差 
{
	float c;
	c=x-y;
	return c;
}
float j1(float x,float y)//积 
{
	float j;
	j=x*y;
	return j;
}
float s1(float x,float y)// 商 
{
	float s;
	s=x/y;
	return s;
}
int main() {
	float x,y;
	float h,c,j,s;
	printf("输入x=");
	scanf("%f",&x);
	printf("输入y=");
	scanf("%f",&y);
    h=h1(x,y);
	c=c1(x,y);
	j=j1(x,y);
	s=s1(x,y); 
	printf("和:%f 差:%f 积:%f 商:%f",h,c,j,s) ;
	return 0;
}

4、用函数实现该功能:判断某年是否为闰年,输入输出信息均在主函数中实现。

#include <stdio.h>
#include <stdlib.h>

/* 用函数实现该功能:判断某年是否为闰年,输入输出信息均在主函数中实现。 */

int year(int x)
{   int y;
	if(((x%4==0)&(x%100!=0))||(x%400==0))
	y=1;
	else
	y=0;
	return y;
}
int main() {
	int x,y; 
	printf("输入一个年份判断是否位闰年");
	scanf("%d",&x);
	y=year(x);
	if(y==1)
	printf("%d是闰年",x);
	else
	printf("%d不是闰年",x);
	return 0;
}

5、编写一个函数,判断某一个四位数是不是玫瑰花数(所谓玫瑰花数即该四位数各位数字的四次方和恰好等于该数本身,如:1634。在主函数中从键盘任意输入一个四位数,调用该函数,判断该数是否为玫瑰花数,若是则输出“yes”,否则出“no”。

#include <stdio.h>
#include <stdlib.h>

/* 5、编写一个函数,判断某一个四位数是不是玫瑰花数
(所谓玫瑰花数即该四位数各位数字的四次方和恰好等于该数本身,如:1634= )。
在主函数中从键盘任意输入一个四位数,调用该函数,
判断该数是否为玫瑰花数,若是则输出"yes",否则输出"no"。 */

int mgh(int x,int y)
{
	int a,b,c,d;
	a=x/1000;
	b=x%1000/100;
	c=x/10%10;
	d=x%10;
	if(x==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
	y=1;
	else 
	y=0;
    return y;
}
int main() {
	int x,y;
	printf("输入一个四位数判断该数是否为玫瑰花数"); 
	scanf("%d",&x);
	y=mgh(x,y);
	if(y==1)
	printf("yes");
	else if(y==0)
	printf("no");
	return 0;
}

6、利用函数调用求两整数的最大公约数和最小公倍数。

#include <stdio.h>
#include <stdlib.h>

/* 利用函数调用求两整数的最大公约数和最小公倍数。 */

int gys(int x,int y)//最大公约数
{
	int a;
	a=x%y;
	while(a!=0)
	{
		x=y;
		y=a;
		a=x%y;
	}
	return y;
}
int gbs(int x,int y)// 最小公倍数
{
	int a,b;
	a=gys(x,y);
	b=x*y/a;
	return b;
}
int main() {
	int x,y,a,b;
	printf("输入两整数的最大公约数和最小公倍数。") ;
	scanf("%d%d",&x,&y); 
	a=gys(x,y);
	b=gbs(x,y);
	printf("最大公约数:%d\n",a);
	printf("最小公倍数:%d\n",b);
	return 0;
}

7、编写一个程序,通过函数调用的方式计算y=|x|。

#include <stdio.h>
#include <stdlib.h>

/* 编写一个程序,通过函数调用的方式计算y=|x| */

int main() {
	int x,y;
    printf("输入一个数求绝对值");
	scanf("%d",&x);
	int yjdz=jdz(x,y);
	printf("y=%d",yjdz);	
	return 0;  }
	
int jdz(int x,int y)
{
    if(x<=0)
    { x=-x;
      y=x;
	}
	else
	  y=x;
	return y;
}

结果

1在这里插入图片描述

2在这里插入图片描述

3在这里插入图片描述

4在这里插入图片描述

5在这里插入图片描述

6在这里插入图片描述

7在这里插入图片描述

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

colorsZeroz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值