作业1:输出从起始值到终止值之间,所有能被3或5整除的所有数,起始值和终止值由用户输入
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int m,n; //设置起始值和终止值
printf("请输入起始值:");
scanf("%d",&m);
printf("请输入终止值:");
scanf("%d",&n);
for(m;m<=n;m++) //起始值循环到终止值
{
if(m%3==0||m%5==0) //能否被3或5整除
{
printf("%d\t",m); //能则输出该值
}
}
return 0;
}
作业2:输出斐波那契前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 a,b,c; //分别表示数列的第一项,第二项,第三项
int count; //记录项数
a=0;b=c=1; //前两次要输出1
for(count=1;count<=20;count++)
{
printf("%d\t",c);
c=a+b;a=b;b=c;
}
printf("\n");
return 0;
}
作业3:输入一个数,判断该数是否为素数(只能被1和其本身整除的数)
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int num; //输入的数
int ys=2; //因数
printf("请输入一个数:");
scanf("%d",&num);
for(ys;ys<num;ys++)
{
if(num%ys==0) //因数被整除
{
break; //结束该次循环
}
}
if(ys<num) //因数若比输入的数小,则不是素数
{
printf("%d不是素数\n",num);
}else
{
printf("%d是素数\n",num);
}
return 0;
}
作业4:输入一个数,判断该数是否为完美数(所有真因子之和等于其本身,例如:6 = 1+2+3)
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int num; //输入一个数
int zyz=1; //真因子
int sum=0; //真因子之和
printf("请输入一个数:");
scanf("%d",&num);
for(zyz;zyz<num;zyz++)
{
if(num%zyz==0)
{
sum=sum+zyz;
}
}
if(sum==num)
{
printf("%d是完美数\n",num);
}else
{
printf("%d不是完美数\n",num);
}
return 0;
}
作业5:输出起始值到终止值之间所有的素数
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int qs,zz; //起始值,终止值
int ys; //初始因数
int m; //判断是否为素数的参数
printf("请输入一个起始值:");
scanf("%d",&qs);
printf("请输入一个终止值:");
scanf("%d",&zz);
for(qs;qs<=zz;qs++)
{
m=0;
ys=2;
for(ys;ys<qs;ys++)
{
if(qs%ys==0) //若因数被整除,该数不是素数
{ //m=1
m=1;
break; //结束该次循环
}
}
if(m==0) //输出所有素数:
{
printf("%d\t",qs);
}
}
printf("\n");
return 0;
}
作业6:输出起始值到终止值之间所有的完美数
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int a,b,i; //起始值,终止值,两者中间的值
int zyz; //真因数
int sum; //真因数之和
printf("请输入起始值:");
scanf("%d",&a);
printf("请输入终止值:");
scanf("%d",&b);
for(i=a;i<=b;i++)
{
zyz=1;
sum=0;
for(zyz;zyz<i;zyz++)
{
if(i%zyz==0)
{
sum=sum+zyz;
}
}
if(sum==i)
{
printf("%d\t",i);
}
}
printf("\n");
return 0;
}