zoukankan      html  css  js  c++  java
  • 第五周

    要求 回答
    这个作业属于哪个课程 C语言程序设计
    这个作业的要求在哪儿 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass3-2018/homework/2827
    在这个课程的目标 更好的巩固字符串
    这个作业在哪些方面帮助我 这个题目主要是字符串类型的题目
    参考文献 C语言程序设计

    <英文单词排序>
    1.实验代码
    PTA

    #include <stdio.h>
    #include <string.h>
    int main()
    {
    	char str[20][10],a[20],t[10];/*二维数组前面控制的是输入的行数,后面控制的是单词的字母个数*/
    	int i,j,k,temp,index,n;
    	for(i=0;i<20;i++)/*i:单词个数*/ 
    	{
    		scanf("%s",&str[i]);
    		if(str[i][0]=='#')
    		  break;
    		else
    		  a[i]=strlen(str[i]);
    	}
    	for(k=0;k<i;k++)/*轮数*/ 
    	{
    		index=k;/*index用来存放最小值所在的下标*/
    		for(j=k+1;j<i;j++)/*j:寻找最小值的所在下标,即移动指标*/
    		{
    			if(a[j]<a[index])
    			   index=j;
    		}
    		temp=a[index];
    		a[index]=a[k];
    		a[k]=temp;
    		strcpy(t,str[index]);/*strcpy:字符串复制函数*/
        strcpy(str[index],str[k]);
        strcpy(str[k],t);
    	}
    	for(n=0;n<i;n++){
    		printf("%s ",str[n]);
    	}
    	return 0;
    }
    

    文本文档

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    int main()
    {
    	FILE*fp;
    	char str[20][10],a[20],t[10];
    	int i,j,k,temp,index,n;
    	if((fp=fopen("C:\wtt.txt","a+"))==NULL)
    	{
    		printf("File open error!");
    		exit(0);
    	}
    	for(i=0;i<20;i++) 
    	{
    		fscanf(fp,"%s",&str[i]);
    		scanf("%s",&str[i]);
    		if(str[i][0]=='%')
    		  break;
    		else
    		  a[i]=strlen(str[i]);
    	}
    	for(k=0;k<i;k++)
    	{
    		index=k;
    		for(j=k+1;j<i;j++)
    		{
    			if(a[j]<a[index])
    			   index=j;
    		}
    		temp=a[index];
    		a[index]=a[k];
    		a[k]=temp;
    		strcpy(t,str[index]);
            strcpy(str[index],str[k]);
            strcpy(str[k],t);
    	}
    	for(n=0;n<i;n++){
    		printf("%s ",str[n]);
    	}
    	for(n=0;n<i;n++)
    	{
    		fprintf(fp,"%s ",str[n]);
    	}
    	if(fclose(fp))
    	{
    		printf("Can not close the file!");
    		exit(0);
    	 } 
    	return 0;
    }
    

    2.设计思路

    3.遇到的问题即解决方案
    问题一:在编写是对于strcpy函数不熟,导致编写难度的增大。
    解决方案:上网查询,借鉴大佬代码。
    问题二:对于选择排序法、冒泡排序法的遗忘。
    解决方案:复习以前所写代码。

    4.运行截图



    <统计一行文本的单词个数>
    题目:https://pintia.cn/problem-sets/1107472041692848128/problems/1107472280310996992
    1.实验代码

    #include<stdio.h>
    #include<string.h>
    int main()
    {
      int a,i,count;
      char str[1000];
      gets(str);
      a=strlen(str);
      if(str[0]==' ')
        count=0;
      else
        count=1;
      for(i=0;i<a-1;i++)
      {
        if(str[i]==' '&&str[i+1]!=' ')
          count++;
      }
      printf("%d",count);
      return 0;
    }
    

    3.遇到问题及解决方案
    问题一:在编写时主要是对于gets函数及strlen函数的不熟悉,导致思路不畅。
    解决问题:课堂上听老师的讲解。

    <预习作业>
    1.主要内容
    密码开锁;地址和指针;指针变量;指针基本运算;指针变量的初始化;指针作为函数的参数等等。
    2.



    3.存在的疑惑
    指针的运算及初始化不太明白。

    周/日期 这周所花时间 代码行 学到知识点简介 目前比较疑惑问题
    3/22-3/29 5天 100 单词排序、指针变量初始化以及其基本运算、strcpy函数、gets函数 最大字数组矩阵排序以及指针变量的运算与初始化的具体操作

    累积代码行和博客字数

    时间 博客字数 代码行数
    第一周 200 40
    第二周 250 70
    第三周 300 70
    第四周 350 90
    第五周 400 100


    学习感悟:主要学习了字符串、单词排序、对于选择排序法冒泡排序法的复习、指针变量的学习、strcpy函数以及gets函数的学习。
    难点:单词排序编写时的困难以及挑战题中最大字数和矩阵的输出存在很大问题。
    解决方法:主要是上网查寻以及询问室友以及老师的讲解等等。
    结对编程
    优点:有利于思维逻辑的更好展开;有利于相互借鉴、资源的互用;有利于同伴默契的提高。
    缺点:有时我们一起遇到问题,有点容易放弃。
    心得:思维逻辑不太好,还是需要加强题目的练习。
    挑战作业:思路主要是把二维数组拆成一维数组进行行、列比较,但我不知道要怎样去合成最后的那个矩阵。

  • 相关阅读:
    Distributed
    Archi
    SpringCloud
    Java 多线程
    Java 基础
    Java 基础
    Java 基础
    Java 基础
    python--all与any
    pandas--apply/applymap/map
  • 原文地址:https://www.cnblogs.com/arthur-w/p/10617210.html
Copyright © 2011-2022 走看看