20230317华清远见作业

作业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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值