1)写一个判断素数的函数,在主函数输入一个整数,并输出是否素数的信息
///
//功能描述 :判断素数
//返回值 :void
//编写日期 :2018年11月14日
#include "stdio.h"
int pand(int a)
{
int i,b;
for (i=2;i<=a-1;i++)
if(a%i==0)
break;
if(i==a)
b=1;
else
b=0;
return b;
}
void main()
{
int a,c;
printf("请输入一个数\n");
scanf("%d",&a);
c=pand(a);
if(c==1)
{
printf("是素数\n");
}
else
{
printf("不是素数\n");
}
}
2)写两个函数,分别求两个正数的最大公约数和最小公倍数,用主函数调用这两个函数并输出结果。两个正数由键盘输入。
///
//功能描述 :求最大公约数和最小公倍数
//返回值 :void
//编写日期 :2018年11月14日
#include "stdio.h"
int Gy(int a,int b)
{
int c;
while (a!=0)
{
c=b%a;
b=a;
a=c;
}
return b;
}
int Lcm(int a,int b)
{
int c;
c=b/a;
return c;
}
void main()
{
int a,b,c,s,d,t;
printf("请输入两个数\n");
scanf("%d%d",&a,&b);
if(a>b)
{
t=a,a=b,b=t;
}
s=a*b;
c=Gy(a,b);
d=Lcm(c,s);
printf("最大公约数为%d最小公倍数为%d\n",c,d);
}
3)用递归法实现求阶乘,在主函数输入一个整数,并输出该整数的阶乘。
///
//功能描述 :递归求阶乘
//返回值 :void
//编写日期 :2018年11月14日
#include "stdio.h"
long double jiechen(long double a)
{
if(a==1||a==0)
{
return a;
}
return a=a*jiechen(a-1);
}
void main()
{
long double a,b;
printf("请输入需要求阶乘的数\n");
scanf("%lf",&a);
b=jiechen(a);
printf("%.0lf的阶乘为%.0lf\n",a,b);
}
4)写一函数,用“冒泡法”对输入的10个字符按由小到大顺序排序。然后在主函数中调用
///
//功能描述 :冒泡排序
//返回值 :void
//编写日期 :2018年11月14日
#include "stdio.h"
void paixu(char a[])
{
int i,j;
char t;
for (i=0;i<=8;i++)
{
for (j=0;j<=9-i-1;j++)
{
if (a[j]>a[j+1])
{
t=a[j],a[j]=a[j+1],a[j+1]=t;
}
}
}
}
void main()
{
char a[10],i;
printf("请输入需要排序的十个数\n");
for (i=0;i<=9;i++)
{
scanf("%c",a+i);
}
paixu(a);
printf("排好顺序后为\n");
for (i=0;i<=9;i++)
{
printf("%-3c",a[i]);
}
}