1.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。

#include<stdio.h>

int maxyue(int a,int b)
{
    int c;
    while(b!=0)
    {
    c=a%b;
    a=b;
    b=c;
    }
    return a;
}
int maxbei(int a,int b)
{
    int s;
    s=a/maxyue(a,b)*b;
}
int main()
{
    int a,b,s,n;
    scanf("%d%d",&a,&b);
    s=maxyue(a,b);
    n=maxbei(a,b);
    printf("%d ",s);
    printf("%d",n);
    return 0;
}

C语言题目

2.求方程ax2 + bx + c = 0的根,用3个函数分别求当b2-4ac大于零、等于零、和小于零时的方程的根并输出结果。要求从主函数输入a,b,c的值.

#include<stdio.h>
#include<math.h>

//x1为第一个根,x2为第二个根
float x1, x2, disc, p, q;

void greater_than_zero(float a, float b)
{
    float m = sqrt(disc);
    x1 = (-b + sqrt(disc)) / (2 * a);
    x2 = (-b - sqrt(disc)) / (2 * a);
}

void equal_to_zero(float a, float b)
{
    x1 = x2 = (-b) / (2 * a);
}

void smaller_than_zero(float a, float b)
{
    p = -b / (2 * a);
    q = sqrt(-disc) / (2 * a);
}

int main()
{
    int a, b, c;
    printf("请输入 a b c:");
    scanf("%d %d %d", &a, &b, &c);

    printf("表达式为: %d*x^2+%d*x+%d = 0\n", a, b, c);
    disc = b*b - 4 * a*c;

    if (disc > 0)
    {
        greater_than_zero(a, b);
        printf("disc>0的根为: x1=%f    x2=%f\n", x1, x2);
    }
    else if (disc == 0)
    {
        equal_to_zero(a, b);
        printf("disc==0的根为:x1=%f    x2=%f\n", x1, x2);
    }
    else
    {
        smaller_than_zero(a, b);
        printf("disc<0的根为:x1=%f+%f x2=%f-%f\n", p, q, p, q);
    }
    return 0;
}

C语言题目

3.写一个判素数的函数,在主函数输入一个整数,输出是否为素数的信息.

#include <stdio.h>
int main()
{
    void prime_number(int n);
    int a;
    printf("请输入一个数: ");
    scanf("%d",&a);
    prime_number(a);
    return 0;
}


void prime_number(int n)
{
    int i;
    for(i=2;i<=n-1;i++)
        if(n%i==0)
            break;
    if(i==n)
        printf("%d 是一个素数.\n",n);
    else
        printf("%d 不是一个素数.\n",n);
}

C语言题目

4.输出以下图案,菱形*

#include <stdio.h>
int main()
 {int i,j,k;
  for (i=0;i<=3;i++)
   {for (j=0;j<=2-i;j++)
      printf(" ");
    for (k=0;k<=2*i;k++)
      printf("*");
    printf("\n");
   }
  for (i=0;i<=2;i++)
   {for (j=0;j<=i;j++)
       printf(" ");
    for (k=0;k<=4-2*i;k++)
       printf("*");
    printf("\n");
   }
   return 0;
  }

C语言题目

5.一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1,2,3,而6=1+2+3,因此6是完数。编程序找出1000之内的所有完数,并按下面格式输出其因子:

#include<stdio.h>

int main()
{
    int data, fator, sum;      /* data表示要判断的数,fator表示因子,sum表示因子之和*/

    for (data = 2; data <= 1000; data++)
    {
        //1是所有整数的因子,所以因子之和从1开始
        sum = 1;
        for (fator = 2; fator <= data / 2; fator++)
        {
            /* 判断data能否被fator整除,能的话fator即为因子  因子不包括自身 */
            if (data % fator == 0)
            {
                sum += fator;
            }
        }
        // 判断此数是否等于因子之和 */
        if (sum == data)    
        {
            printf("%d its factors are 1, ", data);
            for (fator = 2; fator <= data / 2; fator++)
            {
                if (data % fator == 0)
                {
                    printf("%d, ", fator);
                }
            }
            printf("\n");
        }
    }
    return 0;
}

C语言题目

如果觉得我的文章对你有用,请随意赞赏