我創建了這個程式,從用戶那里讀取兩個陣列(L1和L2),如果L2是L1的子陣列,則列印L1-L2。例如,如果L1={'a', '2', 'c', 'd', 'e'}和L2={'2', 'c', 'd'},則 它應該列印{'a', 'e'}。但我在輸出中遇到了一些問題。我只在某些值上得到了正確的輸出,但在大多數情況下,我得到的是L2不是L1的子陣列。
#include<stdlib.h>
#include<stdio.h>/span>
int main() {
int n1, n2, j = 0, i = 0, temp = 0, a = 0;
//ARRAY INPUT
printf("Enter number of characters in L1: ") 。
scanf("%d", &n1);
int l1[n1];
for (int i = 0; i < n1; i ) {
printf("輸入字符 %d: ", i 1)。)
scanf(" %c", &l1[i]) 。
}
printf("輸入L2的字符數:")。
scanf("%d"/span>, &n2)。
int l2[n2];
for (int i = 0; i < n2; i ) {
printf("輸入字符 %d: ",i 1)。)
scanf(" %c", &l2[i]) 。
}
/FOR L1 > L2
while (i < n1) {
if(l1[i] == l2[j]) {
i ;
j ;
if (j == n2) {
a = 1;
break;
}
}
else {
i = temp 1;
temp = i;
j = 0;
}
}
if (a == 0) {
printf("l2 is not a sub array of l1")。
}
else if (a == 1) {
printf("{"/span>)。
for (int i = 0; i < n1; i ) {
if (i >= temp && i <(temp n2))
繼續。
printf("%c"/span>, l1[i])。
}
printf("}") 。
}
exit(0)。
}```
uj5u.com熱心網友回復:
你的'Arrays'應該是一個char陣列,而不是一個int。
char l1[n1]。
char l2[n2];
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/322449.html
標籤:
