c语言编写程序,从键盘输入一段小写的句子:i am a student.(每个单词间以一个空格间隔),要求将每个单词中的第一个字母改成大写字母,把变换后的句子输出到文件test11中。 【输入示例】 i am a student. 【输出示例】 文件test11中应为:I Am A Student.
时间: 2024-03-02 17:53:06 浏览: 30
好的,这是您的问题:下面是实现您的需求的C语言代码示例:
```c
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
char str[100];
FILE *fp;
int len,i;
fgets(str,100,stdin);
len=strlen(str);
for(i=0;i<len;i++)
{
if(i==0 || str[i-1]==' ')
{
str[i]=toupper(str[i]);
}
}
fp=fopen("test11","w");
fputs(str,fp);
fclose(fp);
return 0;
}
```
在上述代码中,我们使用了`fgets()`函数从标准输入(键盘)中读取输入的句子,并用`strlen()`函数获取句子的长度。接着,我们使用`for`循环遍历句子中的每个字符,如果当前字符是单词的首字母,则将其转换为大写字母。最后,我们使用`fputs()`函数将变换后的句子写入名为`test11`的文件中。
希望这个代码示例能够帮助您解决问题。
相关问题
用C语言实现将字符串中的每个单词首字符大写,其余字符都小写 输入:i aM A Chinese. i lOVe mY HomeLand. 输出:I Am A Chinese. I Love My Homeland.
以下是用 C 语言实现该功能的代码:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void capitalize(char *str) {
int i;
int len = strlen(str);
int first_char = 1;
for (i = 0; i < len; i++) {
if (isspace(str[i])) {
first_char = 1;
} else if (first_char) {
str[i] = toupper(str[i]);
first_char = 0;
} else {
str[i] = tolower(str[i]);
}
}
}
int main() {
char str[] = "i aM A Chinese. i lOVe mY HomeLand.";
capitalize(str);
printf("%s\n", str);
return 0;
}
```
运行结果为:
```
I Am A Chinese. I Love My Homeland.
```
这个程序首先定义了一个 `capitalize` 函数,它接受一个字符串指针并将其每个单词的首字母大写,其余字符小写。在函数内部,我们使用 `isspace` 函数来检查当前字符是否为空格字符。如果是,我们将 `first_char` 标记设置为 1,以便下一个字符是下一个单词的第一个字符。如果当前字符不是空格字符,并且 `first_char` 标记为 1,那么我们将当前字符转换为大写字母,并将 `first_char` 标记设置为 0,以便下一个字符不是第一个字符。否则,我们将当前字符转换为小写字母。最后,我们在 `main` 函数中调用 `capitalize` 函数,并打印结果。
用c语言编写程序统计单词的数量:输入一个英语句子,此句子可一行或多行输入,单词之间以空格分隔,以.结束,统计这个句子中有多少个单词。 输入格式:输入一行英文,以.为输入结束标志。 输出格式:输出单词的个数。 输入样例1:I am a boy.
以下是用 C 语言编写的程序,可以实现统计单词数量的功能:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[1000];
int word_count = 0;
printf("请输入一个英语句子,以.为结束标志:\n");
fgets(str, 1000, stdin); // 从标准输入中读取字符串
char* token = strtok(str, " "); // 以空格为分隔符获取第一个单词
while (token != NULL) {
word_count++;
token = strtok(NULL, " "); // 继续获取下一个单词
}
printf("单词的个数为:%d\n", word_count);
return 0;
}
```
输入样例:
```
请输入一个英语句子,以.为结束标志:
I am a boy.
```
输出样例:
```
单词的个数为:4
```
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)