第十八周项目实践3.1(4)编程处理c代码

/******************************************************
Copyright (c) 2016,烟台大学计算机学院
All rights reserved.
作者:张明明
完成日期:2016年12月31日
版本号:v1.0
功能描述:(4)读入一个C程序,输入m、n两个数字,从第m行
起的n行代码将作为注释使用(即在这些行前面加上”//”),新
程序保存到另一个.c文件中。
输入参数:*fp-读入c程序
           *new-写入更改后的程序
           m-从m行开始前面加上”//“
           n-从n行结束前面加上”//“
返回参数:无
其他说明:无
*******************************************************/
#include <stdio.h>
#include <stdlib.h>
    void judge(char* file);
    int main()
    {
        char file[1000],new[100][100];
        int i,k=0,m,n;
        FILE* fp;
        FILE* fnew;
        fp=fopen("m.c","r");
        if(fp==NULL)
            printf("不能打开文件\n");
        else
        {
            printf("打开文件成功\n");
            fnew=fopen("new.c","w");
            if(fnew==NULL)
                printf("第二个未文件打开成功\n");
            else
            {
                printf("第二个成功打开\n");
                scanf("%d %d",&m, &n);
                while(fgets(file,999,fp)!=NULL)
                {
                    k++;
                    if(k>=m&&k<=n)
                        fputs("//",fnew);
                    fputs(file,fnew);
                }
            }
        }
        fclose(fp);  
        fclose(fnew);  
        return 0;
    }

以下为修改后的程序保存
#include <stdio.h>
//#include <stdlib.h>
//void judge(char* file);
//int main()
//{
//    char file[1000];
//    int i;
    FILE* fp;
    fp=fopen("m.c","r");
    if(fp==NULL)
        printf("不能打开文件\n");
    else
    {
        printf("打开文件成功\n");
        for(i=0; fscanf(fp,"%c",&file[i])!=EOF; i++);
        judge(file);
    }
    return 0;
}
void judge(char* file)
{
   int j=0, i=0;
    char new[1000];
    while(file[i]!='\0')
    {
     if(file[i]=='{')
     {
        while(file[i]!='}')

    }
    printf("有if语句%d句\n",f);
    printf("有while语句%d句\n",e);
    printf("有for语句%d句",r);
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值