📄 1409.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1409 on 2005-03-12 at 21:07:26 */
#include <stdio.h>
#define sgn(x) (((x)>0)?1:(-1))
typedef struct{
int length;
int number;
}Sequence;
int main()
{
Sequence sequ[2];
int sub[30], sequence[31];
int i, length, zeroLength, upOrDown, flag;
while(1){
for(i = 0; i < 2; i++){
sequ[i].length = 0;
sequ[i].number = 0;
}
zeroLength = 0;
flag = 0;
for(length = 0; ; length++){
scanf("%d", &sequence[length]);
if(sequence[length] == 0){
if(length == 0){
return 0;
}else{
break;
}
}
if(length > 0){
sub[length-1] = sequence[length] - sequence[length-1];
if(sub[length-1] != 0){
sub[length-1] = sgn(sub[length-1]);
}
}
}
printf("Nr values = %d:", length);
printf(" ");
for(i = 0; i < length-1; i++){
if(flag == 0){
if(sub[i] > 0){
flag = 1;
upOrDown = 0;
sequ[upOrDown].length += zeroLength+1;
sequ[upOrDown].number++;
zeroLength = 0;
}else if(sub[i] < 0){
flag = 1;
upOrDown = 1;
sequ[upOrDown].length += zeroLength+1;
sequ[upOrDown].number++;
zeroLength = 0;
}else{
zeroLength++;
}
}else{
if(sub[i] == 0){
zeroLength++;
}else if((sub[i-1] == 0) && (sub[i] != 0)){
sequ[upOrDown].length += zeroLength;
zeroLength = 0;
if(((upOrDown == 0) && (sub[i] < 0)) || ((upOrDown == 1) && (sub[i] > 0))){
upOrDown = 1 - upOrDown;
sequ[upOrDown].number++;
sequ[upOrDown].length++;
}else{
sequ[upOrDown].length++;
}
}else if(sub[i-1] * sub[i] > 0){
sequ[upOrDown].length++;
}else if(sub[i-1] * sub[i] < 0){
sequ[upOrDown].length += zeroLength;
zeroLength = 0;
upOrDown = 1 - upOrDown;
sequ[upOrDown].length++;
sequ[upOrDown].number++;
}
if(i == length-2){
sequ[upOrDown].length += zeroLength;
zeroLength = 0;
}
}
}
if(flag == 0){
printf("0.000000 0.000000\n");
}else if(sequ[0].number == 0){
printf("0.000000 %.6lf\n", (double)sequ[1].length/sequ[1].number);
}else if(sequ[1].number == 0){
printf("%.6lf 0.000000\n", (double)sequ[0].length/sequ[0].number);
}else{
printf("%.6lf %.6lf\n", (double)sequ[0].length/sequ[0].number, (double)sequ[1].length/sequ[1].number);
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -