c语言编写程序,从键盘输入一段小写的句子:i am a student.(每个单词间以一个空格间隔),要求将每个单词中的第一个字母改成大写字母,把变换后的句子输出到文件test11中。 【输入示例】 i am a student. 【输出示例】 文件test11中应为:I Am A Student.
时间: 2024-03-02 21:53:06 浏览: 109
好的,这是您的问题:下面是实现您的需求的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`的文件中。
希望这个代码示例能够帮助您解决问题。
相关问题
从键盘输入一行英文文字,不超过80个字符,分别统计出其中英文大写字母、小写字母、数字、空格、及其它字符的个数。 (利用字符数组下标访问数组中每个字符)。 测试说明 平台会对你编写的代码进行测试: 测试输入:Iam a student. My name is Tom. I am 19 years old. **** 预期输出: 大写字符4个 小写字符29个 数字2个 空格13个 其他字符7个用C语言实现
好的,以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[81];
int i, upper = 0, lower = 0, digit = 0, space = 0, other = 0;
printf("请输入一行英文文字:");
fgets(str, 81, stdin); // 从键盘读入一行字符
for (i = 0; str[i] != '\0'; i++) { // 遍历字符串
if (isupper(str[i])) { // 判断是否为大写字母
upper++;
} else if (islower(str[i])) { // 判断是否为小写字母
lower++;
} else if (isdigit(str[i])) { // 判断是否为数字
digit++;
} else if (isspace(str[i])) { // 判断是否为空格
space++;
} else { // 其他字符
other++;
}
}
printf("大写字符%d个\n", upper);
printf("小写字符%d个\n", lower);
printf("数字%d个\n", digit);
printf("空格%d个\n", space);
printf("其他字符%d个\n", other);
return 0;
}
```
这个程序先用 fgets 函数从键盘读入一行字符,然后遍历字符串,统计其中大写字母、小写字母、数字、空格和其他字符的个数。在遍历字符串的过程中,使用了 ctype.h 头文件中的 isupper、islower、isdigit、isspace 函数来判断每个字符的类型。
最后,输出统计结果。
阅读全文