江苏省XY中等专业学校2021-2022-2教案  编号:
备课组别
计算机
上课
日期
教师
教师
课题
专题七(141
教学
目标
掌握整数组合的方法
掌握字符串截取子字符串的技巧
掌握统计字符串的字符个数
重点
掌握字符串截取和统计的技巧
难点
掌握字符串截取和统计的技巧
教法
讲授法、案例教学法、讨论法
教学设备
黑板  计算机  网络机房
教学
环节
教学活动内容及组织过程
个案补充
程序填空  共1题 (共计20分)
第1题 (20.0分)    题号:79    难度:中    第1章
/*--------------------------------------------
题目:已知字符串subStr为str的子串,在母串str中出subStr,在其前面插入一个'@'字符,需保持子串内容完整性。
例如:在"Goqqqq;Comeqqq"中到"qq"后,将字符串改变为:
    "Go@qq@qq;Come@qqq"
--------------------------------------------
注意:除要求填空的位置之外,请勿改动程序中的其他部分。
--------------------------------------------------*/
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
void changeStr(char str[],char subStr[])
{
    int i=0,j,k,pop,len,lenSub;
    len=strlen(str);
    lenSub=strlen(subStr);
    while(str[i]!=0)
    {
        j=0;
        k=i;
/******************SPACE******************/
        while(【?】&&subStr[j]!=0)
        {
            k++;
            j++;
            if(subStr[j]=='\0')
            {
                for(pop=len;pop>i;pop--)
                {                                       
                    str[pop]=str[pop-1];                                       
                }                       
                str[pop]='@';
/******************SPACE******************/
                【?】;
                len++;             
            }       
        }
        i++;
    }
}
int main()
{
    char str[100]="Goqqqq;Comeqqq", subStr[10]="qq";
    changeStr(str,subStr);
    puts(str);
    return 0;
}
字符串截取函数c语言程序改错  共1题 (共计30分)
第1题 (30.0分)      题号:81    难度:中    第1章
/*----------------------------------------------
题目:void fun(char s[])函数将字符串s按如下规则进行压缩,将字符串中连续相同的字符表示成m|x的形式(m为该字符,x为该字符出现的次数,其中x不会大于9)。
例如:原字符串为"aaaacc333bkkkggggd",经过压缩处理后的字符串为
      "a|4c|23|3b|1k|3g|4d|1"。
--------------------------------------------------
注意:不得增行或删行,也不得更改程序的结构。
----------------------------------------------------*/
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
void fun(char s[])
{
    int i,j,n,c,k;
    char ch;
    for(i=0; s[i]; i++)
    {
        c=1;
        ch=s[i];
        for(j=i+1; s[j]; j++)
        {
            if (ch!=s[j])
            {
                break;
            }
            c++;
        }
/***************FOUND****************/
        j=i+c;
        while(s[j])
        {
            s[j-c+2] = s[j+1];
            j++;
        }
        n=strlen(s);
/***************FOUND****************/
        for(j=n-1; j>i; j--)
        {               
            s[j+2]=s[j];
        }
        s[++i]='|';
/***************FOUND****************/
        s[++i]=c;       
    }
}
int main()
{
    char s[100]="aaaacc333bkkkggggd";
    printf("压缩前的数据: ");
    puts(s);
    fun(s);
    printf("压缩后的数据: ");
    puts(s);
    return 0;
}
程序设计  共1题 (共计30分)
第1题 (30.0分)    题号:80    难度:中      第1章
/*----------------------------------------------
题目:对一个5位正整数,在保持各位数字相对位置保持不变的条件下,出其最大值。
例如:82851 各位数字相对位置保持不变,其最大值是 85182
      15426 各位数字相对位置保持不变,其最大值是 61542
      71624 各位数字相对位置保持不变,其最大值是 71624
      31525 各位数字相对位置保持不变,其最大值是 53152
      并对最大值进行降序排序。
      程序运行结果如下:
      82851 15426 71624 31525
      85182 71624 61542 53152
1.编写函数 void find(int b[],int a[]),对a数组中N个元素,按照上面要求,出各自最大值,保存在b数组中。
2.编写函数 void sort(int b[]),对b数组中N个元素降序排序,排序算法自定。
课后作业
考点分析
一、整数组合
二、字符串截取子字符串
三、统计字符串的字符个数
教后札记

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。