return0;
}
参考源代码仅供老师参考,不要添加到系统中
名称
编程题3:
求圆的面积与周长
备注
描述
用C++语言的编程风格编程实现一个输入半径,输出其面积和周长的程序
提示:
(1)定义符号常量:
constdoublePI=3.14159;
(2)程序中的输出语句为:
cout<<"s="<
(3)半径从键盘输入,程序中无输入提示语句
在保存并预览之后,点开:
“测试用例”选项卡,再选择下方的“添加”,加入两组测试用例,每个用例的权值设为1不能为0
第一个测试用例,
输入部分:
3
输出部分:
s=28.2743,c=18.8495
第二个测试用例,
输入部分:
12.4
输出部分:
s=483.051,c=77.9114
参考源程序代码
#include
usingnamespacestd;
intmain()
{
constdoublePI=3.14159;
doubler,s,c;
cin>>r;
s=PI*r*r;
c=2*PI*r;
cout<<"s="<
return0;
}
参考源代码仅供老师参考,不要添加到系统中
名称
编程题4:
用if语句求解分段函数
备注
描述
分段函数求解:
定义double型的两个变量x和y,输入x,计算并输出y的值:
y=x+100(当x<20)
y=x(当20≤x≤100)
y=x-100(当x>100)
提示:
程序中的输出请复制语句:
cout<<"x="<加入到系统中对应的提示项下
在保存并预览之后,点开:
“测试用例”选项卡,再选择下方的“添加”,加入三组测试用例
略,见测试用例显示
三组测试用例需要逐一添加到系统中
参考源程序代码
#include
usingnamespacestd;
intmain()
{
doublex,y;
cin>>x;
if(x<20)y=x+100;
elseif(x<=100)y=x;
elsey=x-100;
cout<<"x="<return0;
}
参考源代码仅供老师参考,不要添加到系统中
名称
编程题5:
打印每月有几天
备注
描述
读入一个年份和月份,在年号和月号均正确时打印出该月有多少天(考虑闰年),用switch语句实现根据年号月号求当月天数。
若年号为负数,则输出提示信息:
erroryear直接结束程序,若月号不在1~12之间,则输出提示信息:
errormonth直接结束程序.
提示:
(1)在程序任何位置结束程序调用函数exit(0);
(2)输出请复制语句:
cout<加入到系统中对应的提示项下
在保存并预览之后,点开:
“测试用例”选项卡,再选择下方的“添加”,加入五组测试用例
略,见测试用例
五组测试用例需要逐一添加到系统中
参考源程序代码
#include
usingnamespacestd;
intmain()
{
intyear,month,day;
cin>>year>>month;
if(year<0)
{
cout<<"erroryear"<exit(0);
}
switch(month)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:
day=31;break;
case4:
case6:
case9:
case11:
day=30;break;
case2:
day=28;
if(year%4==0&&year%100!
=0||year%400==0)
day=29;
break;
default:
{
cout<<"errormonth\n";
exit(0);}
}
cout<return0;
}
参考源代码仅供老师参考,不要添加到系统中
名称
编程题6:
输出所有的3位数字的质数
备注
描述
以每行5个的形式输出所有的3位数字的质数。
说明:
(1)每个质数占6列,因此请用输出语句:
cout<为格式控制请在程序开头用#include包含std名空间中的头文件iomanip
(2)最后一个质数后面要输出一个换行符,即使该行不足5个数。
(3)如果需要用到平方根函数,请在程序开头用:
#include包含std名空间中的头文件cmath,对整型m调用的正确方式:
sqrt(double(m)),函数结果为double值,程序中根据需要进行必要的类型强制转换
无输入,输出结果如下:
101 103 107 109 113
127 131 137 139 149
151 157 163 167 173
179 181 191 193 197
199 211 223 227 229
233 239 241 251 257
263 269 271 277 281
283 293 307 311 313
317 331 337 347 349
353 359 367 373 379
383 389 397 401 409
419 421 431 433 439
443 449 457 461 463
467 479 487 491 499
503 509 521 523 541
547 557 563 569 571
577 587 593 599 601
607 613 617 619 631
641 643 647 653 659
661 673 677 683 691
701 709 719 727 733
739 743 751 757 761
769 773 787 797 809
811 821 823 827 829
839 853 857 859 863
877 881 883 887 907
911 919 929 937 941
947 953 967 971 977
983 991 997
加入到系统中对应的提示项下,
在保存并预览之后,点开:
“测试用例”选项卡,再选择下方的“添加”,加入1组测试用例
略,见测试用例显示
1组测试用例需要逐一添加到系统中
参考源程序代码
#include
#include
#include
usingnamespacestd;
intmain()
{
intm,i,k,prime,count=0;
for(m=101;m<999;m=m+2)
{
k=(int)(sqrt(double(m)));
prime=1;
for(i=2;prime&&i<=k;i++)
if(m%i==0)prime=0;
if(prime)
{
cout<count++;
if(count%5==0)cout<}
}
cout<return0;
}
参考源代码仅供老师参考,不要添加到系统中
名称
编程题7:
按条件求和
备注
描述
(较难)题目:
从键盘上读入任意一个0.0至5.0之间的double型变量x,计算x-x^2/2!
+x^3/3!
-……,直到最后一项的绝对值小于1e-5
提示:
(1)请复制下面语句输出最后的和值:
cout<<"sum="<(2)此题项数不确定,与初始读入的x有关
加入到系统中对应的提示项下,
在保存并预览之后,点开:
“测试用例”选项卡,再选择下方的“添加”,加入4组测试用例
略,见测试用例显示
4组测试用例需要逐一添加到系统中
参考源程序代码
#include
#include
usingnamespacestd;
intmain()
{
doublex,term=1,i=1,sum=0;
intsign=1;
cin>>x;
do
{
term=term*x/i;
sum+=sign*term;
sign=-sign;
i++;
}while(fabs(term)>=1e-5);
cout<<"sum="<return0;
}
参考源代码仅供老师参考,不要添加到系统中
名称
编程题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的时候,不能多输出一个空行
在保存并预览之后,点开:
“测试用例”选项卡,再选择下方的“添加”,加入3组测试用例
参考测试用例
参考源程序代码
#include
#include
usingnamespacestd;
intmain()
{
intn,f[40],i;
do{
cin>>n;
}while(n<=0||n>40);
f[0]=f[1]=1;
for(i=2;if[i]=f[i-2]+f[i-1];
for(i=0;i{
cout<if((i+1)%6==0)cout<<"\n";
}
if(n%6)cout<<"\n";
return0;
}
参考源代码仅供老师参考,不要添加到系统中
名称
编程题9:
求数组元素的平均值
备注
描述
定义一个含20个元素的一维整型数组,从键盘上输入20个元素,求去掉最大值和最小值以后那些元素的平均值。
提示:
(1)数组中最大、最小元素值可能不止一个,都应该去掉,不统计求和求平均
(2)可能数组中只有两个不同元素值,则无法求解,此时用语句cout<<"noaverage.\n";给出提示信息。
请复制该语句。
(3)输出计算结果的句子:
cout<<"average="<<你自己的表达式<加入到系统中对应的提示项下
在保存并预览之后,点开:
“测试用例”选项卡,再选择下方的“添加”,加入三组测试用例
见测试用例
三组测试用例需要逐一添加到系统中
参考源程序代码
#include
usingnamespacestd;
intmain()
{
inti,a[20],max,min,sum=0,count=0;
for(i=0;i<20;i++)
cin>>a[i];
max=min=a[0];
for(i=0;i<20;i++)
if(a[i]>max)max=a[i];
elseif(a[i]for(i=0;i<20;i++)
if(a[i]!
=max&&a[i]!
=min)
{
sum+=a[i];
count++;
}
if(count)
cout<<"average="<else
cout<<"noaverage.\n";
return0;
}
参考源代码仅供老师参考,不要添加到系统中
名称
编程题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<在保存并预览之后,点开:
“测试用例”选项卡,再选择下方的“添加”,加入5组测试用例
测试用例如上所示,输出时最后一行为空行
参考源程序代码
#include
#include
usingnamespacestd;
intmain()
{
inty[10][10]={0},i,j,n;
cin>>n;
for(i=1;i<=n;i++)
y[i][1]=y[i][i]=1;
for(i=3;i<=n;i++)
for(j=2;jy[i][j]=y[i-1][j-1]+y[i-1][j];
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
cout<cout<<"\n";
}
return0;
}
参考源代码仅供老师参考,不要添加到系统中
名称
编程题11:
字符串逆置
备注
描述
定义一维字符数组实现C风格的字符串,串长不超过20,从键盘输入不带空格的字符串,编程实现字符串的逆置。
输出逆置前、后的字符串。
提示:
(1)如果要调用C风格字符串的函数,需要在程序开头用#include包含std名字空间中的文件cstring
(2)假如你所定义的字符数组名为str,则用语句cout<<"originalstring:
"<"<
在保存并预览之后,点开:
“测试用例”选项卡,再选择下方的“添加”,加入两组测试用例
见测试用例显示
参考源程序代码
#include
#include
usingnamespacestd;
intmain()
{
charstr[20];
char*p=str,*q,t;
cin>>str;
intlen=strlen(str);
cout<<"originalstring:
"<q=p+len-1;
while(p{
t=*p;
*p=*q;
*q=t;
p++;
q--;
}
cout<<"reversedstring:
"<return0;
}
参考源代码仅供老师参考,不要添加到系统中
此题有多种方法实现
名称
编程题12:
删除所有相同值的元素
备注
描述
从键盘输入整型一维数组中a中的各元素(以元素0结束,0是最后一个有效元素,元素个数不超过20个),再输入一个待删除的整数。
先输出删除前的所有数组元素。
从数组中删除所有的元素值等于该整数的元素,如果元素不存在,则输出提示信息:
doesnotexist,nooperating!
否则输出删除后的所有数组元素。
提示:
(1)数组的定义:
inta[20];
(2)应该用一个变量n存储实际有效果的元素个数(含0)
(3)用cout<进行文件包含
(4)输出删除前的所有数组元素前面的提示信息用语句:
cout<<"Beforedelete,elementsare:
\n";实现
(5)输出删除后的所有数组元素前面的提示信息用语句:
cout<<"Afterdelete,elementsare:
\n";实现
(6)如果没有删除,则用语句cout<<"doesnotexist,nooperating!
\n";给出提示信息。
在保存并预览之后,点开:
“测试用例”选项卡,再选择下方的“添加”,加入3组测试用例
见测试用例
参考源程序代码
#include
#include
usingnamespacestd;
intmain()
{
inta[20];
inti=0,j,x,total=0,s=0;
do
{cin>>a[i++];
}while(a[i-1]);
s=total=i;
cin>>x;
cout<<"Beforedelete,elementsare:
\n";
for(i=0;icout<cout<<"\n";
for(i=0;i{
while(i