#include<stdio.h>
#include<string.h>
int main(){
char str[301];
scanf("%s", &str);
for(int i = 0; i < strlen(str); i++){
//遇到 "+"
if(str[i] == '+'){
continue;
}
//遇到 "-"
else if(str[i] == '-'){
int temp = i + 1;
for(int i = temp; i < strlen(str); i++){
//遇到第二個"-"
if(str[temp] == '-'){
for(int j = temp - 1; j > temp; j--){
printf("%c", str[j]);
}
}
}
}
//字串尾端(不含"+"和"-")
else if(str[i] != '+' && str[i] != '-'){
printf("%c", str[i]);
}
}
}
我目前只有對45%而已,不知道問題出在哪裡,請問大家我能從哪裡修改程式碼?
現在我的程式碼改寫成這樣,但還是只對45%,請問我中間一段要做"反轉輸出"的程式碼寫法能如何修改?
#include<stdio.h>
#include<string.h>
int main(){
char str[301];
scanf("%s", &str);
for(int i = 0; i < strlen(str); i++){
//遇到 "+"
if(str[i] == '+'){
continue;
}
//遇到第一個 "-"
else if(str[i] == '-'){
int temp_1 = i + 1;
for(int i = temp_1; i < strlen(str); i++){
//遇到第二個"-"
if(str[i] == '-'){
int temp_2 = i - 1;
for(int j = temp_2; j > i; j--){
printf("%c", str[j]);
}
}
}
}
//字串尾端(不含"+"和"-")
else if(str[i] != '+' && str[i] != '-'){
printf("%c", str[i]);
}
}
}
現在我的程式碼改寫成這樣,但還是只對45%,請問我中間一段要做"反轉輸出"的程式碼寫法能如何修改?
#include
#include
int main(){
char str[301];
scanf("%s", &str);
for(int i = 0; i < strlen(str); i++){
//遇到 "+"
if(str[i] == '+'){
continue;
}
//遇到第一個 "-"
else if(str[i] == '-'){
int temp_1 = i + 1;
for(int i = temp_1; i < strlen(str); i++){
//遇到第二個"-"
if(str[i] == '-'){
int temp_2 = i - 1;
for(int j = temp_2; j > i; j--){
printf("%c", str[j]);
}
}
}
}
//字串尾端(不含"+"和"-")
else if(str[i] != '+' && str[i] != '-'){
printf("%c", str[i]);
}
}
}
考慮一下---跟-+-的情況