1、非递归求最小公倍数和最大公约数
#include<stdio.h> void main() { int a,b,num1,num2,temp; printf("please input num1 and num2 \n"); scanf("%d%d",&num1,&num2); if(num1 > num2) { a = num1; b = num2; } else { a = num2; b = num1; } while(b > 0) { temp = a % b; a = b; b = temp; } printf("最大公约数是%d\n最小公倍数是%d\n",a,(num1 * num2) / a); }
2、递归求最大公约数
//用递归求最大公约数 #include<stdio.h> int gcd(int m,int n); int main() { int m,n; printf("Input m,n:\n"); scanf("%d%d",&m,&n); printf("%d\n",gcd(m,n)); } int gcd(int m,int n) { if(m>n)//大于和小于只要"<"或">"就够了,不需要两个 return gcd(m-n,n); else if(m<n) return gcd(m,n-m); else if(m==n) return m; }
3、字符串单词倒置题
//字符串转置 #include<string.h> #include<stdio.h> void Reversion(char *str)//方法一,利用string.h库函数 { int n=strlen(str)-1; //char *temp=(char*)malloc(n+1); char temp[30]=""; while(n>0) { if((str[n]!=' ')&&(str[n-1]==' ')) { strcat(temp,str+n-1); str[n]='\0'; } n--; } strcat(temp,str+n); printf("%s\n",temp); } void turn(char *str)//方法二,利用循环 { char temp; int j=strlen(str)-1,i=0,begin,end; while(j>i) { temp=str[i]; str[i]=str[j]; str[j]=temp; j--; i++; } printf("%s\n",str); i=0; while(str[i]) { if((str[i]!=' ')) { begin=i; while(str[i]&&str[i]!=' ') i++; end=i-1; } while(end>begin) { temp=str[begin]; str[begin]=str[end]; str[end]=temp; end--; begin++; } i++; } printf("%s\n",str); } void main() { char str[30]="hello world future"; Reversion(str); char str1[]="ni hao a"; turn(str1); }
4、判断低地址还是高地址优先
#include<stdlib.h> #include<stdio.h> void main() { int a=10; short b; memcpy(&b,&a,2);//将a的低两字节赋值给b printf("%d\n",b); }
5、字符串翻转
#include <stdio.h> #include <string.h> void rotate(char *start, char *end) { while(start != NULL && end !=NULL && start<end) { char temp=*start; *start=*end; *end=temp; start++; end--; } } void leftrotate(char *p,int m) { if(p==NULL) return ; int len=strlen(p); if(m>0&&m<=len) { char *xfirst,*xend; char *yfirst,*yend; xfirst=p; xend=p+m-1; yfirst=p+m; yend=p+len-1; rotate(xfirst,xend); rotate(yfirst,yend); rotate(p,p+len-1); } } int main(void) { char str[]="abcdefghij"; leftrotate(str,3); printf("%s\n",str); return 0; }
6、判断系统大端小端存储
#include<stdio.h> union s{ int i; char ch; }c; int check() { c.i=1; return (c.ch); } void main() { if (check()) { printf("little\n"); } else printf("big\n"); }
7、一道求概率的问题即一个边长为10的正方形和一个半径为10的圆重叠的部分答案为25π左右
#include<stdio.h> #include<time.h> void main() { int count=0,i=100; srand(time(0)); while(i>0) { int a=rand()%10; int b=rand()%10; if((a*a+b*b)<=100) count++; i--; } printf("%d",count); }
8、数组a[N],存放了1至N-1个数,其中某个数重复一次,找出重复的那个数
#include<iostream> using namespace std; void do_dup(int a[] , int n) { int *b = new int[n]; for( int i = 0 ; i != n ; ++i ) { b[i] = -1 ; } for( int j = 0 ; j != n ; ++j ) { if( b[a[j]] == -1 ){ b[a[j]] = a[j] ; } else { cout << b[ a[j] ] << endl ; break ; } } } int main(){ int a[]={ 1 , 2 , 3 , 4 , 3 } ; do_dup( a , 5 ) ; }
9、用两个线程实现1-100的输出
package lzf.thread; //用两个线程实现1-100的输出 public class Synchronized { // state==1表示线程1开始打印,state==2表示线程2开始打印 private static int state = 1; private static int num1 = 1; private static int num2 = 1; public static void main(String[] args) { final Synchronized t = new Synchronized(); new Thread(new Runnable() { @Override public void run() { while (num1 < 95){ // 两个线程都用t对象作为锁,保证每个交替期间只有一个线程在打印 synchronized (t) { // 如果state!=1, 说明此时尚未轮到线程1打印, 线程1将调用t的wait()方法, 直到下次被唤醒 if (state != 1) { try { t.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } // 当state=1时, 轮到线程1打印5次数字 for (int j = 0; j < 5; j++) { System.out.println("num1:"+num1); num1 += 1; num2 = num1; } // 线程1打印完成后, 将state赋值为2, 表示接下来将轮到线程2打印 state = 2; // notifyAll()方法唤醒在t上wait的线程2, 同时线程1将退出同步代码块, 释放t锁 t.notifyAll(); } } } }).start(); new Thread(new Runnable() { @Override public void run() { while (num2 < 100) { synchronized (t) { if (state != 2) { try { t.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } for (int j = 0; j < 5; j++) { System.out.println("num2:"+num2); num2 += 1; num1 = num2; } state = 1; t.notifyAll(); } } } }).start(); } }
linux下线程示例
gcc -o pthread_testpthread_test .c -lpthread
#include<stddef.h> #include<stdio.h> #include<unistd.h> #include"pthread.h" void reader_function(void); void writer_function(void); char buffer; int buffer_has_item=0; pthread_mutex_t mutex; main() { pthread_t reader; pthread_mutex_init(&mutex,NULL); pthread_create(&reader,NULL,(void*)&reader_function,NULL); writer_function(); } void writer_function(void) { while(1) { pthread_mutex_lock(&mutex); if(buffer_has_item==0) { buffer='a'; printf("make a new item\n"); buffer_has_item=1; } pthread_mutex_unlock(&mutex); } } void reader_function(void) { while(1) { pthread_mutex_lock(&mutex); if(buffer_has_item==1) { buffer='\0'; printf("consume item\n"); buffer_has_item=0; } pthread_mutex_unlock(&mutex); } }
线程模拟火车售票
package lzf.thread; class TicketSystem { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub SellThread st = new SellThread(); new Thread(st).start(); try{ Thread.sleep(10); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } new Thread(st).start(); st.b = true; } } class SellThread implements Runnable{ int tickets = 100; Object obj = new Object(); boolean b = false; @Override public void run() { // TODO Auto-generated method stub if(b==false){ while(true){ sell(); } } while (true) { synchronized (this) { if(tickets>0){ try{ Thread.sleep(1); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } System.out.println("obj"+Thread.currentThread().getName()+" sell tickets:"+tickets); tickets--; } } } } public synchronized void sell(){ if(tickets>0){ try{ Thread.sleep(10); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } System.out.println("sell"+Thread.currentThread().getName()+" sell tickets:"+tickets); tickets--; } } }
10、宏定义交换两个数字
//第一种 #define SWAP(x,y) ((x)=(x)+(y),(y)=(x)-(y),(x)=(x)-(y)) //第二种 #define SWAP(x,y) ((x)=(x)^(y),(y)=(x)^(y),(x)=(x)^(y))//比上一种更好,不会出现大数字的溢出问题 #define swap(x, y)/ //带有换行 x = x + y;/ y = x - y;/ x = x - y; #define swap(x, y)/ x ^= y;/ y ^= x;/ x ^= y; void main() { int x=3,y=4; swap(x,y); printf("%d,%d",x,y); }
相关推荐
以下是一些可能涉及到的知识点,它们可能会出现在ThoughtWorks的笔试代码中: 1. **数据结构与算法**:ThoughtWorks笔试可能会涵盖数组、链表、栈、队列、树(二叉树、平衡树如AVL或红黑树)、图等基本数据结构。...
笔试面试题的代码.zip笔试面试题的代码.zip笔试面试题的代码.zip笔试面试题的代码.zip笔试面试题的代码.zip笔试面试题的代码.zip笔试面试题的代码.zip笔试面试题的代码.zip笔试面试题的代码.zip笔试面试题的代码.zip...
【标题】"杭电笔试代码模板参考" 涉及的知识点主要集中在编程能力和算法基础,这通常是大学或企业招聘IT职位时进行技术笔试的重要内容。杭电(Hangzhou Dianzi University)在线编程平台提供了丰富的题目,这些题目...
这份“笔试,面试常见代码(java)”的压缩包文件,很可能是收集了一些常见的编程题目和面试中可能会遇到的Java代码片段,旨在帮助提升大家的编程能力和面试技巧。 首先,Java的基础知识包括语法结构、数据类型、控制...
在线笔试的一些源码,大家可以自己尝试。均在oj上进行了单元测试,可以通过。
该文件为山大地纬Java开发岗笔试试题 该文件为山大地纬Java开发岗笔试试题 该文件为山大地纬Java开发岗笔试试题 该文件为山大地纬Java开发岗笔试试题 该文件为山大地纬Java开发岗笔试试题
奉行即拿即用原则,资源里面不论是代码文件还是项目压缩包,我会力求做好说明,保证每一台电脑上都能运行我的程序,都能用到我的程序。同时也给大家展示我的代码风格,如果有什么好的意见提出,欢迎。
经典Java笔试算法解析和代码:二分查找.zip 经典Java笔试算法解析和代码:二分查找.zip 经典Java笔试算法解析和代码:二分查找.zip 经典Java笔试算法解析和代码:二分查找.zip 经典Java笔试算法解析和代码:二分查找...
在Java编程语言中,笔试代码提交通常涉及到一系列的编程题目,要求应聘者在限定时间内编写出符合要求的代码。这个"java代码-笔试代码提交 sample"可能是一个示例集,帮助求职者了解如何准备和提交Java笔试代码。下面...
这里我们将探讨C++的一些核心知识点,以及如何在Visual Studio 2005环境下进行C++开发。 1. **C++基础**:C++是面向对象的编程语言,它基于C语言并增加了类、模板、异常处理等特性。掌握C++的基础语法,包括变量...
这里提到的"java在线笔试参考代码1"很可能是一组示例代码,用于帮助准备这类考试的人理解问题解决策略。从提供的压缩包文件名称来看,我们有四个源代码文件:TestLuckBags.java、TestXipai.java、Test2.java和Test1....
本资源包含的"java面试常见笔试题(源代码)"将帮助你实践和理解这些关键概念。 1. **Java语言基础**: - **变量与数据类型**:理解基本数据类型(如int、char、boolean)和引用数据类型,以及它们之间的区别。 - *...
本资源是深信服2019实习生编程题及其实现代码,由于能力有限只会两道题中的其中一题。本资源只有一题
### Java笔试代码与编程题详解 #### Singleton模式详解 **Singleton模式**是一种常见的设计模式,其目的是确保一个类仅有一个实例,并提供一个全局访问点。这种模式被广泛应用于那些需要频繁创建并销毁的对象,...
静态代码块通常用来初始化类级别的变量,或者执行一些仅需执行一次的设置操作。静态代码块的执行顺序取决于它们在源码中的出现顺序。 接下来,我们将探讨**构造方法执行顺序**。在创建一个对象时,构造方法负责初始...
### 华为外包项目的一些笔试题目 #### 题目一:Java字符串不可变性 **题目描述**: 提供了一段Java代码示例,其中定义了一个名为`Test`的类,该类包含一个静态方法`changeStr`,该方法接收一个`String`类型的参数...
这些笔试题涵盖了多个IT领域的基础知识,主要涉及数据库管理和关系型数据库理论。让我们一一解析这些知识点: 1. 数据库应用:自动柜员机(ATM)、航空售票系统、图书管理系统都是典型的数据库应用,用于存储和管理...
### 关于公司面试的一些笔试题 #### 知识点概览 本文将针对一份公司面试中的笔试题目进行解析,涵盖了一系列计算机科学与编程基础知识。这些题目不仅考验了应聘者的理论知识掌握情况,还考察了解决实际问题的能力。...
java面试笔试资料java笔试题大集合及答案题库java笔试题汇总资料188个合集 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx ...