输入10个两位整数,对其做相应的处理
2014-02-17 11:53
357 查看
/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者:王颖 * 完成日期:2014 年 2 月 15 日 * 版 本 号:v1.0 * 输入描述: 无 * 问题描述:有10个两位整数,把这些数作以下变化,如果它是素数, * 则把它乘以2,若它是偶数则除以2,既不是素数又不是偶数那么减1, * 请将变化后的10个数按从小到大的次序打印出来。 * 程序输出:略 * 问题分析:略 * 算法设计:略 */ #include <iostream> #include <cmath> using namespace std; int isPrimeNumber(int n); void sort23(int *a,int n); int main() { const int N = 10; int a ; for(int i = 0; i < N; i++) { cin>>a[i]; if (isPrimeNumber(a[i])) { a[i] *= 2; } else if (a[i] % 2 == 0) { a[i] /= 2; } else { a[i] -= 1; } } sort23(a,N); for (int i = 0; i < N; i++) { cout<<a[i]<<" "; } cout<<endl; return 0; } /* 判断整数n是否为质数 是:返回1 否:返回0 */ int isPrimeNumber(int n) { int isPrime = 1; if (n == 1) { return 0; } for (int i = 2; i <= (int)(sqrt((double)n)); i++) { if (n % i == 0) { isPrime = 0; break; } } return isPrime; } /* 冒泡法实现数组排序 */ void sort23(int *a,int n) { for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - 1 - i; j++) { if (a[j] > a[j + 1]) { a[j] = a[j] ^ a[j + 1]; a[j + 1] = a[j] ^ a[j + 1]; a[j] = a[j] ^ a[j + 1]; } } } }
心得体会:慢慢来。。。
相关文章推荐
- 用js编写的一个小方格随椭圆曲线运动的特效例子,非常精典,运行看看吧。。
- 00 Java开发准备
- Flow Problem hdu 3549 网络流模板题目
- SQL server 版本
- 关联映射-双向关联
- 交叉编绎OpenCv之预览,拍照和录像
- java操作cookie示例(删除cookie)
- html5+jquerymobile+phonegap 安卓 ajax /js 跨域
- 0X8009310B (ASN:276) win7安装证书时出现错误消息:"找不到与此证书文件相关联的证书申请"微软官方文档
- dom4j(6) 指定位置参与元素及移除默认 xmlns
- jquery中的this 到底是什么意思? $(this)
- 开源BOOT方案 U-Boot
- Darwin Streaming Server 核心代码分析
- linux下安装软件包
- 体会编程序将100内的正整数写成其它两个正整数的平方和
- SQL中的外键
- Mysql实用数据库技术视频教程「从入门到实践」
- Mysql实用数据库技术视频教程「从入门到实践」
- [cocos2d-x,cocos2d-x with android]Unable to find native library cocos2dcpp
- Linux的命令及全称