![](https://i-blog.csdnimg.cn/blog_migrate/4bbe68e6bdc800f860ab8dbeab03cb6f.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int a , b ;
printf("输入一个起始值:" );
scanf("%d", &a);
printf("输入一个终止值:" );
scanf("%d", &b);
if (a>b)
{
a = a + b; b = a - b; a = a - b;
}
int i ;
for(i = a ; i <= b;i++)
{
if(i%3 == 0 ||i%5 == 0)
{
printf("%d\t",i);
}
}
printf("\n");
return 0;
}
运行:
ubuntu@ubuntu:day5$ ./a.out
输入一个起始值:2
输入一个终止值:30
3 5 6 9 10 12 15 18
20 21 24 25 27 30
![](https://i-blog.csdnimg.cn/blog_migrate/8468d37b1b9f88d6cd4789ca5ac530ed.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int a = 0 , b = 1 ,count = 1 , c ;
for ( count =1; count <= 20 ; count++ ) //循环20次
{
c = a + b ; //c第二项,b第一项,
a = b ;
b = c ;
printf("%d\t",b); //输出b
}
printf("\n");
return 0;
}
运行:
ubuntu@ubuntu:day5$ ./a.out
1 2 3 5 8 13 21 34 55
89 144 233 377 610 987 1597
2584 4181 6765 10946
![](https://i-blog.csdnimg.cn/blog_migrate/af4a72983a4f00a2f3bef34e5aa6ce68.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int num ;
printf("输入一个大于1的整数:\n");
scanf("%d" , &num );
int i;
for ( i = 2 ; i <= num/2 + 1 ;i++ ) //对除数进行循环,从2开始,到被除数一半结束
{
if ( num%i == 0 && num != 2) //余数为0,结束循环并且输出结果
{
printf("%d不是素数\n", num );
break;
}
else
{
if (i > num/2 || num == 2) //余数不为0进行两个判断
{
printf("%d是素数\n", num ); //除数大于被除数一半,输出结果
}
continue; //否则,继续循环。
}
}
return 0;
}
运行:
输入一个大于1的整数:
4
4不是素数
ubuntu@ubuntu:day5$ ./a.out
输入一个大于1的整数:
3
3是素数
ubuntu@ubuntu:day5$ ./a.out
输入一个大于1的整数:
37
37是素数
![](https://i-blog.csdnimg.cn/blog_migrate/d00420978ac4356ab87a77acdc7f1964.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int num = 0 ;
printf("输入一个数:\n");
scanf("%d", &num );
int count , i = 0 ;
for ( count = 1; count < num ; count++)
{
if ( num%count == 0 )
{
i = count + i;
}
}
if ( num == i)
{
printf("%d是完美数\n", num );
}else
{
printf("%d不是完美数\n", num );
}
return 0;
}
运行:
ubuntu@ubuntu:day5$ ./a.out
输入一个数:
28
28是完美数
ubuntu@ubuntu:day5$ ./a.out
输入一个数:
89
89不是完美数
![](https://i-blog.csdnimg.cn/blog_migrate/8092c75b7e529dcdd8b7bebe3f623f99.png)
代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int a = 0 , b = 0;
printf("请输入两个大于1的整数;\n");
scanf("%d%d", &a, &b );
if (a > b)
{
a = a + b ;b = a - b ;a = a - b; //判断大小并使a<b
}
int i , count ;
for ( i = a ; i <= b ; i++ ) //循环,输出从a到b的所有数字
{
for ( count = 2 ; count <= i/2 + 1 ; count++) //循环,判断是否是质数并输出。
{
if (( i%count != 0 )||( i == 2 ))
{
if(count > i/2)
{
printf("%d\t", i );
}
continue ;
}
else
{
break;
}
}
}
printf("\n");
return 0;
}
运行:
ubuntu@ubuntu:day5$ ./a.out
请输入两个大于1的整数;
4 90
5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61
67 71 73 79 83 89
![](https://i-blog.csdnimg.cn/blog_migrate/6b1fa357b8258c88d2376168de16538b.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int a , b ;
//输入数据
printf("输入两个大于0的数:\n");
scanf("%d%d", &a,&b);
//定义变量,i是从a开始到b结束的循环,count是因子从1开始到i结束
int i ,count ;
int sum = 0 ; //sum是因子的和
for (i = a ; i <= b ; i++) //a-b开始循环
{
for(count = 1; count < i ;count++)
{
if (i%count == 0) //判断是否除尽
{
sum = sum + count ; //除尽则因子相加
}
if (sum == i) //判断和是否等于原数
{
printf("%d\t", i); //等于原数则输出这个数
sum = 0 ;
break;
}
if (count == i - 1) //如果没有以上符合条件,判断因子
{ //是否快等于原数,结束循环
sum = 0 ;
break;
}
continue ;
}
}
return 0;
}
运行::
输入两个大于0的数:
2 1000
6 24 28 496