简单常见笔试算法,C语言实现 1:输出九九乘法表 #include<stdio.h> int main(){ int i,j; for(i=1;i<10;i++){ for(j=1;j<=i;j++){ printf("%d*%d=%d ",i,j,i*j); } printf("\n"); } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 2:有一对兔子,从出生后第3个月起每个月都生...
利用一个指针数组STUDENT *ptr[MAXSIZE] ;来保存STUDENT类型数据的地址,然后通过交换地址的方法来交换指向数据的索引,从而大大排序的目的,在这个过程中,避免了改变元素的实际存储位置,从而使得算法更加高效。 查询 对于查找算法的效率问题更多的不是考虑查找的时间和空间复杂度,而是平均查找长度。 01 顺序查找 int Seq_...
int main(){ int i,j,num; int tmp,tmp2; int a[10]={1,2,3,4,5,6}; printf("input num\n"); scanf("%d",&num); if(num>=a[5]){ a[6]=num; }else{ for(i=0;i<6;i++){ if(a[i]>num){ tmp=a[i]; a[i]=num; for(j=i+1;j<7;j++){ tmp2=a[j]; a[j]=tmp...
C笔试题算法 在编程面试中,C语言是最常见的编程语言之一。C语言是一种通用的、高级的编程语言,广泛应用于系统软件和应用软件的开发中。 下面是一些可能出现在C编程笔试中的常见算法题目,以帮助大家准备面试: 1.判断一个数是否是素数 题目描述:给定一个整数n,判断它是否是素数。如果是素数,返回1;否则,返回0。
002_C/C++笔试题_简单算法程序 (一)冒泡排序法 View Code 运行结果 冒泡排序法的具体实现方法是这样的,从数组的第一个元素`arr[0]`开始,两两比较**(`arr[n],arr[n+1]`),如果前面的数大于后面的数(`arr[n] > arr[n+1]`),那么交换两个元素的位置,把大的数往后移动。这样依次经过一轮比较以后,最...
C笔试题算法篇1 冒泡法: 这是最原始,也是众所周知的最慢的算法了。她的名字的由来因为它的工作看来象是冒泡: #include void BubbleSort(int* pData,int Count) { int iTemp; for(int i=1;i { for(int j=Count-1;j>=i;j--) { if(pDataj { iTemp = pDataj-1; pDataj-1 = pDataj; p...
Trilogy公司的笔试题: 如果n为偶数,则将它除以2, 如果n为奇数,则将它加1或者减1。 问对于一个给定的n,怎样才能用最少的步骤将它变到1。 例如: n= 61 n-- 60 n/2 30 n/2 15 n++ 16 n/2 8 n/2 4 n/2 2 n/2 1 2,算法 输入:一个32bit无符号数in. 输出:经过DIV/ADD/SUB变为1的步骤....
36. 有1,2,….一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),使用交换,而且一次只能交换两个数。 #include int main() { int a[] = {10,6,9,5,2,8,4,7,1,3}; intlen = sizeof(a) / sizeof(int); ...
C/C++笔试题目常见题目 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。 最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然 ...