作业1:输出从起始值到终止值之间,所有能被3或5整除的所有数,起始值和终止值由用户输入
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, const char *argv[])
{
int start=0; //初始值
int end=0; //终止值
printf("请分别输入起始值和终止值:");
scanf("%d%d", &start, &end);
for(start; start<=end ;start++){
if(start%3 ==0 || start%5 ==0){
printf("%d ", start);
}
}
putchar(10);
return 0;
}
作业2:输出斐波那契前20项的值
斐波那契数列:1 1 2 3 5 8 13。 。。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, const char *argv[])
{
int s[32] ={0};
s[0]=1;
s[1]=1; //斐波那契数列前两项为1
printf("%d %d ", s[0], s[1]);
for(int i=2; i<20; i++){
s[i]= s[i-1]+s[i-2]; //斐波那契数列第三项等于前两项之和
printf("%d ", s[i]);
}
putchar(10);
return 0;
}
作业3:输入一个数,判断该数是否为素数(只能被1和其本身整除的数)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, const char *argv[])
{
int num = 0;
printf("请输入一个整数:");
scanf("%d", &num);
int flag =0; //质数的标志为,flag=0说明是质数
if(2 == num){ //数字2比较特殊单独判断,排除其对后续的影响
printf("2是质数\n");
}
for( int i=2; i<num; i++){ //对数进行遍历求余数
if(num%i == 0){ //非素数会进行flag+1
flag++;
}
}
if(0 == flag && num>1){
printf("%d是素数\n", num);
}else{
printf("%d不是素数\n", num);
}
return 0;
}
作业4:输入一个数,判断该数是否为完美数(所有真因子之和等于其本身,例如:6=1+2+3)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, const char *argv[])
{
int num =0;
printf("请输入一个整数:");
scanf("%d", &num);
int sum =0; //用于存放num除自身外的因数和
for( int i=1; i<num; i++){
if(num%i == 0){ //对num遍历求除自身外的因数
sum+=i;
}
}
if(num == sum){
printf("%d是完美数\n", num);
}
return 0;
}
作业5:输出起始值到终止值之间所有的素数
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, const char *argv[])
{
int start = 0; // 定义输入的起始值
int end = 0; //定义终止值
printf("请分别输入起始值和终止值:");
scanf("%d%d", &start, &end);
for( start; start<=end; start++){
int flag =0; //用于标记质数,flag=0为质数,明确flag的作用范围是距离其最近的{}内
for(int i=2; i<start; i++){
if(start%i==0){
flag++;
}
}
if(flag==0 && start>1){ //1不是素数
printf("%d 是素数\n",start);
}
}
return 0;
}
作业6:输出起始值到终止值之间所有的完美数
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, const char *argv[])
{
int start=0;
int end =0;
printf("请分别输入起始值和终止值:");
scanf("%d %d", &start, &end);
for( start; start<=end; start++){
int flag =0;//用于标记素数,flag=0是素数
int sum =0;//用于存放除数自身外所有的因数和
for(int i=1; i<start; i++){
if(start%i ==0){
sum+=i;
}
}
if(start == sum){
printf("%d是完美数\n", start);
}
}
return 0;
}