编程题
zzz1_1zzz
这个作者很懒,什么都没留下…
展开
-
程序:输出蛇形代码
编写一个程序,输出类似的蛇形代码: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 #include #include int main() { int n; int x,y,round; //a[x][y],x是二维数组的第一个下标,y是二维数组的第二个下标,原创 2016-12-21 23:16:34 · 392 阅读 · 0 评论 -
替换空格
请实现一个函数,将一个字符串中的空格替换成“%20”。 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。原创 2017-07-07 15:31:28 · 270 阅读 · 0 评论 -
二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。原创 2017-07-07 14:54:14 · 280 阅读 · 0 评论 -
重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 方法一: /** * Definition for binary tree * struct TreeNode { * int val; *原创 2017-07-12 17:19:59 · 280 阅读 · 0 评论 -
不带头结点的单链表的常规操作
编程写出一个不带头结点的单链表的常规操作,创建、中间插入、删除、逆序、遍历。 struct stu { intnum; structstu *next; }; typedefstruct node Node; typedefNode * Link; //创建 voidinit_node(Link *head) { *head = NULL; } //中间插入 voidinser原创 2017-02-05 22:31:01 · 631 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面
调整数组顺序使奇数位于偶数前面 void ReoderOddEven(int *data, unsigned int length) { int *p; int * p1 = data; int * p2 = data + length - 1; while(p1 < p2) { if((*p1) % 2 == 0 && (*p原创 2016-12-31 19:34:12 · 293 阅读 · 0 评论 -
递归算法判断数组是否为一个递增数组
用递归算法判断数组是否为一个递增数组 bool fun( int a[], int n ) { if( n == 1 || n == 0 ) return true; if( n ==2 ) return a[n-1] >= a[n-2]; return fun( a,n-1) && ( a[n-1] >= a[n-2] ); }原创 2016-12-30 23:22:49 · 849 阅读 · 0 评论 -
青蛙跳级
青蛙跳级一次可以跳1-n级,现在共有n级台阶,问:共有多少种跳法? (编程输出共有多少种方法) #include int fibonacci(int n) { int num1 = 1, num2 = 1, num3 = 0, i = 0; if (n <= 1) { return num1; } for (i = 1; i < n; i++) { num3 =原创 2016-12-29 22:49:57 · 478 阅读 · 0 评论 -
合并两个递增排序链表
合并两个递增排序链表 struct node { int num; struct node*next; }; typedef struct node Node; typedef Node * Link; Link Merge(Link head1, Link head2) { If(head1 == NULL) return head2; If(head2 == NULL)原创 2016-12-28 20:55:55 · 327 阅读 · 0 评论 -
编程实现strstr
编程实现strstr。 char * my_strstr(char *str, char *ptr) { if(str == NULL || ptr == NULL) return NULL; int i; int j; int flag = 0; for(i = 0; i < strlen(str); i++) { for(j = 0; j < strlen(ptr); j++) { if(原创 2016-12-27 22:53:32 · 361 阅读 · 0 评论 -
循环出局游戏
设编号1,2…..n的n个人围坐在一圈,任选一个正整数作为报数的上限值,从第k个人开始按顺时针报数,数到m的那个人出局,他的顺时针方向下一位又从1开始报数,数到m的那个人又出局,以此类推,直到所有人出局为止,请用链表写一个函数找出每轮的幸存者。(假设n个人已经插入链表) struct{ int num; struct node *next; } typedef struct node N原创 2016-12-26 22:35:58 · 381 阅读 · 0 评论 -
用”*”打印出一个空心正方形
请以尽量高效的方法用”*”打印出一个空心正方形,num为边长。 void print_square(int num); #include int main() { int x,y,num; printf("please input the num:\n"); scanf("%d",&num); for(x = 0; x < num; x++) {原创 2016-12-25 22:46:51 · 2532 阅读 · 0 评论 -
输出链表中倒数第K个结点
编写一个程序,实现输出链表中倒数第K个结点 ListNode * FindKthToTail(LisNode *head,unsigned int k) { if(head == NULL|| K == 0) //入口参数检查!!! { return NULL; } int i; ListNode *pAhead= head; ListNode*pBeh原创 2016-12-24 22:51:28 · 292 阅读 · 0 评论 -
函数:字符串转化为数字
C语言库函数里是否有将字符串转化为数字的函数,若有则用自己的方式实现它。 int atoi(const char * str) { if(str == NULL) //入口参数检查!!! { return -1; } long long num = 0; //溢出问题有没有考虑 int temp = 1; int原创 2016-12-23 22:57:03 · 444 阅读 · 0 评论 -
函数:字符串逆序
编写一个函数,字符串逆序 void reverse(char *str,int len) { int i; char *str1 = str; if(len <= 0 || *str1 == NULL) { return ; } char temp; for(i = 0; i < len; i++) { temp = *(str1 + i); *(str1 + i原创 2016-12-22 23:07:32 · 921 阅读 · 0 评论 -
输入一个链表,从尾到头打印链表每个节点的值。
输入一个链表,从尾到头打印链表每个节点的值。转载 2017-07-07 15:48:25 · 561 阅读 · 0 评论