c++编程题.docx

上传人:b****7 文档编号:11516189 上传时间:2023-03-02 格式:DOCX 页数:15 大小:20.94KB
下载 相关 举报
c++编程题.docx_第1页
第1页 / 共15页
c++编程题.docx_第2页
第2页 / 共15页
c++编程题.docx_第3页
第3页 / 共15页
c++编程题.docx_第4页
第4页 / 共15页
c++编程题.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

c++编程题.docx

《c++编程题.docx》由会员分享,可在线阅读,更多相关《c++编程题.docx(15页珍藏版)》请在冰豆网上搜索。

c++编程题.docx

c++编程题

编程题1:

sizeof测试字节数

编写程序,测试以下类型在内存中所占空间大小:

char、int、short、long、unsignedint、float、double,输出时给出较清晰的提示信息。

本题无输入,输出结果如下:

sizeof(char)=1

sizeof(int)=4

sizeof(short)=2

sizeof(long)=4

sizeof(unsignedint)=4

sizeof(float)=4

sizeof(double)=8

1#include

2intmain()

3{

4printf("sizeof(char)=%d\n",sizeof(char));

5printf("sizeof(int)=%d\n",sizeof(int));

6printf("sizeof(short)=%d\n",sizeof(short));

7printf("sizeof(long)=%d\n",sizeof(long));

8printf("sizeof(unsignedint)=%d\n",sizeof(unsignedint));

9printf("sizeof(float)=%d\n",sizeof(float));

10printf("sizeof(double)=%d\n",sizeof(double));

11return0;

12}

编程题2:

输入/输出练习

编写程序,定义一个int型变量a,一个float型变量b,一个double型变量c,a变量用20初始化,b变量赋值为12.345,c变量的值通过cin从键盘输入,按测试用例形式输出三个变量的值。

13#include

14intmain()

15{

16inta=20;

17floatb;

18doublec;

19b=12.345;

20scanf("%lf",&c);

21printf("a=%d\n",a);

22printf("b=%g\n",b);

23printf("c=%g\n",c);

24return0;

25}

编程题3:

求圆的面积与周长

用C++语言的编程风格编程实现一个输入半径,输出其面积和周长的程序

提示:

(1)定义符号常量:

constdoublePI=3.14159;

(2)程序中的输出语句为:

cout<<"s="<

(3)半径从键盘输入,程序中无输入提示语句

26#include

27usingnamespacestd;

28constdoublePI=3.14159;

29intmain()

30{

31doubles,c,r;

32cin>>r;

33s=PI*r*r;

34c=2*PI*r;

35cout<<"s="<

36return0;

37}

编程题4:

用if语句求解分段函数

分段函数求解:

定义double型的两个变量x和y,输入x,计算并输出y的值:

y=x+100(当x<20)

y=x(当20≤x≤100)

y=x-100(当x>100)

提示:

程序中的输出请复制语句:

cout<<"x="<

38#include

39usingnamespacestd;

40intmain()

41{

42doublex,y;

43cin>>x;

44if(x<20)y=x+100;

45elseif(x>100)y=x-100;

46elsey=x;

47cout<<"x="<

48return0;

49}

编程题5:

打印每月有几天

读入一个年份和月份,在年号和月号均正确时打印出该月有多少天(考虑闰年),用switch语句实现根据年号月号求当月天数。

若年号为负数,则输出提示信息:

erroryear直接结束程序,若月号不在1~12之间,则输出提示信息:

errormonth直接结束程序.

提示:

(1)在程序任何位置结束程序调用函数exit(0);

(2)输出请复制语句:

cout<

50#include

51usingnamespacestd;

52intmain()

53{

54intyear,month,day,leapyear;

55cin>>year>>month;

56if(year<0)

57{cout<<"erroryear"<

58exit(0);}

59if(month<1||month>12)

60{cout<<"errormonth"<

61exit(0);}

62leapyear=((year%4==0&&year%100!

=0)||(year%400==0));

63switch(month)

64{case1:

65case3:

66case5:

67case7:

68case8:

69case10:

70case12:

day=31;break;

71case2:

{if(leapyear)

72day=29;

73elseday=28;}break;

74case4:

75case6:

76case9:

77case11:

day=30;break;}

78cout<

79return0;

80}

编程题6:

输出所有的3位数字的质数

以每行5个的形式输出所有的3位数字的质数。

说明:

(1)每个质数占6列,因此请用输出语句:

cout<

为格式控制请在程序开头用#include包含std名空间中的头文件iomanip

(2)最后一个质数后面要输出一个换行符,即使该行不足5个数。

(3)如果需要用到平方根函数,请在程序开头用:

#include包含std名空间中的头文件cmath,对整型m调用的正确方式:

sqrt(double(m)),函数结果为double值,程序中根据需要进行必要的类型强制转换

81#include

82#include

83#include

84usingnamespacestd;

85intmain()

