《C++程序设计1》实验5-2参考答案、程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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>a[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;

}

相关文档
最新文档