[ACM实验]程序设计基础(1)
来源:互联网 发布:韩国聊天软件 编辑:程序博客网 时间:2024/06/05 01:56
实验项目:ACM程序设计基础(1)
实验目的:掌握C++程序设计基础
实验内容:
Question 1:输入年、月、日,计算该日是该年的第n天,输出n。
#include <iostream>using namespace std;bool leapYear(int year){if((year%4==0&&year%400!=0)||year%400==0)return true; return false;}int main(){int year,month,day;int mDays[]={31,28,31,30,31,30,31,31,30,31,30,31};while(cin>>year>>month>>day){if(leapYear(year)==true){mDays[1] = 29;}int sum = 0;for(int i=0;i<month-1;i++){sum += mDays[i]; }cout<<"该日是该年的第"<<sum+day<<"天";}system("pause");return 0;}
以下是VC2010运行结果图片:
Question 2: 对于大于等于6的偶数,可以表示为2个素数之和,请判断一个数是否是对称数,如果该数为对称数而且是偶数,输出其和等于该数的2个素数。
#include "stdafx.h"#include <iostream>#include <vector>#include <cmath>using namespace std;bool fanXiang(int num){int a,c=num,b=0,n=0;if(num%2==0){while(num>0){a = num%10;num = num/10;b = b * 10 + a;n++;}if(c==b)return true;}cout<<"请重新输入一个大于等于6的对称偶数!";return false;}bool suShu(int n){int sqr = sqrt(n*1.0);for(int i=2;i<=sqr;i++){if(n%i==0)return false;}return true;}void twoSuShu(int num){for(int i=2;i<=num/2;i++){if(suShu(i)){if(suShu(num-i))cout<<i<<" "<<num-i<<endl;}}}int main(){int num;cout<<"请重新输入一个大于等于6的对称偶数!"<<endl;while(cin>>num){if(fanXiang(num)){twoSuShu(num);}cout<<endl;}system("pause");return 0;}
Pay attention:在判断输入数字是否是对称偶数时,要先判断该数是否为偶数(若非偶则返回false,提示重新输入),然后才计算该数是否为对称数,这样可以避免冗余的计算过程(即每次都得判断是否为对称数而后判断是否为偶数)。
- [ACM实验]程序设计基础(1)
- sdut.acm 2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表七:单链表中重复元素的删除
- C程序设计实验1
- 实验五 PL/SQL程序设计基础
- 【并行程序设计实验】:哈工大软件学院并行程序设计实验1
- VB程序设计实验作业(1)
- ACM程序设计
- C++第2次实验(基础班)—简单程序设计1
- 山东理工大学acm非专业程序设计基础答案
- python程序设计:基础1
- java程序设计基础(1)
- java程序设计基础(1)
- java程序设计基础(1)
- 实验1 C++基础
- 南邮JAVA程序设计实验1 综合图形界面程序设计
- SDUT ACM 实验九 字符统计1
- c++程序设计实验报告《一》(1)
- C++程序设计实验报告【5.1.1】
- real 模式下访问 4G 地址空间
- artDialog弹出框使用
- real 模式的思考
- x86 中的算术标志位运用
- VMWare Workstation 8.0.2 and Linux Kernel 3.* Patch
- [ACM实验]程序设计基础(1)
- PDA掌上电脑简介
- 纹理特征提取
- 页级的保护措施
- Unix环境高级编程 第一章 学习笔记
- 调用后返回
- Icons and launch images for iPhone and iPad apps
- 堆栈的切换
- DM6446 Codec Engine问题总结及解决办法