讨厌的大写字母

时间: 1ms        内存:128M

描述:

小刘同学对于英语颇为热爱。但是有一点他很不喜欢——看到大写英文字母就咬牙切齿
聪明的你帮帮他吧 。
文本文件score.dic 中存储了n名学生的信息(班级编号,姓名,成绩),每个学生信息占一行,每行的数据之间使用制表符分割,如下所示:
  145811    fUXIN    100 
  145811    ChENGxian    90  
  145812    ZHangXUe    92 
  145812    liJun    88  ……  将文本文件score.dic中所有英文字母改成小写,其它字符保持不变,将结果输出。
部分代码已给出。请按要求补全。
#include <stdio.h> 
 #include <stdlib.h> 
 #include <ctype.h> 
 int main() 
{     
      char curch,lastch;  /* 当前读入字符,上一次读入字符*/    
       FILE *fin;          /* 输入文件 */    
       fin=fopen(“score.dic”,”r”);     /* 打开输入文件读 */   
       if(!fin)     /* 文件打开失败 */   
       {         
               fprintf(stderr,”error open file!\n”);       /* 输出错误信息到标准错误设备 */        
               exit(-1);       /* 强制退出,并返回错误码 */    
       } 
     /*******************/       
        /* 遍历输入文件的每一个字符 */     
        /* 当前字符是字母*/    
       /* 转换为大写,并输出*/     
       /* 其它字符保持不变*/         
       /* 关闭输入文件*/ 
   /*******************/       
  return 0; 

输入:

n名学生的信息(班级编号,姓名,成绩)(文件读入)

输出:

经过变换后的学生信息

示例输入:

示例输出:

145811  fuxin  100 
145811  chengxian  90  
145812  zhangxue  92 
145812  lijun  88 

提示:

参考答案(内存最优[0]):

#include <stdio.h> 
#include <stdlib.h> 
#include <ctype.h> 
int main() 
{     
      char curch,lastch;    
       FILE *fin;           
       fin=fopen("score.dic","r");    
       if(!fin) 
       {         
               fprintf(stderr,"error open file!\n");
               exit(-1);          
       }
while(fscanf(fin,"%c",&curch)!=EOF)
{
    if(curch>='A'&&curch<='Z')
        curch=curch+32;
    lastch=curch;
    printf("%c",lastch);
}
return 0;
}

参考答案(时间最优[0]):

#include <stdio.h> 
#include <stdlib.h> 
#include <ctype.h> 
int main() 
{     
      char curch,lastch;    
       FILE *fin;           
       fin=fopen("score.dic","r");    
       if(!fin) 
       {         
               fprintf(stderr,"error open file!\n");
               exit(-1);          
       }
while(fscanf(fin,"%c",&curch)!=EOF)
{
    if(curch>='A'&&curch<='Z')
        curch=curch+32;
    lastch=curch;
    printf("%c",lastch);
}
return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。