《C和指针》——6.6

题目:

  在指定的下限、上限之间使用数组方法查找质数,并将质数提取出来。

要求:

  略

解答代码:

#include <stdio.h>

#define UPLIMIT        11000
#define DOWNLIMIT 10000
#define NUM UPLIMIT-DOWNLIMIT void show_array(int *p, int n) //显示数组p[]中的n个元素
{
int i;
for(i=; i<n; i++)
{
if ((i% == ) && (i!=))
printf("\n");
printf("%6d", *(p+i));
}
printf("\n");
} void def_array(int *p) //初始化数组元素值为序号+1
{
int i;
for(i=; (i+DOWNLIMIT)<(UPLIMIT); i++)
{
*(p+i) = i++DOWNLIMIT;
}
} void DataProcess(int *p) //将数组中的非质数替换为0
{
int i, j;
for(i=; i<=(UPLIMIT/); i++)
{
for(j=; j<NUM; j++)
{
if ((*(p+j) >= ) && (*(p+j) != i) && (*(p+j) % i == ))
{
*(p+j) = ;
}
}
}
} int DataSelect(int *p) //将数组中的所有0去掉
{
int i, j;
for(i=, j=; i<NUM; i++)
{
if(*(p+i) > )
{
*(p+j) = *(p+i);
j++;
}
}
return j;
} int main(void)
{
int arrayt[NUM];
int *p = arrayt;
int n = ; def_array(p); //初始化数组元素值为索引号+1
show_array(p, NUM); //显示数组p[]中的n个元素
DataProcess(p); //将数组中的非质数替换为0
n = DataSelect(p); //将数组中的所有0去掉,n为质数的个数
printf("There are %d numbers:\n", n);
show_array(p, n); getchar();
return ;
}

注:

  下限和上限可以设置

最新文章

  1. fontsize可以解决img标签插入图片之间的缝隙
  2. SQL Server 2008 通用分页存储过程
  3. Linux学习书目
  4. Android音频播放实例
  5. ASPxCallback控件
  6. SurfaceView的使用
  7. MVC4 中Remote的使用
  8. python 多线程 paramiko实现批量命令输入输出
  9. Android + OpenCV - Finding extreme points in contours
  10. HashMap的底层原理
  11. SQL随记(三)
  12. Mysql启动找不到mysql.sock文件问题(Centos7)
  13. 【自动化测试:笔记一】adb命令
  14. 2.11 alert\confirm\prompt
  15. wifi 标准
  16. python2 和 python3 区别
  17. goledengate重新投递和目标端跳过过事务
  18. ABAP术语-qRFC-Monitor
  19. 【LaTeX】E喵的LaTeX新手入门教程(6)中文
  20. JAX-RS之queryparam、PathParam、DefaultValue、FormParam、Context、RestController等

热门文章

  1. Android——C语言、JNI与低层调用
  2. PostgreSQL9.5 新特性
  3. 基于SAML的单点登录介绍
  4. Spring 4.x org.springframework.http.converter.json.MappingJacksonHttpMessageConverter ClassNotFoundException:
  5. text code
  6. 【转】copy 和 mutablecopy (深拷贝和浅拷贝)
  7. nodejs 中koa框架下的微信公众号开发初始篇
  8. SQL语句中格式化时间
  9. JOSN对象与JSON字符串的相互转化
  10. 多维数组遍历PHP