• 第二周作业与总结


    2019年春季学期第二周作业
    基础作业
    请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
    输入:
    请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
    输出
    在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。

    1,试验代码:
    //
    // main.c
    // test.c
    //
    // Created by Hazelnut Chen on 2019/3/9.
    // Copyright © 2019 Hazelnut Chen. All rights reserved.
    //

    include <stdio.h>

    include <stdlib.h>

    int main ()
    {
    FILE * fp; /定义文件指针/
    int m=0,i,max;
    char a [10];
    if ((fp = fopen ("//Users//hazelnutchen//Desktop//HazelnutChen//HazelnutChen.txt","a+") )==NULL) /打开文件/
    {
    printf ("File open error! ");
    exit (0);
    }
    for (i=0;i<6;i++) /文件处理/ /从文件读入数字并保存到变量/
    {
    fscanf (fp,"%s%c",&a [i]); /找到最大值a [m]/
    printf ("%d%c",a [i]);
    }
    printf (" ");
    max=a [0]; /* 如果a [0]是最大值,则下表为0的元素最大/
    for (i=0;i<6;i++)
    {
    if (a [i] > a [m]) /
    如果a [i] > a [m] 还大/
    m=i; /
    假设一下a [i]是新的最大值,即下标为i的元素最大/
    }
    fprintf (fp,"%d %d ",a [m], m); /
    输出最大值和其下标/
    printf ("%d %d ",a [m], m); /
    关闭文件*/
    if (fclose (fp)) {
    printf ("Can not close the file! ");
    exit (0);
    }
    return 0;
    }
    2,流程图:

    3,本次作业遇到的问题:
    1,不管我怎么改代码,换文件路径,换文档中的数字,以及托室友问大佬都没有办法改变代码运行之后得到的结果,一直都是0 0。
    2,在用x-code时,出现fscanf (fp,"%s%c",&a [i]); 、printf ("%d%c",a [i]);这两条代码有问题(More '%' conversions than data arguments)。
    3,在用dev-c++时以上的问题就没有出现了。
    4,解决方案:各种百度,问大佬,问室友都没办法改变最终得到的数值,但第二个问题只需要换编译软件就可以了;我觉得针对第一个问题的解决方案就是我需要换一台windos系统的电脑吧。
    5,编译截图:

  • 相关阅读:
    DataBindings 与 INotifyPropertyChanged 实现自动刷新 WinForm 界面
    EasyInvoice 使用教程
    下载网页通用类
    c#操作excel的一些记录
    sql数据库基础知识整理,常用函数及常用语法
    动态行转列 pivot实现
    EFCodeFirst 数据迁移问题~
    asp.net 翻页时用ViewState保存上一页checkbox勾选的值
    参数化拼接in查询条件,个人备份
    retry
  • 原文地址:https://www.cnblogs.com/chenzg90826/p/10500762.html
Copyright © 2020-2023  润新知