PTA-基础编程题目集-7-13 日K蜡烛图

题目来源:https://pintia.cn/problem-sets/14/problems/793

 

 

 

 找了很久为什么错误,直到我发现了:

 

 中途我有看到自己写错了,但是在打着另外一个单词,打完之后我就忘记了忘记了,一直没想起来没想起来····

 

 

 1 #include<stdio.h>
 2 int main(){
 3     float Open,High,Low,Close;
 4     scanf("%f %f %f %f",&Open,&High,&Low,&Close);
 5     if(Close<Open){
 6         printf("BW-Solid");
 7     }else if(Close>Open){
 8         printf("R-Hollow");
 9     }else{
10         printf("R-Cross");
11     }
12     
13     if(Low<Open&&Low<Close&&High>Open&&High>Close){
14         printf(" with Lower Shadow and Upper Shadow");
15     }else if(Low<Open&&Low<Close){
16         printf(" with Lower Shadow");
17     }else if(High>Open&&High>Close){
18         printf(" with Upper Shadow");
19     }
20     return 0;
21 }

 

过程遇到的问题:

1、如果会输出后半句话,那么前半句话和后半句话之间的空格要放在with前面,不能放在Solid、Hollow、Cross的后面,否则不输出后半句话的时候答案就是错的。

2、一开始先写的 if(Low<Open&&Low<Close) 和 else if(High>Open&&High>Close) ,但是这样会发现进入了这两个 if 的话就不会进入后面的 else if(Low<Open&&Low<Close&&High>Open&&High>Close),应该先满足范围小的 if ,小范围不满足再去满足大一点的范围。

3、原来if···else if···else if···语句结束的最后一个不一定要以 else 来结束也可以以 else if 来结束。

posted @ 2021-03-25 14:16  Listendown  阅读(189)  评论(0)    收藏  举报