zoukankan      html  css  js  c++  java
  • 2019年春季学期第二周作业 基础作业+附加作业

    基础作业

    请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。

    输入格式:

    请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。

    输出格式:

    在不删除原有文件内

    容的情况下,将最大值和对应的最小下标数值写入文件。

    程序

    #include<stdio.h>
    #include <stdlib.h>
    main()
    {
    	FILE *fp,*FP;
    	char filename[30],str[30];
    	int a[10],i,t,b;
    	scanf("%s",filename);
    	if((fp=fopen(filename,"w"))==NULL)
    	{
    		printf("cannot openfile");
    		exit(0);
    	}
    //建立文件以及判断是否文件存在
    	getchar();
    	gets(str);
    	fputs(str,fp);
    	fclose(fp);
    	//将数据输入文件
    	FP=fopen(filename,"r+");
    	for(i=0;i<10;i++)
    	{
    		fscanf(FP,"%d,",&a[i]);
    	}
    	//将文件中数据输出
    	t=a[0];
    	for(i=0;i<10;i++)
    		if(t<a[i])
    			{
    				t=a[i];
    				b=i;
    			}
    //进行数据计算判断大小
    	fprintf(FP,"%d,%d",t,b);
    	//将数据输入文件
    	fclose(FP);
    //关闭文件
    }
    

    设计思路

    一,建立文件
    二,将数据输入文件
    三,将文件中数据输出
    四,将数据进行运算判断大小
    五,将数据输入文件

    3)本题调试过程碰到问题及解决办法

    问题:对建立一个新文件不会
    解决:文件可以直接用fopen(“文件名,"w")或者char filename[30];fopen(“文件名,"w")

    4).运行结果截图

    5).本题用时30分钟 自学能力较弱对特定函数意义未知比如说grtchar()是输入一个字符但在文件中含义不知,在找但没有找到,继续寻找中……

    附加作业——不知对错

    给定一个整数数组(包含正负数),找到一个具有最大和的子数组,返回其最大的子数组的和。
    具体要求参看邹欣老师博客 现代程序设计作业2

    程序

    #include<stdio.h>
    int main()
    {
    	int Array[1000],n,i,a,b=0,max;
    	scanf("%d",&n);
    	for(i=0;i<n;i++)
    	{
    		scanf("%d",&Array[i]);
    	 } 
    	 	max=Array[0];
    	for(i=0;i<n;i++)
    	{
    		a=i;
    		b=0;
    		for(a;a<n;a++)
    		{
    			b=b+Array[a];
    			if(max<b)
    			{
    				max=b;
    			}	
    		}
    	}
    	printf("%d",max);
    }
    

    设计思路

    一,建立数组
    二,将数组中数据进行运算使用两个循环进行大小比较
    三,将文件中数据输出

    3)本题调试过程碰到问题及解决办法

    问题:写程序难度较小(如果我对了的话),读题困难,一直不理解子数组,以及是求几维数组,一维感觉难度不大,二维没思路

    4).运行结果截图

    5).本题用时3小时30分钟,30用与写与调试,3小时阅读思考

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    3/2-3/8 3天 300 指针、文件、数组 getchar()不知道
  • 相关阅读:
    JAVA面试题
    Oracle入门笔记 ——启动进阶
    SQL 基础
    BZOJ 1507 Editor(块状链表)
    BZOJ 1018 堵塞的交通traffic(线段树)
    SPOJ 422 Transposing is Even More Fun(polay计数)
    BZOJ 2754 喵星球上的点名(后缀数组)
    POJ 1568 Find the Winning Move(极大极小搜索)
    Miller-Rabin素数测试学习小计
    Lucas定理学习小记
  • 原文地址:https://www.cnblogs.com/5236288kai/p/10488388.html
Copyright © 2011-2022 走看看