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;
    }
    

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

    学习感悟:主要学习了字符串、单词排序、对于选择排序法冒泡排序法的复习、指针变量的学习、strcpy函数以及gets函数。
    难点:单词排序编写时的困难以及矩阵的输出。
    解决方法:主要是上网查寻以及老师的讲解等等。

  • 相关阅读:
    为Internal页面添加一个Unit Test的运行入口
    使用 AWSTATS 来查看IIS/iisnode 日志
    用issnode+IIS来托管NodeJs Server之四:支持Debug
    Restify实践
    Mocha实践
    Graphite实战
    StatsD与Graphite联合作战
    单元测试
    NHibernate配置
    NHibernate概念
  • 原文地址:https://www.cnblogs.com/swaggy89/p/10621968.html
Copyright © 2011-2022 走看看