华清远见 c基础 周末作业

作业1:输出从起始值到终止值之间,所有能被3或5整除的所有数,起始值和终止值由用户输入

运行结果

代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(int argc, const char *argv[])
{
    int m = 0;    //定义初始值
    int n = 0;    //定义终止值
    int num = 0;
    printf("起始值:");
    scanf("%d",&m);
    printf("终止值:");
    scanf("%d",&n);
    num = m;      //把初始值赋给遍历起点 
    for(num=m;num<=n;num++){
        if(num%3==0||num%5==0){     //判断条件
            printf("%d\t",num);
        }
    }
    printf("\n");
    return 0;
} 

作业2:输出斐波那契前20项的值

运行结果

代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(int argc, const char *argv[])
{
    int s[20]={1,1};  //不完全初始化数组
    int i = 0;
    for(i=2;i<20;i++){  //给数组循环赋值
        s[i]=s[i-1]+s[i-2];
    }
    for(i=0;i<20;i++){   //遍历打印数组
        printf("%d ",s[i]);
    }
    printf("\n");
    return 0;
}

作业3:输入一个数,判断该数是否为素数(只能被1和其本身整除的数)

运行结果

代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(int argc, const char *argv[])
{
    int m = 0;
    printf("输入:");
    scanf("%d",&m);
    int i = 2;
    for(i=2;i<m;i++){   //2是素数排除在外
        if(m%i==0){    //遍历小于他的所有数
            printf("%d不是个素数\n",m);
            break;    //如果有数能整除他直接跳出循环
        }
    }
    if(m==i){    //还有一种可能是遍历完才跳出循环,此时m=i,此时为素数
        printf("%d是个素数\n",m);
    }
    return 0;
}

作业4:输入—个数,判断该数是否为完美数

运行结果

代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(int argc, const char *argv[])
{
    int m = 0;    //初始化
    printf("输入:");
    scanf("%d",&m);
    int i = 1;    //除数不能为0
    int sum = 0;
    for(i=1;i<m;i++){   //遍历
        if(m%i==0){      //如果是因子
            sum=sum+i; //相加
        }
    }
    if(sum==m){    //判断sum是否与输入相等
        printf("%d是完美数\n",m);
    }else{
        printf("%d不是完美数\n",m);
    } 

    return 0;
}

作业5:输出起始值到终止值之间所有的素数

运行结果

代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(int argc, const char *argv[])
{
    int m = 0;
    int n = 0;
    printf("初始值:");
    scanf("%d",&m);
    printf("终止值:");    //输入初始值与终止值
    scanf("%d",&n);
    int i = 2;        //将2这个素数排除
    int num = m;  
    for(num=m;num<n;num++){   //遍历初始值与终止值
        for(i=2;i<num;i++){   //遍历小于数的因子
            if(num%i==0){      //判断是否能被整除
                break;         //一旦能被整除说明不是素数跳出本层for循环
            }
        }
        if(num==i){       //判断是因为相等才跳出循环,为素数
            printf("%d  ",num);
        }
    }
    printf("\n");
    return 0;
}

作业6:输出起始值到终止值之间所有的完美数

运行结果

代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(int argc, const char *argv[])
{
    int m = 0;
    int n = 0;
    printf("初始值:");
    scanf("%d",&m);
    printf("终止值:");
    scanf("%d",&n);    //初始化初始值和终止值
    int i = 1;
    int num = m;
    for(num=m;num<=n;num++){  //遍历初始值和终止值的所有数
        int sum = 0;      //每次遍历前给sum清零
        for(i=1;i<num;i++){   //遍历所有num的因子
            if(num%i==0){
                sum=sum+i;  //求出因子的和
            }
        }
        if(sum==num){     //判断因子和和数是否相等,是否为完美数
            printf("%d  ",num);
        }
    }
    printf("\n");
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值