اگر مستقیم ببرید تحویل بدید من راضی نیستم .اینو نوشتم که تمرین کنید یه چیزی خودتون یاد بگیرید.
int isLower(char value) {
return (value >= 'a' && value <= 'z');
}
void reverseStr(char* str, int start, int end) {
int len = end - start;
int half = len / 2;
for (int i = 0; i <= half; i++) {
char temp = str[start + i];
str[start+i] = str[start+len - i -1];
str[start + len-i -1] = temp;
}
}
int main()
{
char str[15] = "hello Dear carmelo";
if (str == NULL)
return 0;
int pos = 0;
int word = 1;
if (str[pos] == ' ') word = 0;
int start = -1;
if (word)
start = 0;
pos++;
while (str[pos] != NULL) {
int cur_word = 1;
if (str[pos] == ' ') cur_word = 0;
if (word != cur_word) {
if (word == 1) {
int is_lower = isLower(str[start]);
if (is_lower)
reverseStr(str, start, pos);
}
else start = pos;
word = cur_word;
}
pos++;
}
if (word == 1) {
int is_lower = isLower(str[start]);
if (is_lower)
reverseStr(str, start, pos);
}
printf("%s\n", str);
return 0;
}