200
任务描述
本关需要你通过switch
语句的编写,完成求x
的y
值结果的小程序。详情如下:
当0<=x<10
时,y
=cos(x+3.0)
;
当10<=x<20
时,y
=pow(cos(x+7.5),2)
;
当20<=x<30
时,y
=pow(cos(x+4.0),4)
。
相关知识
cos()
C
库函数double cos(double x)
返回一个弧度角x
的余弦值。
参数:
x
这是浮点值同比弧度表示的角度。返回值:
x
的余弦。例如:
int main ()
{
double x, ret, val;
x = 60.0;
val = 180.0 / PI;
ret = cos( x*val );
printf("The cosine of %lf is %lf degrees
", x, ret);
x = 90.0;
val = 180.0 / PI;
ret = cos( x*val );
printf("The cosine of %lf is %lf degrees
", x, ret);
return(0);
}
运行上面的程序,将产生以下结果:
The cosine of 60.000000 is 0.664171 degrees
The cosine of 90.000000 is -0.299510 degrees
pow()
C
库函数double pow(double x, double y)
表示x
的y
次方。
例如:
{
printf("Value 8.0 ^ 3 = %lf", pow(8.0, 3));
printf("Value 3.05 ^ 1.98 = %lf", pow(3.05, 1.98));
return(0);
}
运行上面的程序,将产生以下结果:
Value 8.0 ^ 3 = 512.000000
Value 3.05 ^ 1.98 = 9.097324
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
用switch
语句编程计算出x
的y
值:
当0<=x<10
时,y
=cos(x+3.0)
;
当10<=x<20
时,y
=pow(cos(x+7.5),2)
;
当20<=x<30
时,y
=pow(cos(x+4.0),4)
。
注意:
测试说明
例如: 测试输入:5
。 预期输出:-0.1455
。
测试输入:15
。 预期输出:0.762661
。
验货啦,验货啦,开始你的任务吧!
#include
#include
int main()
{
int x;
double y;
/*********begin*********/
scanf("%d",&x);
switch(x/10){
case 0:
y=cos(x+3.0);
break;
case 1:
y=pow(cos(x+7.5),2);
break;
case 2:
y=pow(cos(x+4.0),4);
break;
}
printf("%g",y);
/*********end*********/
return 0;
}
300
任务描述
本关需要你完成判断一个数是否是回文数的小程序。
相关知识
回文数
所谓回文数是指顺序读与反序读都是一样的数,如121
,25852
都是回文数。
注意:
偶数个的数字也有回文数124421
;
小数没有回文数。
for循环
用法如下:
for ( init; condition; increment )
{
statement(s);
}
下面是 for
循环的控制流:
init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量;
接下来,会判断 condition
。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for
循环的下一条语句;
在执行完 for
循环主体后,控制流会跳回上面的 increment
语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可;
条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for
循环终止。
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
从键盘上输入一个正整数,判断其是否是回文数。如果是回文数,则输出Yes
,否则输出No
。
例如: 测试输入:123
。 预期输出:No
。
测试输入:123321
。 预期输出:Yes
。
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
验货啦,验货啦,开始你的任务吧!
#include
#include
int main(){
int n,i,b;
char list[10];
scanf("%s",list);
n=strlen(list);
b=0;
for(i=1;i<=(n/2);i++){
if(list[i-1]==list[n-i])
b++;
}
n=n/2;
if(n==b){
printf("Yes");
}
else{
printf("No");
}
return 0;
}
200
任务描述
本关需要你完成,判断玩家“石头剪刀布”游戏输赢的小程序。
相关知识
运算符优先级
下表按运算符优先级从高到低列出各个运算符,即高优先级的出现在上,较低优先级的出现在下。
在表达式中,较高优先级的运算符会优先被计算。
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
两个玩家分别说出任意一项,根据游戏规则确定胜负。如果两者一样,输出平局!
,否则输出哪个玩家胜利。
注意:
所有输出语句中的标点均为中文标点符号;
石头(0)、布(1)、剪刀(2)。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:1 0
。 预期输出:玩家1胜!
。
验货啦,验货啦,开始你的任务吧!
#include
int main()
{
int a,b,flag;
/*********begin*********/
scanf("%d %d",&a,&b);
if(a==0){
if(b==0)flag=0;
if(b==1)flag=2;
if(b==2)flag=1;
}
if(a==1){
if(b==0)flag=1;
if(b==1)flag=0;
if(b==2)flag=2;
}
if(a==2){
if(b==0)flag=2;
if(b==1)flag=1;
if(b==2)flag=0;
}
switch(flag){
case 0:printf("平局!"); break;
case 1:printf("玩家1胜!"); break;
case 2:printf("玩家2胜!"); break;
}
/*********end*********/
}
300
任务描述
本关需要完成计算出某一年的某个月有几天的小程序。
相关知识
switch 语句
一个switch
语句允许测试一个变量等于多个值时的情况。每个值称为一个case
,且被测试的变量会对每个switch case
进行检查。
嵌套 switch 语句
您可以在一个switch
语句内使用另一个switch
语句。
举例说明:
int main ()
{
/* 局部变量定义 */
int a = 100;
int b = 200;
switch(a) {
case 100:
printf("这是外部 switch 的一部分
");
switch(b) {
case 200:
printf("这是内部 switch 的一部分
");
}
}
printf("a 的准确值是 %d
", a );
printf("b 的准确值是 %d
", b );
return 0;
}
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
编写程序从键盘输入年份和月份,计算出这一年的这一个月共有几天。
应该注意:
是大月还是小月;
是否为2
月;
分闰年和非闰年。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:2017 1
。 预期输出:31天
。
测试输入:2000 2
。 预期输出:29天
。
验货啦,验货啦,开始你的任务吧!
#include
int main()
{
int a,b;
/*********begin*********/
scanf("%d %d",&a,&b);
switch(b){
case 1:printf("31天");break;
case 2:
if((a%4==0&&a%100!=0)||a%400==0){
printf("29天");break;
}else{
printf("28天");break;
}
case 3:printf("31天");break;
case 4:printf("30天");break;
case 5:printf("31天");break;
case 6:printf("30天");break;
case 7:printf("31天");break;
case 8:printf("31天");break;
case 9:printf("30天");break;
case 10:printf("31天");break;
case 11:printf("30天");break;
case 12:printf("31天");break;
}
/*********end*********/
}
100
任务描述
本关需要完成求如下分段函数值的小程序。
相关知识
if...else
一个 if
语句后可跟一个可选的 else
语句,else
语句在布尔表达式为 false
时执行。
if(boolean_expression)
{
/* 如果布尔表达式为真将执行的语句 */
}
else
{
/* 如果布尔表达式为假将执行的语句 */
}
编程要求
编写函数fun
计算出下列分段函数的值:
注意: 保留两位小数点。
测试举例:
测试输入:-1
。 预期输出:f(x)=6.00
。
测试输入:1
。 预期输出:f(x)=2.00
。
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
验货啦,验货啦,开始你的任务吧!
#include
int main()
{
/*********begin*********/
double x,y;
scanf("%lf",&x);
if(x<0&&x!=-3){
y=x*x+x+6.00;
}else if(x>=0&&x<10&&x!=2&&x!=3){
y=x*x-5.00*x+6.00;
}else{
y=x*x-x-1.00;
}
printf("f(x)=%.2lf",y);
/*********end*********/
}