• 2019春第五周作业


    要求回答
    这个作业属于哪个课程

    C语言程序设计

    这个作业的要求在哪儿 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass3-2018/homework/2827
    在这个课程的目标 巩固字符串的运用
    这个作业在哪些方面帮助我 重新复习运用了字符串
    参考文献 C语言程序设计
    7-1 英文单词排序 (25 分)
     

    本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。

    输入格式:

    输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。

    输出格式:

    输出为排序后的结果,每个单词后面都额外输出一个空格。

    输入样例:

    blue
    red
    yellow
    green
    purple
    #
    

    输出样例:

    red blue green yellow purple 

    老师要求

    1)通过以自己名字命名的文件输入英文单词
    2)英文单词输入的结束标记为你学号最后一位数+37所对应的ASCII字符。(例如:你的学号最后一位为9,则结束标记为9+37=46所对应的ASCII字符“.”
    3)在不删除原有内容的情况下,将排序后的单词输出到文件。

    1.实验代码

    #include<stdio.h>
    #include<string.h>
    int main(void)
    {
    int n,i,j,min,k,temp,a[20];
    char str[20][10],t[10];    /*前面的字符串表示输入的英文单词总数,后面的表示英文单词长度*/
    i=0; 
    for(i=0;i<20;i++){    /*i:单词个数*/
    scanf("%s",str[i]);
    a[i]=strlen(str[i]);
    if(str[i][0]=='#'){
    break;
    }
    }
    for(k=0;k<i;k++){   /*比较次数*/
    min=k; 
    for(j=k+1;j<i;j++){   
    if(a[j]<a[min]){
    min=j;
    }
    }
    temp=a[min];
    a[min]=a[k];
    a[k]=temp;
    strcpy(t,str[min]);   /*strcpy:字符串复制函数*/
    strcpy(str[min],str[k]);
    strcpy(str[k],t);
    }
    for(n=0;n<i;n++){
    printf("%s ",str[n]);
    }

    return 0;
    }

    2.文本文档

    #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:\zs.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;

    }

    3.运行截图

     4.流程图

     预习题目

    总结
    本周要求我们对字符串的掌握以及对上周的数组的运用,要学习了字符串、单词排序,指针变量

  • 相关阅读:
    正则表达式
    Event flow(事件流)
    Regular Expression(验证账号密码邮箱身份证)
    constructor&object 的联系与区别
    BMAP
    for each in 与for in与for of
    History of program
    脑图(作业)
    对DOM的认识
    BOM的认识
  • 原文地址:https://www.cnblogs.com/xlshoho/p/10624715.html
Copyright © 2020-2023  润新知