86{

87intnum=100;

88inti,j;

89j=0;

90boolflag;

91while(num<=999)

92{

93flag=true;

94for(i=2;i

95{

96if(num%i==0){

97flag=false;

98break;

99}

100}

101if(flag)

102{

103cout<

104j=j+1;

105if(j>4)

106{cout<

107j=0;}

108}

109num++;

110}

111cout<

112return0;

}

**编程题7:

根据条件求和

(较难)题目:

从键盘上读入任意一个0.0至5.0之间的double型变量x,计算x-x^2/2!

+x^3/3!

-……,直到最后一项的绝对值小于1e-5

提示:

(1)请复制下面语句输出最后的和值:

cout<<"sum="<

(2)此题项数不确定,与初始读入的x有关

113#include

114usingnamespacestd;

115intmain()

116{

117inta,b,n=1;

118doublex,t=1,sum=0;

119cin>>x;

120for(a=1;t>=1e-5||t<=-1e-5;a++)

121{t=1;

122for(b=1;b<=a;b++)

123t=t*(x/b);

124sum=sum+n*t;

125n=-n;

126}

127cout<<"sum="<

128return0;

129}

编程题8:

用数组实现Fibonacci数列

编程首先计算Fibonacci数列1,1,2,3,5,8,13,21,......的前n项(1<=n<=40)存入一维整型数组f中,然后每6个元素一行输出所有的元素。

Fibonacci数列的规律是:

第一项和第二项值为1,从第三项开始当前项的值为相邻前两项之和。

提示:

(1)直接用cin>>n;输入数列项n,前面不需要有任何输入提示;

(2)输出当前项的语句请复制:

cout<包含std名字空间中的文件iomanip

(3)最后一行一定是换行的,无论元素个数是否是6的倍数,但一定要注意,不能重复换行,例如,n为18的时候,不能多输出一个空行

130#include

131#include

132usingnamespacestd;

133

134intmain(){

135intn,i;

136int*f;

137

138cin>>n;

139if(n<=0)return0;

140if(n<=2){

141for(i=0;i

142cout<

143}

144cout<

145return0;

146}

147f=newint[n];

148f[0]=f[1]=1;

149for(i=2;i

150f[i]=f[i-1]+f[i-2];

151}

152for(i=0;i

153cout<

154if((i+1)%6==0)cout<

155}

156if(i%6!

=0)cout<

157

158delete[]f;

159return0;

160}

*编程题9:

求数组元素的平均值

定义一个含20个元素的一维整型数组,从键盘上输入20个元素,求去掉最大值和最小值以后那些元素的平均值。

提示:

(1)数组中最大、最小元素值可能不止一个,都应该去掉,不统计求和求平均

(2)可能数组中只有两个不同元素值,则无法求解,此时用语句cout<<"noaverage.\n";给出提示信息。

请复制该语句。

(3)输出计算结果的句子:

cout<<"average="<<你自己的表达式<

161#include

162usingnamespacestd;

163#defineN20

164intmain()

165{

166intnum[N],i=0,j=0;

167inttemp,max,min,sum=0,count=0;

168

169for(i=0;i

170{

171cin>>num[i];

172}

173

174for(i=1;i

175{

176for(j=0;j

177{

178if(num[j]>num[j+1])

179{

180temp=num[j];

181num[j]=num[j+1];

182num[j+1]=temp;

183}

184}

185}

186

187min=num[0];

188max=num[N-1];

189

190for(i=0;i

191{

192if(num[i]!

=min&&num[i]!

=max)

193{

194sum+=num[i];

195count++;

196}

197}

198

199if(count>0)

200{

201cout<<"average="<

202}

203else

204{

205cout<<"noaverage.\n";

206}

207

208system("pause");

209return0;

}

*编程题10:

打印杨辉三角形

编程打印如下形式的杨辉三角形,每个整数占5列宽度,行数由键盘读入,少于10行。

1

11

121

1331

14641

15101051

提示:

(1)定义一个10*10的二维整型数组,用来存储对应行列上的需要打印的数值

(2)注意元素之间的大小关系,满足:

y[i][j]=y[i-1][j-1]+y[i-1][j],即下一行某列的值等于上一行本列及前一列二者之和。

(3)输出元素用语句cout<

210#include

211#include

212usingnamespacestd;

213intmain()

214{

215inty[10][10];

216inti,j,n;

217cin>>n;

218for(i=0;i

219{

220y[i][0]=1;

221for(j=1;j<=i;j++)

222y[i][j]=1;

223}

224for(i=2;i

225for(j=1;j

226y[i][j]=y[i-1][j-1]+y[i-1][j];}

227}

228for(i=0;i

229for(j=0;j<=i;j++){

230cout<

231cout<

232}

233system("pause");

234return0;

}

编程题13:

判断矩阵是否对称

成绩:

100/折扣:

0.9

定义一个4*4的二维整型数组arr,主函数中由键盘读入所有元素,判断该矩阵是否对称。

(所谓对称,就是满足:

arr[i][j]==arr[j][i])对称输出“Yes”,否则输出“No”。

提示:

输出语句请复制:

cout<<"Yes\n";和cout<<"No\n";

*编程题14:

动态空间管理

用new运算符为一个包含20个整数的数组分配内存,输入若干个值到数组中,分别统计其中正数和负数的个数,输出结果,再用delete运算符释放动态内存空间。

提示:

(1)变量定义:

intnum,positive=0,negative=0;//这三个变量分别表示读入到数组的元素个数,正数的个数,负数的个数

程序中所用到的所有变量因编译器的原因,应当集中在语句块起始位置定义,类似for(inti=0;i<10;i++)这种用法在服务器端编译可能会出错

需要定义指针变量申请和释放动态空间

(2)在输入数据之前无需屏幕提示信息

(3)程序中的输出语句为:

如果num的值超过20或不足1,则用语句cout<<"numbererror.\n";输出提示信息,不再输入数组元素。

正常情况下,无需输出所有的元素,用以下3条语句输出结果:

cout<<"Thereare"<

cout<

cout<

235#include

236usingnamespacestd;

237int*p=newint[20];

238intmain()

239{

240intnum,positive=0,negative=0;

241cin>>num;

242if(num<1||num>20){

243cout<<"numbererror.\n";

244}

245else{

246inti;

247for(i=0;i

248cin>>p[i];

249}

250for(i=0;i

251if(p[i]>0)positive++;

252elseif(p[i]<0)negative++;

253}

254cout<<"Thereare"<

255cout<

256cout<

257}

258delete[]p;

259return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1