C/C++
huangyunzeng2008
坚定地要翻过这座山,但是如果你问我山那边是什么,我会告诉你我也不知道!
展开
-
cpu的大小端模式【big endian/little endian】
所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 例如:1234 在内存中存放也是:1234(地址由低到高)所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中,这种存储模式将地址的高低和数据位权原创 2010-09-21 16:05:00 · 666 阅读 · 0 评论 -
C 语言经典题目系列解决方案(1)-报数问题
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。解决方案:main(){ int people[100],n,length,k=0,i; scanf("%d",&n);/*此处要求输入人数,定义了一个限为100的数组,因此这里要<=100*/ for (i=1;i<=n;i++) { peopl原创 2010-09-14 16:11:00 · 906 阅读 · 0 评论 -
C 语言经典题目系列解决方案(3)-链表创建与倒置
题目:链表的创建与倒置。解决方案:#define student struct stu#define length sizeof(struct stu) student{ int stuNum; student *next; };main(){ int n,m; student *head,*new,*pCurrent;原创 2010-09-15 09:40:00 · 541 阅读 · 0 评论 -
C 语言经典题目系列解决方案(9)-直接插入排序
main(){ int n=10,m=11,i,j; int numbers[10];//不含“哨兵” int numbers2[11];//第一个是“哨兵” int temp; /*生成两个数组*/ for (i=0;i<n;i++){ numbers[i]=(int)rand()%100; printf("%3d",numbers[i]); if原创 2010-09-16 14:01:00 · 583 阅读 · 0 评论 -
C 中的字节对齐和位域
一、首先给段代码,如果能确切的知道这段代码的输出,那说明对字节对齐和位域了解的已经差不多了!main(){ struct student{int a;char b;short c;}; struct teacher{char b;int a;short c;}; struct bs{int a:32;int b:8;int c:8;int d:8;int e:8;}; struct b原创 2010-09-21 14:52:00 · 2467 阅读 · 1 评论 -
C 语言经典题目系列解决方案(4)-Fibonacci
题目:采用递归和非递归两种方式输出Fibonacci数列。解决方案:main(){ int f(int n); /*非递归实现输出前20个*/ int f1,f2; int n; f1=1; f2=1; for (n=1;n<11;n++){ printf("%6d %6d",f1,f2); if (n%2==0)printf("/n"); f1=f1+f2;原创 2010-09-15 11:12:00 · 507 阅读 · 0 评论 -
C 语言经典题目系列解决方案(8)-选择排序
main(){ int n=10,i,j,k; int numbers[10]; int temp; /*生成一个数组*/ for (i=0;i<n;i++){ numbers[i]=(int)rand()%100; printf("%3d",numbers[i]); if (i==n-1) printf("/n"); } /*开始选择排序原创 2010-09-16 09:44:00 · 493 阅读 · 0 评论 -
C 语言经典题目系列解决方案(6)-有序链表的归并
题目:两个有序链表的归并。解决方案:#include "stdlib.h"#define Integer struct integer#define length sizeof(struct integer)#define null 0Integer{int value;Integer *next;};main(){ Integer *headA,*headB,*headC,*原创 2010-09-15 19:01:00 · 661 阅读 · 0 评论 -
C 语言经典题目系列解决方案(7)-冒泡排序
#define true 1#define false 0main(){ int n=10,i,j; int numbers[10]; int change,temp; /*生成一个数组*/ for (i=0;i<n;i++){ numbers[i]=(int)rand()%100; printf("%3d",numbers[i]); if (i=原创 2010-09-16 09:10:00 · 612 阅读 · 0 评论 -
C 语言经典题目系列解决方案(10)-快排
main(){ int i,n=10; int numbers[10]; int partition(int a[],int low,int high); void quickSort(int a[],int low,int high); //生成数组 for (i=0;i<n;i++){ numbers[i]=(int)rand()%100; printf("原创 2010-09-16 16:56:00 · 710 阅读 · 0 评论 -
C语言经典题目系列解决方案(2)-统计字符
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。解决方案:main(){ char c; int letters=0,space=0,digit=0,others=0; printf("please input some characters:"); while((c=getchar())!='/n') { if(c>='a'原创 2010-09-14 16:59:00 · 637 阅读 · 0 评论 -
C 语言经典题目系列解决方案(5)-gcd问题
题目:辗转相除求最大公约数、最小公倍数(两种实现方法)。解决方案:main(){ int gcd(int a,int b); int max(int a,int b); int min(int a,int b); int a,b; printf("请输入两个整数:"); scanf("%d%d",&a,&b); printf("递归结果/n最大公约数是:%d/n",原创 2010-09-15 14:35:00 · 1827 阅读 · 0 评论 -
C 语言经典题目系列解决方案(11)-折半查找
直接给出代码:main(){ int i,n=10; int numbers[10]; int searchValue,returnValue; int partition(int a[],int low,int high); void quickSort(int a[],int low,int high); int binarySearch(int a[],int low,int原创 2010-09-17 08:46:00 · 848 阅读 · 0 评论