c语言输入一个单词语句每回车一次单词语句首字母大写
时间: 2023-08-22 11:10:04 浏览: 144
好的,您想让我回答这个问题,那么我先给您提供一段 C 语言代码,可以实现您的需求:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int c = getchar(); // 读入第一个字符
int first_char = 1; // 标记是否是单词的首字母
while (c != EOF) {
if (first_char) {
putchar(toupper(c)); // 如果是单词的首字母,转换成大写并输出
first_char = 0; // 取消首字母标记
} else {
putchar(c); // 如果不是单词的首字母,直接输出
}
if (c == '\n') {
first_char = 1; // 如果读入换行符,重新标记为单词的首字母
}
c = getchar(); // 读入下一个字符
}
return 0;
}
```
这段代码会不断读入字符,如果遇到单词的首字母,就将它转换成大写并输出;否则直接输出。如果读入了换行符,就重新标记下一个字符为单词的首字母。您可以将这段代码保存成一个 .c 文件,使用 gcc 编译后再运行即可。
相关问题
从键盘输入一个包含多个单词的字符 串,将每个单词从字符串中分离出来保存,并且单词首字母大写。用简单c语言完成
可以使用C语言的字符串操作函数和循环语句来实现这个功能。下面是一个简单的示例代码:
```
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[100];
printf("请输入一个包含多个单词的字符串:");
fgets(str, 100, stdin);
char *token = strtok(str, " ");
while (token != NULL) {
// 首字母大写
token[0] = toupper(token[0]);
printf("%s ", token);
token = strtok(NULL, " ");
}
return 0;
}
```
代码中使用了 `strtok` 函数来分割字符串,并且使用 `toupper` 函数将每个单词的首字母大写。其中,`str` 是保存用户输入字符串的数组,`fgets` 函数用于从标准输入读取用户输入。另外,由于每个单词的长度不确定,因此数组大小需要预留一定的空间,这里我们设置为100。
c语言输入一个字符若是大写字母,转换成小写字母,若是小写字母转换为大写字母
可以使用C语言中的条件语句和ASCII码表来实现这个功能。具体代码如下:
```c
#include <stdio.h>
int main() {
char c;
printf("请输入一个字符:");
scanf("%c", &c);
if (c >= 'A' && c <= 'Z') {
c = c + 32; // 大写字母转换为小写字母
} else if (c >= 'a' && c <= 'z') {
c = c - 32; // 小写字母转换为大写字母
}
printf("转换后的字符为:%c\n", c);
return 0;
}
```
当输入一个大写字母时,程序会将其转换为小写字母;当输入一个小写字母时,程序会将其转换为大写字母。
阅读全文