首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

哪位高手能帮小弟我看看这程序哪错了data.in 里为QWrrTerrt,将前四位的大写转为小写,其余不变,输出qwrrTerrt

2013-04-20 
谁能帮我看看这程序哪错了data.in 里为QWrrTerrt,将前四位的大写转为小写,其余不变,输出qwrrTerrt#include

谁能帮我看看这程序哪错了data.in 里为QWrrTerrt,将前四位的大写转为小写,其余不变,输出qwrrTerrt
#include<stdio.h>
#include<string.h>
#define N       100
int main()
{
        int     i;
        int     t;
        char    a[N], ch;

        FILE    *fp;
        fp      =fopen("data.in", "r");

        if(fp == NULL)
        {
                fprintf(stderr,"CAN'T OPEN FILE!\n");
                return -1;
        }
        ch = 1;
        for(i = 0; (ch= fgetc(fp)) != EOF; i ++){
                printf("%c",ch);
                ch = a[i];
        }
        for (i = 0; i <= 3; i++){
                        if(ch >= 'A'||ch <= 'Z'){
                                ch += 32;
                        }
                        printf("%c",ch);
                        if(feof(fp))
                                break;
        }
        printf("\n");
        fclose(fp);
        return 0;
}


[解决办法]


int     i;
int     t;
char    a[N]={0}, ch;

FILE    *fp;
fp      =fopen("d:\\data.in", "r");

if(fp == NULL)
{
fprintf(stderr,"CAN'T OPEN FILE!\n");

return -1;
}
ch = 1;
for(i = 0; (ch= fgetc(fp)) != EOF; i ++)
{
printf("%c",ch);
a[i] = ch;  // 一个个保存在a数组中
}

printf("\n");
for (i = 0; i <= strlen(a); i++)  // for语句遍历整个词


{// 下面的判断是 && ,而不是
[解决办法]

if( a[i] >= 'A'&& a[i] <= 'Z' && i < 3 ) 
{// 变换前4个需要变换的字母
a[i] += 32;
}
printf("%c",a[i]);

}


printf("\n");

热点排行