C语言的二次实验报告
题目一
题目二
题目三
题目四
题目五
部分源代码
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语言的二次实验报告的更多相关文章
- C语言第四次实验报告
第四次实验报告 一·实验项目名称: 多球反弹 二·实验项目功能描述: (1)实现多个小球 (2)实现多个小球碰壁会反弹 (3)实现小球之间碰撞反弹 三· 项目模块结构介绍 #define High 4 ...
- C语言的第二次实验报告
一.思路及方法 11-8 螺旋方阵 设计二维数组,通过对方阵的行和列进行特征分析找出其中规律,利用循环即可将方阵输出. 12-6 字符串转换成十进制整数 设计字符数组,用getchar函数逐个截取,并 ...
- C语言设计实验报告(二)
C程序设计实验报告姓 名:赖瑾 实验地点:家 实验时间:2020年3月9日 实验项目:2.3.3 字符与ASCLL码 2.3.4 运算符与表达式的运用 2.3.5 顺序结构应用程序 3.3.1 数学函 ...
- C语言实验报告二
实验一:第11次实验作业报告 题目:方阵循环右移 实验要求:将给定n×n方阵中的每个元素循环向右移m个位置,即将第0.1.⋯.n−1列变换为第n−m.n−m+1.⋯.n−1.0.1.⋯.n−m−1列. ...
- 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...
- 20145206《Java程序设计》实验二Java面向对象程序设计实验报告
20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- JAVA课程实验报告 实验二 Java面向对象程序设计
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- 20145221 《Java程序设计》实验报告二:Java面向对象程序设计
20145221 <Java程序设计>实验报告二:Java面向对象程序设计 实验要求 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- Java实验报告二:Java面向对象程序设计
Java实验报告二:Java面向对象程序设计 ...
随机推荐
- Servlet的引入(即加入Servlet)
今天讲的Servlet是根据上一章节<创建一个学生信息表,与页面分离>而结合. 一.看图分析 此模式有问题: 1.jsp需要呼叫javabean StudentService stuSer ...
- 微信小程序传值取值的几种方法
一,列表index下的取值 实现方式是:data-index="{{index}}"挖坑及e.currentTarget.dataset.index来填坑即可 1.1生成值 < ...
- pandas学习series和dataframe基础
PANDAS 的使用 一.什么是pandas? 1.python Data Analysis Library 或pandas 是基于numpy的一种工具,该工具是为了解决数据分析人物而创建的. 2.p ...
- 初学redis,redis基本数据类型
String: 1. set key value 2. get key 3. del key 4. strlen key 5. getset key value 修改键值对 6. getrange ...
- $GLOBALS['HTTP_RAW_POST_DATA']与$_POST的区别
$HTTP_RAW_POST_DATA The RAW / uninterpreted HTTP POst information can be accessed with: $GLOBALS ...
- Unity基础-脚本的基本使用
脚本的基本使用 定义与挂载monobehaviour 1.新建一个场景 2.新建脚本 using System.Collections; using System.Collections.Generi ...
- Vim如何显示和关闭行号
显示行号: set nu 去除行号: set nonu
- idea 关于高亮显示与选中字符串相同的内容踩过的坑
由 Eclipse 切换到 idea 遇到了很多不熟的地方和踩过的坑,下面记录 idea 关于高亮显示与选中字符串相同的内容踩过的坑. IDEA 2017.2.1 版本修改 Identifier un ...
- php 关于金额的几种计算方式
php 关于金额的几种计算方式 平常开始开发过程中,多多少少都会遇到点关于金额的计算,比如设置返利.提现手续费.折扣啊等等诸如此类的比例,然后再计算出之后的实际的费用. 下面,以折扣为例,来实现这类计 ...
- EditPlus 比较完整的快捷键记录
FileFtpUpload Ctrl+Shift+S 上传文件到FTP 服务器 FileNew Ctrl+N 新建普通的文本文档 FileNewHtml Ctrl+Shift+N 创建一个空白的 HT ...