随笔分类 - C语言经典算法
1
摘要:今天看了以下后面的题,并不怎么好,因为我们主要是学C++,而练习这些题的主要目的是帮我们复习编程的基本技巧,而基本技巧编到这里已经差不多了,至于算法,还是去看算法导论和编程珠玑,指针深层的东西,可以去看C++Primer时再学习,所以这些题不再更新,把主要精力放在C+...
阅读全文
摘要:思路如下:先建立一个尾节点,然后从每次插入时新建一个新节点。这个最好自己画个图,就明白这些操作时咋来了:画吧少年,画完你就明白了看代码://从后往前向链表中插入元素 #include #include //定义链表结构struct list{ int data;...
阅读全文
摘要:现在我们用C语言实现一个链表,链表的结构大家都熟悉,也比较简单,关键在于处理好头指针和尾指针,指对地方,就没什么问题,来看源码://创建一个链表#include #include //创建链表结构struct list{ int data; struct ...
阅读全文
摘要://练习使用结构体#include #include #define N 5//声明一个学生结构体struct student{ char id[6]; char name[8]; int score;} stu[N];//输入学生成绩void in...
阅读全文
摘要:经典之一,比较简单,C语言中字符串用char数组表示,以'\0'作为结尾,请看大屏幕://计算一个字符串的长度#include #include int main(){ char str[20]; char *p; int cnt =0; //...
阅读全文
摘要:这里我们实现一个简单的约瑟夫环问题,描述如下:有N个人站成一圈,从第一个人开始报数,从1报到3,报到3的那个人走出圈,然后从下一个人开始从1继续报数,重复上面的过程,直到最后圈里只剩下一个人,问这个人是哪个人?分析:首先,我们要给这N个人编号,分别编为1到N,然后,开...
阅读全文
摘要:直接看代码和注释吧。。。//利用指针实现数组的滚动 本例实现数组像右滚动几位#include #include int main(){ int arr[20]; int i,n,offset; //输入数组大小和数组内容 printf("To...
阅读全文
摘要:题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。现提供正确答案://10个数,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组#include #include int main(){ int number[10]; ...
阅读全文
摘要:题目:输入3 个数a,b,c,按大小顺序输出。源码:#include #include //利用指针排序三个数 a b cint main(){ void swap(int *,int *); int n1,n2,n3; int *pointer1,...
阅读全文
摘要:当在一个函数中声明一个变量前加static时,该变量便是静态局部变量,特点是1.生存期为整个程序,不会随着函数的退出而消失。2.作用域仍在函数内部,在其他地方无法使用该静态局部变量。下面是一个小例子进行演示:#include #include void varfunc...
阅读全文
摘要:思想很简单:找到新元素的插入位置,将之后的元素右移,插入新元素即可。例子是以一个长为11的数组为例:#include #include int main(){ int a[11]={1,2,4,7,9,13,18,24,32,45}; int i,num,...
阅读全文
摘要:使用简单选择排序法给10个数排序,思路如下:将最小的元素找出并放到序列的最前面,在剩下的元素中继续找出最小的元素放在第二个位置上,以此类推,每次选出一个元素,即可确定其再有序序列中的最终位置。#include #include //简单选择排序法int main(){...
阅读全文
摘要:依旧是按照判定素数的思想:一个能被[2,sqrt(n+1)]之间整除的整数n不是素数。程序如下:#include #include #include int main(){ int prime; int i,j,t; for(i=1;i<100;i+...
阅读全文
摘要:这几个程序是关于图形方面的掩饰,并没有什么技术点,而且Tc下的图形已经落伍了,所以在这里省略掉。
阅读全文
摘要:题目如下:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。比较简单,直接看程序吧。#include #include #include int main(){ char letter; while((letter=ge...
阅读全文
摘要:这道题也很简单:利用模运算和除运算依次求出个、十、百。。。。位的值并打印,然后位数累加即可。直接看程序:#include #include int main(){ int i; int digits(int); printf("Please inpu...
阅读全文
摘要:题目很简单,直接看原文:有5 个人坐在一起,问第五个人多少岁?他说比第4 个人大2 岁。问第4 个人岁数,他说比第3 个人大2 岁。问第三个人,又说比第2 人大两岁。问第2 个人,说比第一个人大两岁。最后问第一个人,他说是10 岁。请问第五个人多大?1.程序分析:利用...
阅读全文
摘要:先来看题:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。1.分析,跟上一题相似,打印第5的字符前先递归打印第4个字符,直到第1个字符,然后从第1个字符依次打到第5个。2.源代码:#include #include #include void print...
阅读全文
摘要:我们利用这道题来了解一下递归,复习一下递归的几个点。1.递归公式2.递归出口比较简单,直接看程序和注释即可:#include #include //用递归求阶乘long int fn(int); //先声明函数原型int main(){ int n; ...
阅读全文
摘要:题目如标题所说,大家一定觉得很简单,确实,求阶乘谁不会啊,完事做个求和不就成了么,我也是这么想的,于是想都不想开始编代码:#include #include //求1到20的阶乘的和int main(){ int i,j; long int sum,n; ...
阅读全文
1

浙公网安备 33010602011771号