![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
课堂教学代码
杨丰玉
这个作者很懒,什么都没留下…
展开
-
整数分解为若干项之和
[递归] 整数分解为若干项之和一、题目描述1.输入格式:2.输出格式:3.输入样例:4.输出样例:二、思路解析(三)所有代码一、题目描述将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。1.输入格式:每个输入包含一个测试用例,即正整数N (0<N≤30)。2.输出格式:按递增顺序输出N的所有整数分解式子。每个式子由小到大相加,式子间用分号隔开,且每输出4个式子后换行。3.输入样例:74.输出样原创 2020-12-01 08:50:00 · 4127 阅读 · 0 评论 -
图解Dev C++中的单步调试
图解Dev C++中单步调试原创 2020-11-24 09:29:10 · 629 阅读 · 0 评论 -
链表的输入数据(追加法)、查找结点、插入结点、删除结点、计算数据
链表的输入数据(追加法)、查找结点、插入结点要求:给定链表的头结点指针(head),要求分别定义函数append, search_list, insert_node方法,实现链表数据的输入、查找和插入。#include <stdio.h>#include <stdlib.h>#include <string.h>struct Student { c...原创 2019-12-20 11:52:30 · 1578 阅读 · 0 评论 -
动态链表之创建链表(头插法)
动态链表之创建链表(插入法)创建链表,并采用插入法将新结点插入到head之后,输入完整的学生数据,构建动态链表。#include <stdio.h>#include <stdlib.h>struct Student { char name[20]; long num; float grades[5]; struct Student *next;};t...原创 2019-12-17 21:55:27 · 1586 阅读 · 2 评论 -
动态分配结构体空间并用指针进行操作
动态分配结构体空间并用指针进行操作要求利用动态内存分配进行结构体指针的内存分配,然后设计函数,计算平均成绩,要求结构体指针作为函数参数,观察值的影响。#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct Student // 定义结构体类型,并声明别名{ ch...原创 2019-12-10 14:54:49 · 789 阅读 · 1 评论 -
动态内存分配--动态数组
动态内存分配–动态数组需求:设计一个掷硬币游戏,开始前要求用户先输入本局模拟掷硬币的次数n,记录每次掷的结果,并根据结果模拟为正面或反面,要求输出正面和反面的累计出现次数。#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){ int *p, n; printf("请输...原创 2019-12-10 14:48:30 · 746 阅读 · 0 评论 -
结构体作为函数参数
结构体作为函数参数当结构体作为函数参数时,参数传递的方式为“传值调用”,即将当前的值复制一份给函数的接口参数。示例如下:/** 需求:给定2个学生的信息,包括姓名、学号及5门课的成绩,要求利用函数计算每个学生的平均成绩**/#include <stdio.h>// 定义结构体类型struct Student { char name[100]; long num;...原创 2019-12-10 14:44:28 · 728 阅读 · 0 评论 -
几何坐标转化为极坐标
要求:利用函数将几何坐标系下的x,y转化为极坐标下的ρ和θ思路:通常函数只能通过return语句返回一个返回值,需要同时返回两个值,可以通过参数中传引用的方式,将地址传给函数,从而直接在函数中修改该地址的值。代码:#include <stdio.h>void convert(double, double, double*, double*);int main(){ d...原创 2019-11-26 23:34:39 · 2549 阅读 · 0 评论 -
对二维数组每一行分别排序
二维数组作为函数参数要求:对二维数组的奇偶行分别进行升序和降序排序,要求用函数实现。主要代码:#include <stdio.h>void sort_array(int a[], int n, char c);void print_array(int a[][5], int n);int main(){ int i; int num[4][5] = { {...原创 2019-11-22 11:48:55 · 4571 阅读 · 1 评论 -
杨辉三角形
杨辉三角形需求:输入一个不超过10的整数,输出杨辉三角形。主要思路:利用二维数组,找出数字存在的规律左侧第一列和对角线的元素值均为1a[i][j] = a[i-1][j] + a[i-1][j-1]11112111111a[i-1][j-1]a[i...原创 2019-11-22 10:56:13 · 425 阅读 · 0 评论 -
二分查找
二分查找二分查找也称折半查找原理图:代码如下:#include <stdio.h>#define N 10int binary_search(int [], int, int);int main(){ int a[] = {1,2,3,4,6,8,9,10,13,15}; int index, num; // 查找的结果,待查找的数 printf("请输入要查...原创 2019-11-19 15:41:14 · 424 阅读 · 0 评论 -
选择排序
选择排序对于给定的一组数字,要求采用选择排序方法,对于数字排从小大到大顺序排序。选择排序原理如下图所示:源代码如下:#include <stdio.h>#define N 5void selection(int [], int );int main(){ int num[] = {8,2,7,5,4}; int i; printf("排序前:"); for ...原创 2019-11-19 15:27:31 · 457 阅读 · 0 评论 -
冒泡排序
冒泡排序给定一个整型数组,使用冒泡排序,对于给定的数据进行升序排序。首先看一下原理:代码(单独作为一个函数):#include <stdio.h>#define N 5void bubble_sort(int [], int );int main(){ int num[] = {8,2,7,5,4}; int i; printf("排序前:"); for (...原创 2019-11-19 15:12:11 · 464 阅读 · 1 评论 -
传值调用(函数中交换两个数)
传值调用(pass by value) 示例说明:以下代码为在函数中交换两个数,请分析主函数的输出结果。#include <stdio.h>void swap(int, int);int main(){ int a, b; a = 10; b = 5; printf("交换前:a=%d, b=%d\n", a, b); swap(a, b); printf("交...原创 2019-11-15 14:10:08 · 845 阅读 · 0 评论 -
数组名传参(pass by reference)
数组名作为函数参数(pass by reference)说明:以上定义了一个doube_array函数,接受整个数组为函数参数,将其中的值修改为原来的2倍#include <stdio.h>#define N 5void double_array(int a[]);int main(){ int a[N]={1,2,3,4,5}; int i; printf...原创 2019-11-15 13:58:17 · 1509 阅读 · 1 评论 -
数组和数组元素作为函数参数
生成一个4位数年份的数组,并利用函数判断其中的闰年1. 数组元素作为函数参数#include <stdio.h>#include <stdlib.h>#include <time.h>#define N 10int is_leap(int); // 判断是否为闰年 int main(){ int year[N], leap_year[N]...原创 2019-11-15 13:55:06 · 1005 阅读 · 0 评论 -
数组元素查找最大值、最小值
数组元素中查找最大值、最小值#include <stdio.h>#define N 10int main(){ int a[10], i; int min, max; /* 输入数组中的10个元素 */ printf("请输入%d个元素:", N); for (i = 0; i < N; i++) ...原创 2019-11-13 10:24:37 · 1098 阅读 · 0 评论