2021-12-09作业

实验5 函数程序设计
二、基础编程题
(4)最大公约数和最小公倍数

////须牢牢掌握该求最大公约数的方法!!!!!!!!!
#include
int gcd(int m,int n)
{
    int yu,t;
    y=m%n;
    while(yu)
    {
        m=n;n=yu;yu=m%n;
    }
    return n;
}
int lcm(int m,int n)
{
    return (m*n)/gcd(m,n);
}
int main(void)
{
    int m,n;
    scanf("%d%d",&m,&n);
    printf("gcd=%d\n",gcd(m,n));
    printf("lcm=%d\n",lcm(m,n));
    return 0;
}

(5)求[m,n]∈N区间的素数和

#include
#include
#include 
static char each[20000];static char t,str_j;
int prime(int j)
{
    int i;
    if(j<=1)
        return 0;
    else if(j==2)
        return 1;
    else
    {
        for(i=2;i<=ceil(sqrt(j));i++)
            if(j%i==0){return 0;break;}
        return 1;
    }
} 
int prime_sum(int m,int n)
{
    int j,k=0,sum=0; 
    for(j=m;j<=n;j++)
        if(prime(j)){
            sum+=j;
            //str_j=(char)j;//k++;
            //puts(str_j);
            //putchar('\n');
            //char *strcat(char *each,char *str_j);
            //strcat(each,'j');
            //each[k]=each+str_j;
        }
    return sum;
}

/////////试着找一下可不可以通过数字转字符串连接得到
/*int main(void)
{
    int m,n;
    char each;
    printf("Enter m,n:");
    scanf("%d%d",&m,&n);prime_sum(m,n);
    printf("Sum of(%s)=%d\n",each,prime_sum(m,n));
    
    return 0;
}*/

int main()
{
int m,n,p; scanf("%d %d",&m,&n);
     printf("Sum of(");
     for(p=m;p<=n;p++){
        if(prime(p)!=0)
        printf("%d ",p);
    }
    printf(")=%d\n", prime_sum(m,n));
    return 0;
}

四.拓展编程题
(1)空心金字塔

//正
#include
void hollow_pyramid(int n)
{
    int i,j;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n-1+i;j++)
        {
            if(i==n)
                printf("%d",i);
            else if(i
void hollow_pyramid(int n)
{
    int i,j;
    for(i=5;i>=1;i--)
    {
        for(j=1;j<=n-1+i;j++)
        {
            if(i==n)
                printf("%d",i);
            else if(i

你可能感兴趣的:(2021-12-09作业)