题目一

题目二

题目三

题目四

题目五

部分源代码

11-1求矩阵的局部极大值

#include<stdio.h>
int main(){
    int m,n,i=0,j=0,count=1;
    scanf("%d%d",&m,&n);
    int a[20][20];
    for(i=0;i<m;i++)
       for(j=0;j<n;j++)
          scanf("%d",&a[i][j]);
    for(i=1;i<m-1;i++)
       for(j=1;j<n-1;j++){
          if(a[i][j]>a[i-1][j]&&a[i][j]>a[i][j-1]&&a[i][j]>a[i+1][j]&&a[i][j]>a[i][j+1]){
          printf("%d %d %d\n",a[i][j],i+1,j+1);
          count=0;
          }
       }
    if(count==1)
    printf("None %d %d",m,n);
    return 0;   
}

学习了二维数组的基本定义方法两个嵌套的for循环输入,再嵌套for循环进行输出。

12-2统计字符出现次数

#include<stdio.h>

int main(){
    char str[80];
    int count=0,i=0;
    char ch;
    while((str[i]=getchar())!='\n')
    i++;
    str[i]='\0';
    scanf("%c",&ch);
    for(i=0;str[i]!='\0';i++){
        if(str[i]==ch){
        count++;
        }
    }
    printf("%d",count);
    return 0;
}

学习了字符串的输入,输入回车时循环结束最后一位为'\0',字符串的输入在之后有了更简便的方法直接利用gets函数。

13-4 使用函数的选择法排序

void sort( int a[], int n ){
    int i,index,k,temp;
    for(k=0;k<n-1;k++){
        index=k;
        for(i=k+1;i<n;i++)
        if(a[i]<a[index])index=i;
        temp=a[index];
        a[index]=a[k];
        a[k]=temp;
    }
}

选择排序法!十分重要,经常会用到,利用变量temp实现值得交换可以从大到小,或从小到大的进行输出,十分方便。

14-2 删除字符

void delchar( char *str, char c ){
    char *p;
    p=str;
    if(*str==0)return ;
    else{
        while(*str){
            if(*str!=c){
            *p=*str;
            p++;
            }
            str++;
        }
        *p=*str;
        return;
    }
}
指针的使用方法,要牢记指针不同于数组,*p代表值,p代表的地址

15-5 建立学生信息链表

void input(){
    int num,score;
    char name[20];
    struct stud_node *p;
    scanf("%d",&num);
    while(num){
        p=(struct stud_node *)malloc(sizeof(struct stud_node));
        scanf("%s %d",name,&score);
        p->num=num;
        p->score=score;
        strcpy(p->name,name);
        if(head==NULL)
        head=p;4
        else
        tail->next=p;
        tail=p;
        scanf("%d",&num);
    }
}

单向链表的头尾指针保存在全局变量'head'和'tail'中,输入为若干个学生的信息(学号、姓名、成绩),当输入学号为0时结束。尾插法在这道题目中被用到。

遇到的问题,解决方法和心得体会

1.选择排序法,冒泡排序法,这之类的算法十分重要,要学会积累。

2.指针必须搞懂其概念,十分重要,它不同于数组,方便快捷,必须掌握!

3.在写代码的时候,要学会找规律,规律找到后可以节省十分多的时间。

4.递归的思想可以使很多复杂的问题化繁为简。

C语言的二次实验报告的更多相关文章

  1. C语言第四次实验报告

    第四次实验报告 一·实验项目名称: 多球反弹 二·实验项目功能描述: (1)实现多个小球 (2)实现多个小球碰壁会反弹 (3)实现小球之间碰撞反弹 三· 项目模块结构介绍 #define High 4 ...

  2. C语言的第二次实验报告

    一.思路及方法 11-8 螺旋方阵 设计二维数组,通过对方阵的行和列进行特征分析找出其中规律,利用循环即可将方阵输出. 12-6 字符串转换成十进制整数 设计字符数组,用getchar函数逐个截取,并 ...

  3. C语言设计实验报告(二)

    C程序设计实验报告姓 名:赖瑾 实验地点:家 实验时间:2020年3月9日 实验项目:2.3.3 字符与ASCLL码 2.3.4 运算符与表达式的运用 2.3.5 顺序结构应用程序 3.3.1 数学函 ...

  4. C语言实验报告二

    实验一:第11次实验作业报告 题目:方阵循环右移 实验要求:将给定n×n方阵中的每个元素循环向右移m个位置,即将第0.1.⋯.n−1列变换为第n−m.n−m+1.⋯.n−1.0.1.⋯.n−m−1列. ...

  5. 20145213《Java程序设计》实验二Java面向对象程序设计实验报告

    20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...

  6. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

    20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  7. JAVA课程实验报告 实验二 Java面向对象程序设计

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1353  姓名:韩玉琪  学号:20135317 成绩:             指导教师:娄嘉 ...

  8. 20145221 《Java程序设计》实验报告二:Java面向对象程序设计

    20145221 <Java程序设计>实验报告二:Java面向对象程序设计 实验要求 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  9. Java实验报告二:Java面向对象程序设计

    Java实验报告二:Java面向对象程序设计                                                                               ...

随机推荐

  1. Java(面试题):字符串截取

    在Java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符. 但对应的字节数不同,一个汉字占两个字节. 定义一个方法,按照指定的字节数来取子串. 如:对于“ab你好”,如果取三个字 ...

  2. c++ 拷贝资源方法

    #include "stdio.h" #include "stdlib.h" #include <sys/types.h> #include < ...

  3. Git下的gitignore规则介绍

    匹配模式前/代表项目根目录 匹配模式最后加/代表是目录 匹配模式前加!代表取反 (忽略文件夹,但不忽略文件夹下的某个文件) *代表任意个字符 ? 匹配任意一个字符 **匹配多级目录 node_modu ...

  4. overtrue/wechat 包 由 sys_get_temp_dir 引发的 the directory "c:\Windows" is not writable

    vendor\overtrue\wechat\src\Foundation\Application.php registerBase 方法 在初始化属性时 $this['cache'] = funct ...

  5. yield关键字有什么作用

    所属网站分类: python基础 > 语句 作者:goodbody 链接: http://www.pythonheidong.com/blog/article/10/ 来源:python黑洞网  ...

  6. OpenCV中的绘图函数

    OpenCV可以用来绘制不同的集合图形,包括直线,矩形,圆,椭圆,多边形以及在图片上添加文字.用到的绘图函数包括 cv2.line(),cv2.circle(),cv2.rectangle() ,cv ...

  7. Erasing and Winning UVA - 11491 贪心

    题目:题目链接 思路:不难发现,要使整体尽量大,应先满足高位尽量大,按这个思路优先满足高位即可 AC代码: #include <iostream> #include <cstdio& ...

  8. UVA - 11572 Unique Snowflakes 滑动扫描

    题目:点击打开题目链接 思路:从左往右扫描,定义扫描左端点L,右端点R,保证每次往几何中添加的都是符合要求的连续的数列中的元素,L和R从0扫到n,复杂度为O(n),使用set维护子数列,set查找删除 ...

  9. Cacti安装脚本Server端+客户端

    #!/bin/bash #auto make install LAMP+Cacti #by authors zhang #RRDtool define path variable R_FILES=rr ...

  10. Alpha版(内部测试版)发布

    首先通过微信扫吗下载我们的软件校园服务,首先进去登录界面没账号点击注册,注册完就可以登录了,进去界面我们在二手交易这项功能里我们即可以事卖家又可以是买家如果我们卖东西点击商品出售,填写商品信息,商品图 ...