如何用C语言编程“输入n个整数,求其中最大数及其所在的位置,并求出此n个数中素数的个数.”

问题描述:

如何用C语言编程“输入n个整数,求其中最大数及其所在的位置,并求出此n个数中素数的个数.”
1个回答 分类:综合 2014-10-04

问题解答:

我来补答
#include <stdio.h>
int gcd(int a, int b);
int main()
{
    int n, a, b, i, maxNum, count=0, flag=0;
    scanf("%d", &n);
    while(n--)
    {
        scanf("%d", &a);
        //用读到的第一个数初始化maxNum
        if (flag == 0)
        {
            maxNum = a;
            flag = 1;
        }
        maxNum = a>maxNum ? a : maxNum;
        for (i=1; i<a; i++)
        {
            b = gcd(a, i);
            //如果有一个比它小的最大公约数不是1,那就说明它不是素数
            if (b != 1)
            {
                break;
            }
        }
        if (i == a && a !=1)
        {
            count++;
        }
    }
    printf("最大的数是:%d,素数的个数是:%d\n",maxNum,count);
    return 0;
}
//求最大公约数
int gcd(int a, int b)
{
    if (b == 0)
    {
        return a;
    }
    return gcd(b, a%b);
}
 
 
展开全文阅读
剩余:2000