一、输出从起始值到终止值之间,所有能被3或5整除的所有数,起始值和终止值由用户输入
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int m; //输入起始值
int n; //输入终止值
printf("请输入起始值:");
scanf("%d",&m);
printf("请输入终止值:");
scanf("%d",&n);
for(m;m<=n;m++)
{
if(m%3==0||m%5==0)
{
printf("%d\5t\n",m);
}
}
return 0;
}
结果:
ubuntu@ubuntu:day5$ gcc 11zuoye.c
ubuntu@ubuntu:day5$ ./a.out
请输入起始值:5
请输入终止值:98
5 6 9 10 12 15 18 20 21 24 25 27 30 33
二、输出斐波那契前20项的值
斐波那契数列:1 1 2 3 5 8 13……
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int i;//定义整数
int n;//输出斐波那契数列项数
int t1=1,t2=1,nextterm;//从第三项开始前两个数值相加
//等于下一项
printf("输出几项:");
scanf("%d",&n);
printf("斐波那契数列:");
for(i=1;i<=n;i++)
{
printf("%d\t",t1);
nextterm=t1+t2;
t1=t2;
t2=nextterm;
}
return 0;
}
结果:ubuntu@ubuntu:day5$ ./a.out
输出几项:20
斐波那契数列:1 1 2 3 5 8 13 2134 55 89 144 233 377 610 987 1597 2584 4181 6765
三、输入一个数,判断该数是否为素数(只能被1和其本身整除的数)
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int i,j;
printf("请输入一个正整数:");
scanf("%d",&j);
if(i<0)
{
printf("输入负整数,取绝对值\n");
i=-i;
}
if(i==0||i==1)
{
printf("0和1不在素数讨论范围之内。\n");
}
for(i=2;i<=j-1;i++)
{
if(j%i==0)
{
printf("%d不是素数\n",j);
break;
}
}
if(i==j)
{
printf("%d是素数\n",j);
}
return 0;
}
结果:
ubuntu@ubuntu:day5$ ./a.out
请输入一个正整数:78
78不是素数
ubuntu@ubuntu:day5$ ./a.out
请输入一个正整数:17
17是素数
四、输入一个数,判断该数是否为完美数(所有真因子之和等于其本身,例如:6=1+2+3)
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int i=0,sum=0;
int num=0;
printf("请输入一个数:");
scanf("%d",&num);
for(i=1;i<num;i++)
{
if(num%i==0)
{
sum+=i;
}
}
if(num==sum)
{
printf("%d是完美数\n",num);
}else
{
printf("%d不是完美数\n",num);
}
return 0;
}
结果
ubuntu@ubuntu:day5$ ./a.out
请输入一个数:6
6是完美数
ubuntu@ubuntu:day5$ ./a.out
请输入一个数:8
8不是完美数
五、输出起始值和终止值之间的所有素数
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int min;//起始值
int max;//终止值
printf("请输入起始值:");
scanf("%d",&min);
printf("请输入终止值:");
scanf("%d",&max);
for(int i=min;i<=max;i++)
{
int j=0;
for(int k=2;k<i;k++)//0和1不在素数考虑范围之内
{
if(i%k==0)
{
j++;
}
}
if(j==0)
{
printf("%d\n",i);
}
}
return 0;
}
结果
ubuntu@ubuntu:day5$ ./a.out
请输入起始值:5
请输入终止值:78
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
六、输出起始值和终止值之间的所有完美数
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int min;
int max;
printf("请输入起始值:");
scanf("%d",&min);
printf("请输入终止值:");
scanf("%d",&max);
for(int i=min;i<=max;i++)
{
int j=0;
for(int k=1;k<i;k++)
{
if(i%k==0)
{
j+=k;
}
}
if(j==i)
{
printf("%d\n",i);
}
}
return 0;
}
结果:
ubuntu@ubuntu:day5$ ./a.out
请输入起始值:2
请输入终止值:88
6
28