欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

习题10.11 从键盘输入若干行字符(每行长度不等),输入后把它们存储到一磁盘文件中。再从该文件中读入这些数据,将其中小写字母转换成大写字母后在显示屏上输出

程序员文章站 2022-05-28 20:18:09
...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
	FILE *fp;
	char str[5][20];
	char filename[10];
	int i,j;

	//从键盘输入5行长度不等的字符串
	printf("请依次输入5行字符串:\n");
	for(i=0;i<5;i++)
	{
		printf("No.%d:",i+1);
		gets(str[i]);
	}

	//创建磁盘文件并将数据写入文件
	printf("\n请输入存储的文件名:");
	scanf("%s",filename);
	putchar(10);

	if((fp=fopen(filename,"w"))==NULL)
	{
		printf("文件打开失败!");
		exit (0);
	}

	for(i=0;i<5;i++)
	{
		fprintf(fp,"%s",str[i]);
		if(i!=4) fputs("\n",fp);
	}
	fclose(fp);

	//再次打开磁盘文件并将文件数据反读至str字符串数组
	if((fp=fopen(filename,"r"))==NULL)
	{
		printf("文件打开失败!");
		exit (0);
	}
	for(i=0;i<5;i++)
	{
		fscanf(fp,"%s",&str[i]);
	}
	fclose(fp);

	//对数组中所有小写字母转换为大写字母
	for(i=0;i<5;i++)
	{
		for(j=0;str[i][j]!='\0';j++)
		{
			if(str[i][j]>='a' && str[i][j]<='z')
			{
				str[i][j]=str[i][j]-32;
			}
		}
	}

	//输出转换后的字符串
	for(i=0;i<5;i++)
		printf("No.%d-->%s\n",i+1,str[i]);
	
	return 0;
}

习题10.11 从键盘输入若干行字符(每行长度不等),输入后把它们存储到一磁盘文件中。再从该文件中读入这些数据,将其中小写字母转换成大写字母后在显示屏上输出

上一篇: Android

下一篇: sublime匹配汉字