1.编写一个程序,实现的功能是:首先从键盘的终端上输入10 个数序存放于数组a中,然后输入一个数x,并查找x是否在数组中,若在数组中,则输出在数组中的元素序号,否则给出未查找到的信息。要求查找过程用一函数来实现。
#include第二题int find(int x, int arr[], int n) { for (int i = 0; i < n; i++) { if (arr[i] == x) return i; } return -1; } int main() { int n = 10, arr[n], x; for (int i = 0; i < n; i++) scanf("%d", &arr[i]); scanf("%d", &x); int idx = find(x, arr, n); if (idx != -1) printf("%dn", idx); else printf("not find"); return 0; }
1、输入一个四位正整数, 然后按数字的相反次序输出。如:输入9187,则输山: 7819
又如: 输入为7000,则输出为: 0007。
要求:只能用一个整型变量接收键盘输入。
#include第三题int main() { int a; scanf("%d", &a); while (a) { printf("%d", a % 10); a /= 10; } return 0; }
3.若二叉树结点指针类型定义如下:
typedef struct bt_node { int data; struct bt_node *lchild, *rchild; } BiTNode, *BiTree;
// 下面C++ 函数用先根遍历算法复制一棵二叉树设原来的二叉树根为t, 复制的二叉树根为bt,请填空。
BiTree Copy(BiTree t) { //复制二叉树t BiTree bt; if (__________) bt = NULL; else { __________________; __________________; bt->lchild = Copy(t->lchild); bt->rchild = Copy(t->rchild); } __________________; } // 结束copy
#include第四题#include //3.若二叉树结点指针类型定义如下: typedef struct bt_node { int data; struct bt_node *lchild, *rchild; } BiTNode, *BiTree; // 下面C++ 函数用先根遍历算法复制一棵二叉树设原来的二叉树根为t, 复制的二叉树根为bt,请填空。 BiTree Copy(BiTree t) { //复制二叉树t BiTree bt; if (t == NULL) bt = NULL; else { bt = (BiTree)malloc(sizeof(BiTree)); bt->data = t->data; bt->lchild = Copy(t->lchild); bt->rchild = Copy(t->rchild); } return bt; } // 结束copy
4.假设称正读和反读都是相同的字符序列为“回文”,例如“abba”和“abcba”是回文,“abcde”
和“ababab"则不是回文。试写一个算法判别读入的一个以’@’为结束符的字符序列是否为回文。
#includeint is_huiwen(char *str, int n) { int i = 0, j = n - 1; while (i < j && str[i] == str[j]) i++, j--; return i >= j; } int main() { char str[100], ch = 0; int n = 0; while ((ch = getchar()) != '@') { str[n++] = ch; } if (is_huiwen(str, n)) puts("Yes"); else puts("No"); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)