高分求答案(程序设计试卷)

一、程序填空题(每空6分,总计30分)1、下列程序根据输入年份,判断该年是否是闰年。请完成该程序。注意:闰年的判定条件是:年号能被4整除但不能被100整除,或者能被400... 一、程序填空题(每空6分,总计30分)
1、 下列程序根据输入年份,判断该年是否是闰年。请完成该程序。注意:闰年的判定条件是:年号能被4整除但不能被100整除,或者能被400整除。
#include<iostream.h>
Void main()
{
int Year,Leap;
cin>>Year;
if(Year%4!=0)
Leap=0;
else
if( ① )
Leap=1;
Else if( ② )
Leap=0;
else
Leap=1;
if(Leap)
cout<<Year<<"is a leap year. "<<endl;
else
cout <<Year<<"isn’t a leap year. "<<endl;
}

2、下列程序计算1000以下能被3整除的自然数之和。请完成下列程序。
#include<iostream.h>
void main()
{
int x=1,sum;
③ ;
while(true)
{
if( ④ )break;
if( ⑤ )sum+=x;
x++;
}
cout<<sum<<endl:
}

二:根据程序写结果(每小题10分,共20分)
1、 写出下列程序的结果
#include <iostream.h>
Class Myclass
{
Public:
Myclass(int a){x=a;}
Void fun1(){x++;}
Void fun2(){x+=2;}
Void fun3(){x+=3;}
Void print(){cout<<”x=”<<x<<endl;}
Private:
Int x;
};
Void main()
{
Myclass my(8);
Void(Myclass::*pf)();
my.print();
pf=Myclass::fun2;
(my.*pf)();
my.print();
pf=Myclass::fun3;
(my.*pf)();
my.print();
}
运行结果为:

2、写出下列程序的运行结果。
#include<iostream.h>
int Div(int x,int y)
{
if(y= =0)
throw y;
retrun x/y;
}
viod main()
{
try
{
cout<<"7/3="<<Div(7,3)<<endl;
cout<<"9/0="<<Div(9,0)<<endl;
cout<<"8/4="”<<Div(8,4)<<endl;
}
catch(int)
{
cout<<"Exception of dividing zero. "<<endl;
}
cout<<"It is OK."<<endl;
}

运行结果为:

三、程序编写题(每小题25分,共50分)
1、编写程序,求5*5矩阵两条对角线元素之和。

2、编写程序,将两个字符串连接在一个字符串。
展开
 我来答
我道无极
2008-03-30
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
太简单了
1.
(1)year%4==0&&year%100!=0
(2)year%400!=0
2.
(1)sum=0;
(2)x>1000
(3)x%3==0
3.
运行结果为:
x=8
x=10
x=13
----
PS:这个程序有错误(首字母不能大写),应该改为:
pf=Myclass::fun2; //pf=&Myclass::fun2;
pf=Myclass::fun3; //pf=&Myclass::fun3;
4.
运行结果为:
7/3=2
Exception of dividing zero.
It is OK.
----
PS:这个程序有错误,应该改为:
cout<<"8/4="”<<Div(8,4)<<endl;//cout<<"8/4="<<Div(8,4)<<endl;
retrun x/y; //return x/y;
viod main() //void main()

1、编写程序,求5*5矩阵两条对角线元素之和。
main()
{
float a[5][5],sum=0;
int i,j;
printf("please input rectangle element:\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%f",&a[i][j]);
for(i=0;i<5;i++)
sum=sum+a[i][i];
printf("duijiaoxian he is %6.2f",sum);
}

