400
任务描述
幂是一个汉字词语,意思是指乘方运算的结果,本关我们需要通过程序来实现幂的相关运算。
相关知识
幂函数在我们的日常生活中应用很广,比如:银行存款计复利等,掌握幂的相关知识可以给我们的日常生活带来便利。
c
语言中a^b
还有另一层意思,是位运算中异或的意思,相同为0
同为1
。
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
给定两个数a
,b(0 < a&&b <=2^30)
,求a^b
的最后一位数。(即a
的b
次幂的个位数) 提示:这题有一定的难度,小心超时,或超出数字的存储极限。
效果如下: 输入:6667 4454
。 输出:9
。
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
验货啦,验货啦,开始你的任务吧!
#include
int main()
{
//获取参数方式 scanf
//int x =0;
//int y = 0;
//scanf("%d", &x);
//结果输出使用prinf
//printf("%d",x);
// 请在此添加你的代码
/********** Begin *********/
int a,b,sum=1,i;
scanf("%d %d",&a,&b);
a%=10;
b%=4;//7的一到五次幂 :7 49 343 2401 16807,2的一到五次幂 :2 4 8 16 32,可以看出个位数是循环往复的
for(i=1;i<=b;i++){
sum*=a;
}
printf("%d",sum%10);
/********** End **********/
}
400
任务描述
本关需要你完成一个嵌套循环程序设计。
效果如下:
相关知识
还记得C
语言的循环语句有哪些吗?while
循环语句、do-while
循环语句和for
循环语句。那么他们可以嵌套使用吗?让我们来了解一下。
循环的嵌套
一个循环体语句中又包含另一个循环语句,称为循环嵌套,其实就是在while
、do...while
、for
三种常用循环结构的作用域内再度使用三种循环结构的一种解题模式。
嵌套注意事项:
1.使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同;
2.循环嵌套结构的书写,最好采用“右缩进”格式,以体现循环层次的关系;
3.尽量避免太多和太深的循环嵌套结构。
用途:
循环嵌套可以帮助我们解决很多问题,在C
语言中经常被用于按行列方式输出数据。
举个例子:
#include
int main(int argc, const char * argv[])
{
for(int i = 1; i <= 9; i++)//外层循环,循环1次 要完成1行的打印.
{
for(int j = 1; j <= i;j++)
{
//' ' 代表1个制表符 Tab键.对齐
printf("%d * %d = %d ",j,i,i*j);
}
printf("
");
}
return 0;
}
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
输入打印行数n
,输出共2n
-1行的菱形。 例如: 输入:5。 输出:
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
验货啦,验货啦,开始你的任务吧!
#include
int main()
{
//获取参数方式 scanf
//int x =0;
//int y = 0;
//scanf("%d", &x);
//结果输出使用prinf
//printf("%d",x);
// 请在此添加你的代码
/********** Begin *********/
int n,i,j;
scanf("%d",&n);
//上面的部分
for (i=1;i<=n;i++){
for (j=1;j<=n-i;j++){
printf(" ");
}//到中心有十个空格,越少的*越多的空格
for (j=1;j<=2*i-1;j++){
printf("*");
}//运用公式可知
printf("\n");
}//下面的部分
for (i=1;i<=n-1;i++){
for (j=1;j<=i;j++){
printf(" ");
}
for (j=1;j<2*n-2*i;j++){
printf("*");
}//每次递减2
printf("\n");
}
return 0;
/********** End **********/
}
400
任务描述
本关需要你完成编写函数fun
计算一个数组中的值出现的次数。
相关知识
大家看到题目是不是很熟悉,之前做过这种逆序存放的题目啊,怎么又做?这次这个题目有个新知识,fun
函数!
fun函数
fun
函数是自定义的C/C++
语言函数,函数功能多样。它是指用fun
来定义一个函数(或方法),这样在引用时可以用fun
表示。
比如int fun(int x,int y)
,void fun(char* a,char* b)
等等。有先前的定义,就可以在主函数里调用它,比如ans=fun(3,7)
或者fun(p1,p2)
。
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
将一个数组的值按逆序重新存放,例如,原来顺序为:8,6
,5
,4
,1
。要求 改为:1
,4
,5
,6
,8
。
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
验货啦,验货啦,开始你的任务吧!
#include
#define N 10
void fun(int arr[],int n)
{
// 请在此添加你的代码
/********** Begin *********/
int i,j,t;
for(i=0;i<=n/2-1;i++){//这里要考虑n是奇数还是偶数,奇数对半求,偶数对半还要减一
t=arr[i];
arr[i]=arr[n-1-i];
arr[n-1-i]=t;
}
/********** End **********/
}
int main()
{
int a[N]={34,56,4,1,10,8,6,5,4,1},i;
getchar();
for(i=0;i
400
任务描述
本关需要你使用switch case
语句完成一个判断学员成绩等级的小程序。
相关知识
在有多个选择分支条件的情况下,用if
语句难免会繁琐且效率不高,此时便是switch
语言的用武之地。
switch语句
用法如下:
switch(表达式){
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case
后的语句。如表达式的值与所有case
后的常量表达式均不相同时,则执行default
后的语句。
例如:
#include
int main(void){
int a;
printf("input integer number: ");
scanf("%d",&a);
switch (a){
case 1:printf("Monday
"); break;
case 2:printf("Tuesday
"); break;
case 3:printf("Wednesday
"); break;
case 4:printf("Thursday
"); break;
case 5:printf("Friday
"); break;
case 6:printf("Saturday
"); break;
case 7:printf("Sunday
"); break;
default:printf("error
");
}
return 0;
}
上述题目中在case
后还加了break
,知道break
的含义吗?break
语句,专用于跳出switch
语句,break
语句只有关键字break
,没有参数。在后面还将详细介绍。上述题中,在每一case
语句之后增加break
语句, 使每一次执行之后均可跳出switch
语句,从而避免输出不应有的结果。
在使用switch
语句时还应注意以下几点:
在case
后的各常量表达式的值不能相同,否则会出现错误;
在case
后,允许有多个语句,可以不用{}括起来;
各case
和default
子句的先后顺序可以变动,而不会影响程序执行结果。default
子句可以省略不用。
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
输入考试成绩(0-100
之间的整数),根据该分数所处的区间,输出对应的等级。
等级设置如下:
分数区间 等级 [90,100] A
[80,89] B
[70,79] C
[60,69] D
[0,59] E
程序运行示例:
输入:89
。
输出:The grade is: B
。
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
验货啦,验货啦,开始你的任务吧!
#include
char fun(int s)
{ char grade;//存储分数对应的等级
// 请在此添加你的代码
/********** Begin *********/
switch(s/10){
case 10:grade='A';break;//这里考虑100分的条件
case 9:grade='A';break;
case 8:grade='B';break;
case 7:grade='C';break;
case 6:grade='D';break;
default:grade='E';
}
return grade;
/********** End **********/
}
int main (void)
{
int score;
scanf ("%d", &score);
printf("The grade is: %c", fun(score));
return 0;
}