c语言素数1到200的和,谁能帮我改改?

如题所述

这道题不需要使用数组的,很简单的:
#include<stdio.h>
int isZhiShu(int num){
int i,count=0;
for(i=2;i<num;i++){//判断是否是素数
if(num%i==0){
count++;
}
}
if(count==0&&num!=1){
return 1;
}else{
return 0;
}
}
void main(){
int i,sum=0;
for(i=1;i<=200;i++){
if(isZhiShu(i)==1){
sum+=i;
}
}
printf("1到200素数和是:%d。\n",sum);
}追问

大神,有没有解释,我有些看不懂呀😂😂

追答

#include
int isZhiShu(int num){
int i,count=0;
for(i=2;i<num;i++){//判断是否是素数,素数是只有1和本身才能整除的数
if(num%i==0){
count++;
}
}
if(count==0&&num!=1){//这个是剔除1,因为1既不是合数也不是素数
return 1;
}else{
return 0;
}
}
void main(){
int i,sum=0;
for(i=1;i<=200;i++){
if(isZhiShu(i)==1){//当返回值是1的时候,说明就是一个素数,做累加
sum+=i;
}
}
printf("1到200素数和是:%d。\n",sum);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-05
a数组要赋初值,char数组就赋值成“”,而且如果要让程序方便理解的话,最好把a数组定义成int的,然后遍历清零追问

这个程序错的,每次运行的答案都不一样😂😂

第2个回答  2019-12-05
我觉得用一个for进行嵌套一下,再用一个萨姆求和就可以搞定呀!
相似回答