1.求1000以内素数
素数:除1和它本身以外不能被任何数整除
#iniclude"stdio.h"
int fun(int m)
{
int i,h=1; #定义一个标志变量h
for (i = 2; i < m;i++)
if (m%i == 0)
{ h = 0; break; } #若标志变量h为零,则不是素数,终止循环
return h;
}
int main()
{
int n;
for (n = 2; n <= 1000;n++)
if (fun(n)==1)
printf("%5d", n);
}
2.1000以内完数
完数:除自身以外的约数之和等于它本身
#include "stdio.h"
int fun(int m)
{
int i, sum=0;
for(i=1;i<m;i++)
if(m%i==0)
sum=sum+i; #求约数之和
if(sum==m) #判断是否为完数
return 1;
else
return 0;
}
int main()
{
int n;
for(n=2;n<=1000;n++)
if(fun(n)==1)
printf("%5d",n);
return 0;
}
3.求两个数的最大公约数和最小公倍数
最小公倍数=两数之积除以最大公约数
#include "stdio.h"
int min(int a,int b)
{
if(a>=b) return b; #求两个数的最小值
else
return a;
}
int fun(int x,int y)
{
int i,n;
for(i=1;i<=min(x,y);i++)
if(x%i==0&&y%i==0) #判断公约数
n=i;
return n;
}
int main()
{
int m,n,t;
scanf("%d%d",&m,&n);
t=fun(m,n);
printf("%5d\n",t);
printf("%5d\n",m*n/t);
}
4.输入一段英文,统计单词个数
通过统计单词间空格的数量来统计单词数量
#include "stdio.h"
int fun(char a[])
{
int sum=0,i;
for(i=0;a[i]!='\0';i++)
if(a[i]==' ')
sum++;
return sum+1;
}
main()
{
char *b=new char[];
gets(b);
printf("%d\n",fun(b));
}
5.输入两串字符,将其连接
#include<stdio.h>
int main()
{
char s1[100],s2[80];
int i=0,h=0;
scanf("%s%s",&s1,&s2);
while(s1[i]!='\0')
i++;
while(s2[h]!='\0')
s1[i++]=s2[h++];
s1[i]='\0';
printf("%s",s1);
return 0;
}