练习4-11 统计素数并求和 (20分)
本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
10 31
输出样例:
7 143
#include <stdio.h>
int isPrime(int n);
int main(){
int n,m,i,sum=0,cnt=0;
scanf("%d %d", &m, &n);
for(i=m;i<=n;i++){
if(isPrime(i)){
sum+=i;
cnt++;
}
}
printf("%d %d\n", cnt, sum);
return 0;
}
int isPrime(int n){
int i;
for(i=2;i<n;i++)
if(n%i==0)
break;
if(i>=n)
return 1;
else
return 0;
}
习题4-1 求奇数和 (15分)
本题要求计算给定的一系列正整数中奇数的和。
输入格式:
输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。
输出格式:
在一行中输出正整数序列中奇数的和。
输入样例:
8 7 4 3 70 5 6 101 -1
输出样例:
116
#include <stdio.h>
#define N 100
int main(){
int Data[N],i,sum=0;
i=0;
do{
scanf("%d", &Data[i]);
if(Data[i]%2==1)
sum+=Data[i];
}while(Data[i++]>0);
printf("sum = %d\n", sum);
return 0;
}