c言語で、(2)と(3)のプログラミング方法が分かりません。どなたか、分かる方がいらっしゃったら、教えていただけると嬉しいです。

画像

ベストアンサー

1

1人がナイス!しています

(3) の for 文は次のように書いた方がよかったですね。縦に短くしようとして変な風に書いてしまった。 -- for(int i; str[i] != '\0'; i++) {     if(isupper(str[i])) {         str[i] = '+';     } else if(islower(str[i])) {         str[i] = '-';     } else if(isdigit(str[i])) {         str[i] = '0';     } else if(ispunct(str[i])) {         str[i] = ':';     } }

ThanksImg質問者からのお礼コメント

ありがとうございます!

お礼日時:7/2 10:56

その他の回答(1件)

0

(1150991802さん) 例(2) #include <stdio.h> #include <ctype.h> int main(void) { char name[] = "kazuhiro kondo"; char *p=name; int f=0; *p=toupper(*p); while(*p){ if(f!=0)*p=toupper(*p); if(*p==' ')f=1; p++; } printf("name: %s\n",name); return 0; } 例(3) #include <stdio.h> #include <ctype.h> int main(void) { char str[128]; char *p=str; char c; printf("Enter a string: "); scanf("%s",str); while(*p){ if(islower(*p))c='-'; else if(isupper(*p))c='+'; else if(isdigit(*p))c='0'; else if(ispunct(*p))c=':'; else c =*p; putchar(c); p++; } putchar('\n'); return 0; }