《C++程序设计1》实验5-2参考答案、程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++程序设计1》实验5-2参考程序与答案
(1)填空题
1. 存储字符’a’和字符串”a”分别需要占用__1__和__2__个字节。
2. 空串的长度为__0__,存储它需要占用__1__个字节。
3. 对于一个长度为n的字符串,需要占用_n+1___个字节,用于存储该字符串的字符数组的长度至少为_n+1___。
4. 一个二维字符数组a[10][20]能够存储10 字符串,每个字符串的长度至多为__19__。
(2)读程题,写出程序的运行结果及功能,并说明各函数、变量、数组所起的作用。
#include
using namespace std;
int main()
{
int sum_day(int,int);
int leap(int year);
int year,month,day,days;
cout<<"请输入年月日:"< cin>>year>>month>>day; cout< days=sum_day(month,day); if(leap(year)&&month>=3)days=days+1; cout<<"是本年的第"< return 0; } int sum_day(int month,int day) { int i; int day_tab[12]={31,28,31,30,31,30,31,31,30,31,30,31}; for(i=0;i day+=day_tab[i]; return(day); } int leap(int year) { int leap; leap=year%4==0&&year%100!=0||year%400==0; return(leap); } 程序运行结果: 功能为:从键盘任意输入一个日期,判断该日期是本年中的第几天。 各函数、变量、数组的作用: 函数sum_day用于计算日期的天数; 函数leap用于判断该年份是否为闰年; 变量year、month、day、days分别用来存放年、月、日和天数,leap用来存放年份是否为闰年的判断结果,leap=1表示该年为闰年; 数组day_tab用来存放每个月的天数。 (3)编程题 1.有一个10个元素的正整数数组,分别统计该数组中奇数和偶数的个数。 #include using namespace std; void main(){ int a[10]; int i; cout<<"请输入10个整数:"< for(i=0;i<10;i++) cin>>a[i]; int i1=0,i2=0; for(i=0;i<10;i++) if(a[i]%2==1) i1++; else i2++; cout<<"该数组中奇数个数为:"< cout<<"该数组中偶数个数为:"< } 2.编写在一个8个元素的正整数数组中找出最大值与次大值,最小值与次小值的程序。 #include using namespace std; void main() { int a[8]; int i; cout<<"请输入8个整数:"< for(i=0;i<8;i++) cin>>a[i];//={36,25,48,14,55,40,50,24}; int max1,max2,min1,min2; max1=max2=a[0]; for(i=1;i<8;i++) if(a[i]>max1) {max2=max1;max1=a[i];} else if(a[i]>max2)max2=a[i]; cout<<"最大数为:"< min1=min2=a[0]; for(i=1;i<8;i++) if(a[i] else if(a[i] cout<<"最小数为:"< } 3.将一个数组中的值按逆序重新存放。例如:原来顺序是8,6,5,4,1。要求改为1,4,5,6,8。思路:以中间的元素为中心,将其两侧对称的元素的值互换即可。 #include using namespace std; int main() { const int n=5; int a[n],i,temp; //注意,数组元素个数n的值一定要是常量,不能是变量,所以这里将n 定义为常变量。 cout<<"请输入数组元素的值:"< for(i=0;i cout<<"数组a的元素值为:"< for(i=0;i for(i=0;i { temp=a[i]; a[i]=a[n-i-1]; a[n-i-1]=temp; } cout< for(i=0;i cout< return 0; }