给下面发的代码增加注释并优化#include<stdio.h> #include<string.h> int main() { char d1[7] , d2[7] , L[20] , str[20] , sign[10] ; int i , j , k , n , num[7] , length ; scanf("%d",&n) ; for(i=0;i<=14;i++){ str[i]='0' ; } for(i=0;i<n;i++){ scanf("%s",str) ; length=strlen(str) ; if(length==3){ d1[i]=str[0] ; num[i]=str[2]-48 ; L[num[i]]=str[0] ; }else{ d1[i]=str[0] ; sign[i]=str[3] ; d2[i]=str[2] ; num[i]=str[4]-48 ; } } for(k=1;k<=n;k++){ for(j=1;j<=2n;j++){ for(int i=0;i<=n;i++){ if(d1[i]==L[j]){ if(sign[i]=='-') L[j+num[i]]=d2[i]; if(sign[i]=='+') L[j-num[i]]=d2[i]; } if(d2[i]==L[j]){ if(sign[i]=='-') L[j-num[i]]=d1[i]; if(sign[i]=='+') L[j+num[i]]=d1[i]; } } } } for(i = 1; i <=n2; i++) if(L[i]=='A'||L[i]=='B'||L[i]=='C'||L[i]=='D'||L[i]=='E'||L[i]=='F'||L[i]=='G') printf("%c",L[i]); return 0 ; }
时间: 2023-10-17 08:05:17 浏览: 43
下面是增加注释和优化过的代码:
#include<stdio.h>
#include<string.h>
int main() {
char d1[7], d2[7], L[20], str[20], sign[10]; // 声明变量
int i, j, k, n, num[7], length; // 声明变量
scanf("%d", &n); // 输入n
memset(str, '0', sizeof(str)); // 将str数组全部赋值为'0'
for(i = 0; i < n; i++) { // 循环n次
scanf("%s", str); // 输入字符串
length = strlen(str); // 计算字符串长度
if(length == 3) { // 如果字符串长度为3
d1[i] = str[0]; // 将第一个字符赋值给d1数组
num[i] = str[2] - 48; // 将最后一个字符转换成数字并赋值给num数组
L[num[i]] = str[0]; // 将第一个字符赋值给L数组相应位置
} else { // 如果字符串长度不为3
d1[i] = str[0]; // 将第一个字符赋值给d1数组
sign[i] = str[3]; // 将第四个字符赋值给sign数组
d2[i] = str[2]; // 将第三个字符赋值给d2数组
num[i] = str[4] - 48; // 将最后一个字符转换成数字并赋值给num数组
}
}
for(k = 1; k <= n; k++) { // 外层循环n次
for(j = 1; j <= 2 * n; j++) { // 内层循环2n次
for(i = 0; i < n; i++) { // 内层循环n次
if(d1[i] == L[j]) { // 如果d1[i]等于L[j]
if(sign[i] == '-') { // 如果sign[i]为'-'
L[j + num[i]] = d2[i]; // 将d2[i]赋值给L[j + num[i]]
}
if(sign[i] == '+') { // 如果sign[i]为'+'
L[j - num[i]] = d2[i]; // 将d2[i]赋值给L[j - num[i]]
}
}
if(d2[i] == L[j]) { // 如果d2[i]等于L[j]
if(sign[i] == '-') { // 如果sign[i]为'-'
L[j - num[i]] = d1[i]; // 将d1[i]赋值给L[j - num[i]]
}
if(sign[i] == '+') { // 如果sign[i]为'+'
L[j + num[i]] = d1[i]; // 将d1[i]赋值给L[j + num[i]]
}
}
}
}
}
for(i = 1; i <= 2 * n; i++) { // 循环2n次
if(L[i] == 'A' || L[i] == 'B' || L[i] == 'C' || L[i] == 'D' || L[i] == 'E' || L[i] == 'F' || L[i] == 'G') { // 如果L[i]是A、B、C、D、E、F或G
printf("%c", L[i]); // 输出L[i]
}
}
return 0;
}
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)