pta网,跳一跳以及金字塔问题(C语言)

1.微信小程序中的跳一跳相信大家都玩过。emmm???只学习不玩游戏?那就吃亏了…好好读题理解吧。   
简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。   
如果跳到了方块上,但没有跳到方块的中心则获得1分;
跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。   
现在给出一个人跳一跳的全过程,请你求出他本局游戏的得分(按照题目描述的规则)。(C语言)
输入格式:
输入包含多个数字,用空格分隔,每个数字都是1,2,0之一,
1表示此次跳跃跳到了方块上但是没有跳到中心, 2表示此次跳跃跳到了方块上并且跳到了方块中心, 0表示此次跳跃没有跳到方块上(此时游戏结束)。

对于所有评测用例,输入的数字不超过30个
输出格式:
 输出一个整数,为本局游戏的得分(在本题的规则下)。
输入样例:
1 1 2 2 2 1 1 2 2 0
输出样例:
22

#include<stdio.h>
int main(){
int a[30];
int sum=0;//总成绩
int n=0;//连着的2的个数
int i=1;
scanf("%d",&a[0]);//对第一个输入数据的特殊处理
if(a[0]==0){
printf(“0”);
return 0;
}
else{
if(a[0]==1) sum=1;
else {
n=1;
sum+=2n;
}
}
//开始循环处理
scanf("%d",&a[i]);
while(a[i]!=0){
if(a[i]==1){
n=0;
sum+=1;
}
else{
n++;
sum+=2
n;
}
i++;
scanf("%d",&a[i]);
}
printf("%d",sum);
return 0;
}
2.
金字塔其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。
**输入:5
**输出:
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
代码如下:
#include <stdio.h>
void pyramid( int n );
int main() { int n;
scanf("%d", &n);
pyramid(n);
return 0; }
void pyramid( int n )
{
int i,j;
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++){
printf(" “);
}
for(j=1;j<=i;j++){
printf(”%d ",i);//注意!!!d后面自动带了空格!!!!
}
putchar(’\n’);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值