zoukankan      html  css  js  c++  java
  • 第二次作业

    C高级第二次作业(1)

    提交列表:

    1.删除字符串中数字字符
    设计思路:
    通过遍历数组,如果遇到数字就删除,后部分的非数字字符向前移动即可完成。即定义两个循环变量,并用while语句进行判断,再根据需要进行删除。
    实验代码:
    ···
    void delnum(char *s)
    {
    int i=0,j=0;
    for(;s[i]!='';i++)
    {
    if(s[i]>'9'||s[i]<'0')
    {
    (s+j++)=(s+i);
    }
    }
    *(s+j)='';
    }
    ···
    调试过程:
    在本题的代码中,不知道如何筛选出字符。
    流程图:

    统计子串在母串出现的次数
    设计思路:
    定义双重循环,外层用来遍历数组元素,内层判断字符数组元素是否相等,若完全相等则遍历子串,且次数加1.
    实验代码:
    ···
    int fun(char *str,char substr)
    {
    int num=0,i;
    for(i=0;str[i]!='';i++)
    {
    if((str[i]substr[0])&&(str[i+1]substr[1])&&(str[i+2]==substr[2])){
    num++;
    }
    }
    return (num);
    }
    ···
    调试过程:
    没有遇到什么困难,只是在编译的过程中出现了一个低级错误。
    字符串中除首尾字符外的其余字符按降序排列
    设计思路:
    调用函数,然后进行定义变量,使用for循环在循环中判断,再进行输出。
    实验代码:
    ···
    int fun(char
    s,int num)
    {
    char a;
    int i,j;
    for(i=1;i<num-2;i++){
    for(j=i+1;j<num-1;j++){
    if(s[i]<s[j])
    {
    a=s[i];
    s[i]=s[j];
    s[j]=a;
    }
    }
    }
    }
    ···
    调试过程:
    本题并没有遇到什么困难。

    C高级第二次作业(2)

    提交列表:

    计算职工工资
    设计思路:,
    定义出结构变量包括员工的姓名,基本工资,浮动工资,支出,并计算实发工资并输出姓名。
    实验代码:
    ··· #include <stdio.h>
    struct clerk
    {
    char name[10];
    float b,r,f;
    float s;
    };

    int main() {
    int i,N;
    struct clerk s1; scanf("%d",&N);
    for(i=1;i<=N;i++)
    { scanf("%s %f %f %f ",s1.name,&s1.b,&s1.r,&s1.f);
    s1.s =(s1.b + s1.r - s1.f);
    printf("%s %.2lf ",s1.name,s1.s);
    }

    return 0;
    }
    ···
    调试过程:
    在定义结构变量上遇到了一些问题,请教室友后得到解决。
    流程图:

    输出学生成绩
    设计思路:
    定义变量后输入人数,再使用动态内存分配语句,循环,冒泡排序法,进行排序并输出
    实验代码:
    ···#include <stdio.h>
    struct student
    {
    char num[6];
    char name[10];
    int grade;
    double average;};
    int main()
    {
    int i,N,grade,j;
    double average;
    scanf("%d",&N);
    struct student si[N];
    grade = 0;
    for(i=0;i<N;i++)
    {
    scanf("%s %s %d",si[i].num,si[i].name,&si[i].grade);
    grade = grade +si[i].grade;
    }
    average = (double)(grade /N);
    printf("%.2f ", average);
    for(i=0;i<N;i++)
    {
    if(si[i].grade<average)
    {
    printf("%s %s ",si[i].name,si[i].num);
    }
    }
    return 0;
    }
    ···
    调试过程:
    没有什么大问题,细节性错误,我以后会注意。

    C高级第二次作业(3)

    老实承认这两道题没有什么思路,代码也是从班里的大神那里搬来的,在老师的讲解过程中我会认真听。
    按等级统计学生成绩
    设计思路:
    调用定义函数,使用循环结构,N为不及格,等级为D时N加1。
    实验代码:
    ···
    int set_grade( struct student *p, int n )
    {
    int i,N = 0;
    for(i = 0; i < n; i++)
    {
    if((p+i)->score <= 100 && (p+i)->score >= 85)
    (p+i)->grade = 'A';
    else if((p+i)->score <= 84 && (p+i)->score >= 70)
    (p+i)->grade = 'B';
    else if((p+i)->score <= 69 && (p+i)->score >= 60)
    (p+i)->grade = 'C';
    else if((p+i)->score <= 59 && (p+i)->score >= 0)
    {
    (p+i)->grade = 'D';
    N++;
    }
    }
    return N;
    }
    ···
    结构体数组按总分排序
    设计思路:
    定义循环变量,再通过遍历数组进行计算总分。
    实验代码:
    ···
    void calc(struct student *p,int n)
    {
    int k=0;
    for(k=0;k<n;k++)
    {
    (p+k)->sum=(p+k)->score[0]+(p+k)->score[1]+(p+k)->score[2];
    }
    }
    void sort(struct student *p,int n)
    {
    int k=0,l=0;
    struct student swap;
    for(k=0;k<n;k++)
    {
    for(l=k+1;l<n;l++)
    {
    if(p[k].sum<p[l].sum)
    {
    swap=p[k];p[k]=p[l];p[l]=swap;
    }
    }
    }

    }
    ···

    学习内容总结:

    对指针的复习,动态内存的分配,定义结构体变量及结构体变量的引用,还有数组指针结构的结合使用,但是老师对于动态内存的分配的讲解过程较为较为简略,有点一知半解。
    图表:

    作业点评:
    董欣 :http://www.cnblogs.com/dx2017/p/8666072.html
    李锐 :http://www.cnblogs.com/572453251asd/p/8746822.html
    金海东:http://www.cnblogs.com/jhd1127/p/8746926.html

  • 相关阅读:
    爬取校园新闻首页的新闻的详情,使用正则表达式,函数抽离
    网络爬虫基础练习
    Mysql 使用 select into outfile
    Mysql 使用CMD 登陆
    使用Clean() 去掉由函数自动生成的字符串中的双引号
    Get Resultset from Oracle Stored procedure
    获取引用某个主键的所有外键的表
    Entity Framework 丢失数据链接的绑定,在已绑好的EDMX中提示“Choose Your Data Connection”
    添加MySql Metat Database 信息
    at System.Data.EntityClient.EntityConnection.GetFactory(String providerString)
  • 原文地址:https://www.cnblogs.com/jz19990201/p/8747094.html
Copyright © 2011-2022 走看看