2020-11-26课堂练习
程序员文章站
2022-03-07 23:49:13
1、编写函数来判断闰年问题。#includevoid sss(int x){if(x%4==0)printf("run\n");elseprintf("ping\n"); return 0;}int main(){int a;scanf("%d",&a); sss(a);return 0;}2、写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。#include...
1、 编写函数来判断闰年问题。
#include<stdio.h>
void sss(int x)
{
if(x%4==0&&x%100!=0||x%400==0)
printf("闰年\n");
else
printf("平年\n");
return 0;
}
int main()
{
int a;
printf("请输入一个年份:");
scanf("%d",&a);
sss(a);
return 0;
}
输出结果如下图
2、 写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。
#include<stdio.h>
void sss(int a)
{
int b,n=0;
for(b=2;b<a;b++)
{
if(a%b==0)
{
printf("该数不为素数\n");
n=1;
break;
}
}
if(n==0)
printf("该数为素数\n");
return 0;
}
int main()
{
int x;
printf("请输入需要判断的数:");
scanf("%d",&x);
sss(x);
return 0;
}
结果如图所示
3.设计一个函数,求解10000以内的完全数。说明若一个自然数,恰好与除去它本身以外的一切因数的和相等,这种数叫做完全数。例如,6=1+2+3
#include<stdio.h>
void sss(int a)
{
int i,x=0;
for(i=1;i<a;i++)
if(a%i==0)
x=x+i;
if(x==a)
printf("%d是完全数\n",a);
else
printf("%d不是完全数\n",a);
return 0;
}
int main()
{
int n;
printf("请输入一个数字:");
scanf("%d",&n);
sss(n);
return 0;
}
4.设计一个函数MaxCommonFactor(),利用欧几里德算法(也称辗转相除法)计算两个正整数的最大公约数。
#include<stdio.h>
int max(m,n)
{
int p;
if(m>n)
p=m;
else
p=n;
return p;
}
int MaxCommonFactor(int a,int b)
{
int m,i,x=0;
m=max(a,b);
for(i=m;i>=1;i--)
{
if(a%i==0&&b%i==0)
{
printf("最大公约数是%d\n",i);
x=1;
break;
}
}
if(x==0)
printf("无公约数\n");
return 0;
}
int main()
{
int a,b;
printf("请输入两个数字:");
scanf("%d%d",&a,&b);
MaxCommonFactor(a,b);
return 0;
}
结果如下图
5.利用递归函数求解Fibonacci数列问题。Fibonacci数列表示的是除第1、2位数字外,从第三位开始每一位都是前两位之和,例如:1,1,2,3,5,8,13…
#include <stdio.h>
long fibonacci(int n)
{
if (n==1||n==2) return 1;
else return fibonacci(n-1)+fibonacci(n-2);
}
main()
{ int i,n;
scanf("%d",&n);
printf("Fibonacci数列的前%d项\n", n);
for(i=1;i<=n;i++)
{
printf("%-10ld",fibonacci(i));
}
}
结果如下图
本文地址:https://blog.csdn.net/weixin_51420530/article/details/110179344