题目:获取小于输入数字的所有合数和质数
考查的知识点:
第一、将输入的字符串转换成数字,使用atoi函数,头文件stdlib.h;
第二、计算质数和合数的方法:
if(i % j == 0){
break;
}
break之后,如果j < i,那么就是合数,因为没有增加到i,就整除了
如果 j = i或者 i = 2 ,那么就是质数,因为一直也没有整除。
/*
* 获取n(n>1)以内的所有质数或者合数
*/
#include <stdio.h>
#include <stdlib.h>
//获取质数
static int get_prime(int n, int *data)
{
int i,j;
int k = 0;
for(i = 2; i < n+1; i++){
for(j = 2; j < i; j++){
if(i % j == 0){
break;
}
}
if((i == j) || (i == 2)){ //一直没有整除,j=i所以为质数
data[k] = i;
k++;
}
}
return k;
}
//获取合数
static int get_composite(int n, int *data)
{
int i,j;
int k