#25863: C language 簡易寫法


22207807 (會打Code的貓)

學校 : 逢甲大學
編號 : 156777
來源 : [140.134.241.201]
最後登入時間 :
2023-03-14 12:33:09
a224. 明明愛明明 | From: [42.73.232.209] | 發表日期 : 2021-06-28 15:55

 #include<stdio.h>

#include<string.h>

#include<math.h>

int main () {

char s[1000],s1[1000];

int p[1000] = {0};

int a,judge = 0;;

while(scanf("%s",s) != EOF) {

a = 0;

for(int i = 0; i < 1000; i++) {

p[i] = 0;

}

for(int i = 0 ;i < strlen(s); i++) {

s1[i] = s[i];

}

for(int i = 0 ;i < strlen(s); i++) {

for(int j = 0; j < strlen(s); j++) {

if((s[i] == s1[j] ||abs(s[i] - s1[j]) == 32) && (s[i] >= 65 && s[i] <= 90 || s[i] >= 97 && s[i] <= 122)) {

p[i]++;

a++;

s1[j] = '1';

}

}

}

judge = 0;

if(strlen(s) % 2 == 0) {

for(int i = 0; i < a; i++) {

if(p[i] % 2 != 0) {

judge++;

}

}

if(judge >= 1) {

printf("no...\n");

} else {

printf("yes !\n");

}

}

if(strlen(s) % 2 == 1) {

for(int i = 0; i < a; i++) {

if(p[i] % 2 != 0) {

judge++;

}

}

if(judge > 1) {

printf("no...\n");

} else {

printf("yes !\n");

}

}

}

return 0;

}

每一次先把p[1000]都設0

s[]的字串複製到s1[]

最重要的就是判斷的部分 可以參考ascii碼+-32 那就直接利用abs出來要等於32

分成字串基偶數,基數的話只要所有值(a=3,b=2,c=3之類的)有2個以上是基數就是no

偶數部分也是相同道理

 
ZeroJudge Forum