C/C++
陆家三少
这个作者很懒,什么都没留下…
展开
-
C++面试题之const面试题
//const面试题1.cpp//What does the keyword "const" means in C program? Please at least make two examples about//the usages of const.//[美国某著名计算机嵌入式公司2005面试题]//解析://在C程序中,const的用法主要有定义常量、修饰函数参数、修饰函数返回值等3个用处。在C程序中,它还可以//修饰函数的定义体,定义类中某个成员函数为恒态函数,即补改变类中的数据成员。//答案:(原创 2010-12-18 12:27:00 · 1791 阅读 · 0 评论 -
单链表的常用基本操作
<br />//单链表的常用基本操作.cpp<br />#include<iostream><br />using namespace std;<br />typedef struct Node{<br /> char name[10];<br /> int age,score;<br /> struct Node* next;<br />}ListNode;<br />ListNode* Create_emptylist(void) //创建空链表,带头结点------------1<br />{<b原创 2010-12-18 13:50:00 · 451 阅读 · 0 评论 -
C++面试题之编程风格面试题
//编程风格面试题1.cpp//We have two pieces of code, which one do you profer, and tell why.//美国某著名计算机嵌入式公司2005年面试题A.//a is a variable写法1:if('A'==a){ a++;}写法2:if(a=='A'){ a++;}B.写法1:for(i=0;i X=i+Y+J*7; printf("%d",X);}写法2:S=Y+J*7;for(i=0;i printf("%d",i+S);}//A.第一种原创 2010-12-18 12:34:00 · 780 阅读 · 0 评论 -
C++面试题之螺旋队列
//螺旋队列.cpp// 21 22 ... ...// 20 7 8 9 10// 19 6 1 2 11// 18 5 4 3 12// 17 16 15 14 13//看清以上数字排列的规律,设1点的坐标是(0,0),X方向向右为正,y方向向下为正。例如,7的坐标为//(-1,-1),2的坐标为(0,1),3的坐标为(1,1)。编程实现输入任意一点坐标(x,y),输出所对应得//数字。[芬兰某著名通信设备公司2005年面试题]#includ原创 2010-12-18 12:40:00 · 663 阅读 · 0 评论 -
组合问题算法
<br /><br />//file 组合.cpp<br />//将5角钱币换成5分和1角硬币的各种组合<br />#include"iostream.h"<br /> void main(void)<br /> {<br /> int x5,y1;<br /> for(y1=0;y1<=5;y1++){<br /> x5=10-2*y1; //5*x5=50-10*y1<br /> if(x5>=0) cout<<"5角换成5分和1角的组合:"<<x5<<"and"<<y1<<endl;<br />原创 2010-12-18 12:51:00 · 548 阅读 · 0 评论 -
文件操作
<br />//file 文件操作例.cpp<br />// 编写一个程序,统计一个文本文件中以英文字母开头的行各有多少,<br />// 并输出统计结果。<br />// 例如文件f1.txt的内容如下:<br />// abbb123<br />// acccc234<br />// c111111<br />// bwerfdiioi<br />// a12rrrttttt<br />// <<<<<<<<br />// 则程序应输出:<br />// a:3<br原创 2010-12-18 13:32:00 · 509 阅读 · 0 评论 -
C++面试题之程序设计其他问题面试题
//程序设计其他问题面试题.cpp//main主函数执行完毕后,是否可能会再执行一段代码?给出说明。//美国某著名网络开发公司2005年面试题//答案:如果需要加入一段在main退出后执行的代码,可以使用atexit()函数注册一个函数,代码如下:#includeint atexit(void (*funtion)(void));#includevoid fn1(void),fn2(void),fn3(void),fn4(void);int main(void){ atexit(fn1); atexit(f原创 2010-12-18 12:35:00 · 559 阅读 · 0 评论 -
C++面试题之宏定义面试题
//宏定义面试题1.cpp//What is the output of the following code?[中国台湾某著名杀毒软件公司2005年10月面试题]#include#define SQR(x) (x*x)void main(){ int a,b=3; a=SQR(b+2); printf("/n%d",a);}//A. 25 B.11 C.Would vary from compiler to compiler D.Error//B//宏定义展开时容易造成二义性问题。a=SQR原创 2010-12-18 12:38:00 · 2887 阅读 · 0 评论 -
C++面试题之类型转换面试题
//类型转换面试题.cppchar foo(void){ unsigned int a=6; int b=-20; char c; (a+b>6)?(c=1):(c=0); return c;}//解析: unsigned int 类型的数据与int类型的数据相运算后,自动转换为unsigned int 类型。//因此a+b的值不是-14,而是一个unsigned int类型的数4294967382。//因此返回值是1,与实际我们想要得到的结果不符。可以定义一个int类型的数接受a+b的值,如//int c原创 2010-12-18 12:39:00 · 1016 阅读 · 0 评论 -
链表的建立插入与删除
<br /><br />//file 链表的建立插入与删除.cpp<br />#include"iostream.h"<br />#include"string.h"<br />#include"stdlib.h"<br />struct listnode{ //链表结点的类型声明<br /> int num;<br /> char name[10];<br /> char sex[4];<br /> int age;<br /> int score;<br /> listnode* next;<br />原创 2010-12-18 13:39:00 · 404 阅读 · 0 评论 -
快速排序
<br /><br />//file 快速排序.cpp <br />#include"iostream.h"<br />void quick_sort(int [],int,int);<br />void main(void)<br />{<br /> int array[]={36,-73,-65,45,97,-13,27,-36,29};<br /> int lenofarray=sizeof(array)/sizeof(int);//元素个数<br /> cout<<"排序前的各元素:/n";<br原创 2010-12-18 13:40:00 · 366 阅读 · 0 评论 -
插入排序
//插入排序的变形.cpp/////////////////////////////////////////////////////////////////////////// 插入排序通过把数组中的各元素插入到适当的位置来进行排序。其步骤为:// // (1)设数组中的头一个元素已经按顺序排好,现将第二个元素插入到已排好序// 的头一个元素当中去(适当位置),得到两个已排好序的元素;// // (2)将第三个元素插入到前面已排好序的两个元素的适当位置,得到三个已排// 好序的元素原创 2010-12-18 13:48:00 · 406 阅读 · 0 评论 -
汉偌塔问题
<br /><br />//file 汉诺塔问题.cpp<br />///////////////////////////////////////////////////////////////<br />// 汉诺塔问题:<br />//<br />// 有三根柱子编号为1,2,3,其中1号柱上有若干个大小不等的盘子,<br />// 大的在下,小的在上(从上到下各盘编号分别为1,2,3,...,n)。<br />// 现要求将柱1上的盘子全部移到柱3上,在移动的过程中可以借助于2号柱,<br />//原创 2010-12-18 13:43:00 · 689 阅读 · 0 评论 -
C++面试题之sizeof面试题
//sizeof面试题1.cpp//What is the output of the following code?//[美国某著名计算机软硬件公司面试题]#include#include#includeusing namespace std;struct{ short a1; short a2; short a3;}A;struct{ long a1; short a2;}B;int main(){ char* ss1="0123456789"; char ss2[]="0123456789"; cha原创 2010-12-18 12:33:00 · 5096 阅读 · 2 评论 -
C++面试题之赋值语句面试题
//赋值语句例题1//中国台湾某著名计算机硬件公司2005年12月面试题//What does the following program print?#includeusing namespace std;int main(){char s[]="ABC", int i; for(i=0;i cout}//10 10 1 3 1 7 1//赋值语句面试题2.cpp//中国某著名计算金融软件公司2005年12月面试题//What does the following program prin原创 2010-12-18 12:36:00 · 631 阅读 · 0 评论 -
最大公约数的递归解法
<br />//最大公约数.cpp<br />#include<iostream><br />using namespace std;<br />int gcd(int m,int n)<br />{<br /> if(m%n==0) return n;<br /> else <br /> return gcd(n,m%n);<br />}<br />void main(void)<br />{<br /> int m,n;<br /> cout<<"enter two interger nums:";<原创 2010-12-18 12:50:00 · 580 阅读 · 0 评论 -
选择排序法
<br /> <br />//file 选择排序.cpp<br /><br />//选择排序法的基本思想:<br />// 假设有n个数据放在数组a中,现要把这n个数从小到大排序。<br />// 首先,在a[0]到a[n-1]的范围内,选出值小元素与a[0]交换;<br />// 然后在a[1]到a[n-1]的范围内再选出值最小的元素与a[1]交换;<br />// 依次进行下去,进行n-1次选择后就可完成排序。<br />#include"iostream.h"<br />void xuanze_sor原创 2010-12-18 12:55:00 · 598 阅读 · 0 评论 -
文件的读与写操作
<br />//文件的读与写操作.cpp<br />#include <iostream.h><br />#include"fstream.h"<br />#include<stdlib.h><br />#define SIZE 2<br />typedef struct{<br /> char name[10];<br /> int num;<br /> int age;<br /> char addr[15];<br />}STU;<br />STU stud[SIZE]={{"zhang",1001,原创 2010-12-18 13:33:00 · 563 阅读 · 0 评论 -
文件复制操作
<br />//文件复制操作.cpp<br />#include<iostream.h><br />#include<fstream.h> //有关文件输入、输出的定义文件<br />#include<stdlib.h><br />void main()<br />{<br /> char ch; <br /> fstream inf,outf;<br /> inf.open("d://temp//filein.txt",ios::in);<br /> if(!inf){<br /> cout<<"It原创 2010-12-18 13:33:00 · 458 阅读 · 0 评论 -
C++面试题之a和b交换面试题
//a和b交换面试题1.cpp//There are two int variables:a and b,don't use "if","?:"."switch" or other judgement statements, //find out the biggest one of the two numbers.[美国某著名网络开发公司2005年面试题] //答案:// 方案一://int max=((a+b)+abs(a-b))/2//方案二://int c=a-b;//char* strs[2]={原创 2010-12-18 12:26:00 · 1114 阅读 · 0 评论 -
C++面试题之i++面试题
//i++面试题1.cpp//中国台湾某著名杀毒软件公司2005年10月面试题 int i=3,j=4; i?i++:++j; printf("%d %d/n",i,j);//A. 3 3 B. 4 4 C.3 4 D.4 3//答案B//i++面试题2.cpp//中国某著名计算机金融软公司2005年面试题 int x=1,j=2; int k=i+++j; cout//A. 2 B. 3 4 C.4 D. 5//答案B//(i++)+j//i++面试题3.cpp//x=原创 2010-12-18 12:30:00 · 1612 阅读 · 0 评论 -
走台阶问题算法
<br />/* <br />分析:<br />1 步台阶只有1种走法(1)<br />2步台阶2种(11、2)<br />3步台阶有3种(111、12、21)<br />4 步台阶有5种(1111、112、121、211、22)<br />5 步台阶有8种(11111、1112、1121、1211、122、2111、212、221)<br />6步台阶有13种(111111、11112、11121、11211、1122、12111,1212、1221、2111、2112、2121、2211、222)<br原创 2010-12-18 12:52:00 · 2990 阅读 · 0 评论 -
冒泡排序
<br /><br />//file 冒泡排序1.cpp<br />//例:将有10个元素的数组用冒泡排序法按升序排列<br /><br />// 冒泡排序(设按升序)算法:<br />//<br />// 第一趟两两比较:从第一个元素(0下标)开始进行相邻两个元素的比较,<br />// 若前者比后者大,则两者交换位置,再按同样的方法比较下两个相邻元素,一直<br />// 比较到最后两个元素(a[n-2]和a[n-1])。这样,经第一趟两两比较后,排在最后<br />// 的元素(下标为n-1)为最原创 2010-12-18 13:36:00 · 547 阅读 · 0 评论 -
Fibonacci数列
<br />//用递归方法和非递归方法编制计算Fibonacci数列的程序。<br />//Fibonacci数列的计算公式是:<br />// fib(n)=1, (n=1,2)<br />// fib(n)=fib(n-1)+fib(n-2), (n>=3)<br />//即数列的前两个数为1,从第三个数开始每个数的值都是其前两个数之和。<br /> <br /> <br />//用递归方法<br />#include<iostream.h><br />long fib(int n)原创 2010-12-18 13:54:00 · 472 阅读 · 0 评论