c++ 修改程序,使其能够统计出100-200之间的素数的个数,并计算出这些素数的总计值和平均值。

以下为判断并显示100-200之间的素数的程序:试考虑修改程序,使其能够统计出这些素数的个数,并计算出这些素数的总计值和平均值。

#include <iostream>

using namespace std;

int main()

{

    int x,m;

    bool flag;

    for(x=100;x<=200;x++)

    {

        flag=true;

        for(m=2;m<=x-1;m++)

        {

            if(x%m==0)

            {

                flag=false;

                break;

            }

        }

        if(flag==true) cout<<x<<endl;

    }

    return 0;

}

#include <iostream>
using namespace std;
int main()
{
    int x,m;
    bool flag;
    int sum=0;
	int count=0; 
    for(x=100;x<=200;x++)
    {
        flag=true;
        for(m=2;m<=x-1;m++)
        {
            if(x%m==0)
            {
                flag=false;
                break;
            }
        }
        if(flag==true){
        	count++;
        	sum+=x;
        	cout<<x<<endl;
		} 
    }
    cout<<"素数的个数:"<<count<<",总计值:"<<sum<<",平均值:"<<sum*1.0/count<<endl; 
    return 0;
}

要总数的话用sum 初始化0 来加就可以

平均数 用个计数器 count来 最后除一下就可以

先锁定这道题,稍后给代码......haha

 

bool isPrime(int n)
{
	for (int i = 2; i < n; i++)
		if (n%i == 0)
			return false;
	return true;
}
int main() {
	int sum=0,count=0;
	float avg = 0.0;
	for (int i = 100; i <= 200; i++)
	{
		if (isPrime(i))
		{
			count++;
			sum += i;
			printf("%d ", i);
		}
	}
	avg = sum*1.0 / count;
	printf("\ncount=%d,sum=%d,avg=%.1f", count, sum, avg);
	int k;
	scanf_s("%d", &k);
	return 0;
}

 

#include <iostream>
#include<stdio.h>
using namespace std;
int isprime(int x){
    int i;
    for(i=2;i<x;i++)
        if(x%i==0)
            return 0;
    return 1;
}
int main()

{
    int x,m,sum=0,cnt=0;
    double ave;
    for(x=100;x<=200;x++)
    {
       if(isprime(x)==1){
        sum+=x;
        cnt++;
        //cout<<x<<endl;
       }

    }
    ave=sum/cnt;
    printf("总值%d,平均值%f",sum,ave);
    return 0;

}

 

代码如下:

#include <iostream>
using namespace std;
int main()
{
	int x,m;
	bool flag;
	int sum = 0;
	int cnt = 0;
	for(x=100;x<=200;x++)
	{
		flag=true;
		for(m=2;m<=x-1;m++)
		{
			if(x%m==0)
			{
				flag=false;
				break;
			}
		}
		if(flag==true) 
		{
			sum += x;
			cnt++;
			cout<<x<<endl;
		}
	}

	cout << "sum=" <<sum <<",avg=" << sum/cnt << endl;

	return 0;
}

 

int main()

{
	int x, m;

	bool flag;
	int count = 0, sum = 0;

	for (x = 100; x <= 200; x++)

	{
		flag = true;

		for (m = 2; m <= x - 1; m++)

		{
			if (x%m == 0)

			{
				flag = false;

				break;

			}

		}

		if (flag == true) { 
			sum += x;
			count++;
			cout << x << endl; }


	}
	cout << "个数:" << count << endl;
	cout << "总和"<<sum<<endl;
    cout<<"平均"<<sum/1.0/count<<endl;
	return 0;

}

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632