2、编写程序,将两个字符串连接在一个字符串。
#include "stdio.h"
main()
{char a[]="acegikm";
char b[]="bdfhjlnpq";
char c[80],*p;
int i=0,j=0,k=0;
while(a[i]!='\0'&&b[j]!='\0')
{if (a[i] { c[k]=a[i];i++;}
else
c[k]=b[j++];
k++;
}
c[k]='\0';
if(a[i]=='\0')
p=b+j;
else
p=a+i;
strcat(c,p);
puts(c);
}
--
或者用下面的两个函数
void myStrcat(char p1[],char p2[])
{
int i=0,n=0;
char *p=p1,*q=p2;
while (*p)
{
p++;
n++;
}
i=n;
while(*p)
{
p1=*q;
q++;
i++;}
p1='\0';
}
--------
char * __cdecl strcat (char * dst, const char * src)
{
char * cp = dst;
while( *cp )
cp++; /* find end of dst */
while( *cp++ = *src++ ) ; /* Copy src to end of dst */
return( dst ); /* return dst */
}

空3: sum=0
空4: x<=1000
空5:x%3==0
自由的菜鸟
2008-03-27 · TA获得超过2736个赞
知道大有可为答主
回答量:1657
采纳率:0%
帮助的人:1298万
展开全部
太简单了
1.
(1)year%4==0&&year%100!=0
(2)year%400!=0
2.
(1)sum=0;
(2)x>1000
(3)x%3==0
3.
运行结果为:
x=8
x=10
x=13
----
PS:这个程序有错误(首字母不能大写),应该改为:
pf=Myclass::fun2; //pf=&Myclass::fun2;
pf=Myclass::fun3; //pf=&Myclass::fun3;
4.
运行结果为:
7/3=2
Exception of dividing zero.
It is OK.
----
PS:这个程序有错误,应该改为:
cout<<"8/4="”<<Div(8,4)<<endl;//cout<<"8/4="<<Div(8,4)<<endl;
retrun x/y; //return x/y;
viod main() //void main()

1、编写程序,求5*5矩阵两条对角线元素之和。
main()
{
float a[5][5],sum=0;
int i,j;
printf("please input rectangle element:\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%f",&a[i][j]);
for(i=0;i<5;i++)
sum=sum+a[i][i];
printf("duijiaoxian he is %6.2f",sum);
}

2、编写程序,将两个字符串连接在一个字符串。
#include "stdio.h"
main()
{char a[]="acegikm";
char b[]="bdfhjlnpq";
char c[80],*p;
int i=0,j=0,k=0;
while(a[i]!='\0'&&b[j]!='\0')
{if (a[i] { c[k]=a[i];i++;}
else
c[k]=b[j++];
k++;
}
c[k]='\0';
if(a[i]=='\0')
p=b+j;
else
p=a+i;
strcat(c,p);
puts(c);
}
--
或者用下面的两个函数
void myStrcat(char p1[],char p2[])
{
int i=0,n=0;
char *p=p1,*q=p2;
while (*p)
{
p++;
n++;
}
i=n;
while(*p)
{
p1=*q;
q++;
i++;}
p1='\0';
}
--------
char * __cdecl strcat (char * dst, const char * src)
{
char * cp = dst;
while( *cp )
cp++; /* find end of dst */
while( *cp++ = *src++ ) ; /* Copy src to end of dst */
return( dst ); /* return dst */
}

参考资料: 欢迎加分

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuhhhh119
2008-03-26 · 超过23用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:0
展开全部
我也学了c语言 可惜啊 现在也忘得差不多了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小林学子
2008-03-26
知道答主
回答量:21
采纳率:0%
帮助的人:19.4万
展开全部
1.
#include<iostream.h>
Void main()
{
int Year,Leap;
cin>>Year;
if(Year%4!=0)
Leap=0;
else
if( Year%100==0 )
Leap=1;
Else if( Year%400!=0 )
Leap=0;
else
Leap=1;
if(Leap)
cout<<Year<<"is a leap year. "<<endl;
else
cout <<Year<<"isn’t a leap year. "<<endl;
}

2.
#include<iostream.h>
void main()
{
int x=1,sum;
sum=0;
while(true)
{
if( x>1000 )break;
if( x%3==0 )sum+=x;
x++;
}
cout<<sum<<endl:
}

3:运行结果:<这题不一定对,你上机检查>
8 9 11 14
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是dongping
2008-03-29 · TA获得超过644个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:239万
展开全部
空3: sum=0
空4: x<=1000
空5:x%3==0

剩下的做不来了,谁会做就继续下去吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式