题目:编写一个程序,从键盘输入一个字符串,将其中的小写字母转换为大写字母,并将结果保存到磁盘文件 "test" 中。输入的字符串以字符 '!' 结束。

程序分析:在这个程序中,我们首先声明一个指向 FILE 的指针 fp 和一个字符数组 str,用于存储用户输入的字符串。

然后,我们使用 gets() 函数从用户输入获取字符串。接下来,我们计算字符串的长度,并使用循环逐个检查字符串中的字符。

如果字符是小写字母,则将其转换为大写字母。我们使用 ASCII 码表将小写字母转换为大写字母。具体做法是将小写字母的 ASCII 码值减去 32,即可得到对应的大写字母的 ASCII 码值。

然后,我们尝试打开名为 "test" 的文件,如果打开失败则输出错误信息并退出程序。如果文件打开成功,则使用 fprintf() 函数将转换后的字符串写入文件中。

最后,我们关闭文件,并使用 system("pause") 函数使程序暂停,以便用户查看输出结果。

实例

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
    FILE *fp = NULL;
    char str[50];
    int i, len;

    printf("输入一个字符串:\n");
    gets(str);

    len = strlen(str);

    for (i = 0; i < len; i++)
    {
        if (str[i] >= 'a' && str[i] <= 'z')
        {
            str[i] -= 32;
        }
    }

    if ((fp = fopen("test", "w")) == NULL)
    {
        printf("error: cannot open file!\n");
        exit(0);
    }

    fprintf(fp, "%s", str);

    fclose(fp);

    system("pause");

    return 0;
}

在这个程序中,我们首先声明了一个指向 FILE 的指针 fp 和一个字符数组 str。然后,我们使用 gets() 函数从用户输入获取字符串。

接下来,我们计算字符串的长度,并使用循环逐个检查字符串中的字符。如果字符是小写字母,则将其转换为大写字母。

在循环中,我们使用 ASCII 码表将小写字母转换为大写字母。具体做法是将小写字母的 ASCII 码值减去 32,即可得到对应的大写字母的 ASCII 码值。

然后,我们尝试打开名为 "test" 的文件。如果文件打开失败,则输出错误信息并退出程序。

如果文件打开成功,则使用 fprintf() 函数将转换后的字符串写入文件中。

最后,我们关闭文件,并使用 system("pause") 函数使程序暂停,以便用户查看输出结果。

运行程序,输入一个字符串,例如:

输入一个字符串:
www.javatiku.cn

程序将把字符串中的小写字母转换为大写字母,并将结果保存到文件 "test" 中。你可以打开该文件查看结果。

标签: c语言, c语言教程, c语言技术, c语言学习, c语言学习教程, c语言下载, c语言开发, c语言入门教程, c语言进阶教程, c语言高级教程, c语言面试题, c语言笔试题, c语言编程思想, c语言练习, c语言练习题