C语言练习题-C语言练习题实例98
 
            
            题目:编写一个程序,从键盘输入一个字符串,将其中的小写字母转换为大写字母,并将结果保存到磁盘文件 "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" 中。你可以打开该文件查看结果。
 
          
          
         