- 博客(43)
- 收藏
- 关注
原创 4.22c++练练手
/*#include using namespace std;class TDate{ public: void SetDate(int y, int m, int d); int IsLeapYear(); void Print(); private: int year,month,day;};void TDate::SetDate(int y, int m, in
2015-04-22 14:30:32
791
转载 大端小端
1. 什么是大端,什么是小端:所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。2.为什么会有大小端:为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit
2015-04-19 21:36:19
404
原创 编写一个函数reverse_string(char * string)(递归实现)
#include void reverse_string(char * string){ int count = 0; char *p = string; char temp; while(*p != '\0') { count++; //计算字符串长度 p++; } if(count > 1) { temp = string[0]; //将最后一
2015-04-14 15:40:16
685
原创 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
#include int digitsum(int x){ int i; if(x == 0) return 0; //递归结束条件 else { i = x % 10; x = x / 10; } return i+digitsum(x); //进行递归}int main(){ int sum = 0; sum = digitsum(1234);
2015-04-14 15:35:16
1367
原创 4_14练练手
//从键盘输入10个学生的有关数据,然后把它们转存到磁盘文件上去/*#include #define SIZE 10struct Student_type{ char name[10]; int num; int age; char addr[15];}stud[SIZE]; //定义全局结构体数组stud,包含10个学生数据void save(){ FIL
2015-04-14 15:21:26
434
原创 判断一个数是否是回文数
#include int pld(int *p,int n){ int i = 0,j = 0,k; while(n != 0) { *(p+i) = n % 10; //将每个数存在数组中 n = n / 10; i++; } k = i/2; for( ; j < i-1; j++, i-- ) { if( *(p+i-1) !=
2015-04-03 14:21:55
434
原创 将字符串数字转换为数字
编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)例如:“12.34“ 返回12.34#include #include int main(){ double my_atof(char *str); double i; char str[] = " +183.23"; i = my_atof(str); //调用函数
2015-04-03 12:03:36
537
原创 4.3结构体
//通过指向结构体变量的指针变量输出结构体变量中成员的信息/*#include #include int main(){ struct Student { long num; char name[20]; char sex; float score; }; struct Student stu_1; //定义struct_Student类型的变量stu_
2015-04-03 11:54:39
359
原创 4.2结构体
/*#include int main(){ struct Student //声明结构体类型 { long int num; char name[20]; char sex; char addr[20]; }a = {10101,"Li lin",'M',"123 Beijing Road"}; //定义结构体变量a并初始化 printf("No.
2015-04-02 11:54:07
387
原创 选择法
/*#include #include int main(){ void sort( char *name[], int n ); //函数声明 void print( char *name[], int n ); //函数声明 char *name[] = {"Follow me","BASIC","Great Wall","FORTRAN","Comouter de
2015-03-31 18:10:48
394
原创 c语言
//将若干字符串按字母顺序(由大到小)输出/*#include #include int main(){ void sort( char *name[], int n ); //函数声明 void print( char *name[], int n ); //函数声明 char *name[] = {"Follow me","BASIC","Great Wall",
2015-03-31 17:58:46
373
原创 3.31函数和指针
//指向数组元素的指针变量//有一个3*4的二维数组,要求用指向元素的指针变量输出二维数组个元素的值/*#include int main(){ int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int *p; //p是int*型指针变量 for( p = a[0]; p < a[0]+12; p++ )
2015-03-31 17:56:12
349
原创 字符串追加
实现char * my_strcat(char * dest,char *src)函数.返回: dest字符串的地址。功能:将src指向的字符串追加到dest指向字符串的后面。例如:char dest[10] = “andef”; char *src = “ghi”;#include char * my_strcat(char * dest,char *src)
2015-03-28 13:24:26
679
原创 3.28函数和指针
//用函数求a和b中的大者/*#include int main(){ int max( int x, int y ); int a,b,c; printf("please enter a and b:"); scanf("%d%d",&a,&b); c = max( a, b ); printf("a = %d\nb = %d\nmax = %d\n",a,b,c); ret
2015-03-28 13:22:35
385
原创 字符串翻转
编写一个函数reverse_string(char * string)实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。#include void reverse_string(char * string){ char temp,*i,*j; i = string; //将string数组的地址赋给i while( *str
2015-03-28 13:14:23
302
原创 3.28练练手
/*#include int main(){ int a[10]; int i; printf("please enter 10 integer numbers:"); for( i = 0;i <10;i++ ) { scanf("%d",&a[i]); } for( i = 0;i <10;i++ ) { printf("%d",*(a + i)); //通过数组
2015-03-28 13:10:35
800
原创 提取字符串
4.编写一个函数,它从一个字符串中提取一个子字符串。函数原型如下:int substr(char dst[], char src[],int start, int len){}目标是:从src数组起始位置向后偏移start个字符的位置开始,最多复制len个非NUL字符到dst数组。在复制完毕之后,dst数组必须以NUL字节结尾。函数的返回值是存储于dst数组中的字符串的长度。
2015-03-23 21:32:57
344
原创 猴子吃桃
7.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,好不过瘾,又多吃了一个。第二天早上又吃了剩下的桃子的一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个,到第10天早上想再吃的时候,就剩下一个桃子。求第一天共摘多少个桃子。#include int main(){ int i,sum=1; for( i = 1;i <=9;i++ ) sum = 2*(sum+1);
2015-03-23 21:24:46
311
原创 大小写字母转换
1.编写一个程序从标准输入读取字符,并把他们写到标准输出。除了大写字母转换成小写字母之外,其他的原样输出。#include int main(){ int ch; while( (ch =getchar()) != EOF ) { if( ch >= 65 && ch <= 90 ) //大写字母的ASCII值得范围是65-90 { ch =
2015-03-23 21:09:14
643
原创 二进制翻转
/*编写函数unsigned int reverse_bit(unsigned int value);这个函数的返回值吧value的二进制位模式从左到右翻转后的值。如在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000 */#include int
2015-03-23 20:58:06
367
原创 求落地
/*一个球从100米高的自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求第10次落地时,共经过多少米,第10次反弹多高*/#include #include int main(){ double i,sum = 100,high=0,n = 10.0; //不能改为float型 for( i = 1.0;i <= n;i++ ) { high = 100*
2015-03-23 20:41:49
272
原创 折半查找
#includeint main(){ int in[10],ins,right=9,left=0,i; printf("请输入从小到大的10个数\n"); for( i = 0;i <= 9;i++ ) scanf("%d",&in[i]); printf("请输入要查找的数:"); // 依次输入从小到大的10个数
2015-03-21 20:12:46
351
原创 求和小算法
#include #include //用到平方函数,加头文件int main(){ float sum = 0.0,i = 1.0; //定义sum和i为float形 for( i = 1;i <= 100;i++ ) { sum = sum+(1.0/i)*pow(-1,++i); //求和公式 } print
2015-03-21 19:45:56
383
原创 求100内出现9的次数
#includeint main(){ int i,sum=0; for(i=1;i<=100;i++) { if(((i+1)%10 == 0 && i!=99 ) || ((i-90) >= 0 && (i-90) < 9)) sum++; else if( i == 99 ) sum+=2; //9
2015-03-21 19:37:57
462
原创 每天练练手3.20
/*#include int main(){ void swap( int *p1,int *p2 ); int a,b; int *pointer_1,*pointer_2; printf("please enter a and b:\n"); scanf("%d%d",&a,&b); //用指针交换两指 pointer_1 = &a;
2015-03-20 21:40:40
338
原创 求闰年
#include int main(){ int i; for( i = 1000; i <=2000; i++ ) { if( (i%4 == 0 && i%100 != 0) || i%400 ==0 ) //能被4整除但不能被100整除或者能被400整除的数 printf("%d\n",i); //输出1000-2000年
2015-03-20 19:32:15
369
原创 交换两个数的值
#include int main(){ int a = 10,b = 20; a = a+b; b = a-b; a = a-b; //不定义临时变量交换两值 printf("a=%d\tb=%d\n",a,b); return 0;}
2015-03-20 19:30:38
435
原创 比较数的大小
#include int main(){ int a[10] = {11,1,2,3,10,5,6,7,8,9}; //定义一个数组,包含10个数 int max = a[0]; int i; for( i = 1; i <= 9; i++ ) { if( max < a[i] ) { max = a[i]; //比较出较大值赋给ma
2015-03-20 19:28:32
703
原创 与的小用法
#include int count_one_bits (unsigned int value){ int count = 0; //标记一个数 while(value) { value = value & (value - 1); //每次相与减少最低位的1 count++; } return count;}int main(){ p
2015-03-20 19:23:22
314
原创 返回参数二进制为1的个数
#include int count_one_bits (unsigned int value){ int count=0; //标记1的个数 while(value) { if(value%2==1) { count++; //如果二进制有1的话,count++ } value=value/2; //参数变为原来的一半 } return co
2015-03-20 19:16:37
283
原创 每天练练手
/*#include int main(){ int ch,i = 0,j = 1; while( (ch = getchar()) != EOF ) { if( j == 1 ) { i++,j++; printf("%d",i); //标准输入输出,且输出行数 } if( ch == '\n' ) j = 1; putchar(ch);
2015-03-19 12:26:05
304
原创 乘法表
#include int main(){ int i,j; for (i=1;i<=9;i++) //定义行数 { for (j=1;j<=i;j++) //定义列数 { printf("%d*%d=%d\t",j,i,i*j); //输出结果 } printf("\n"); } return 0;}
2015-03-18 17:28:44
306
原创 求素数2
#include int main(){ int i,j; printf("100—200之间的素数为:\n"); for (i=100;i<=200;i++) { for (j=2;j<i;j++) { if(i%j==0) //如果能整除跳出循环 break; if(j==(i-1)) printf("%d\t",i); //输出素数
2015-03-18 17:24:02
338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人