
C
-FIGHTING-
这个作者很懒,什么都没留下…
展开
-
高级编程语言的发展
目录 高级编程语言的发展历程(一)创始纪 高级编程语言的发展历程(二)虚拟机的前世今生 高级编程语言的发展历程(三)FORTRAN 语言是怎么来的 高级编程语言的发展历程(四)LISP 和 AI 的青梅竹马 A 高级编程语言的发展历程(五)LISP 和 AI 的青梅竹马 B 高级编程语言的发展历程(六)SCHEME 语言是怎么来的 高级编程语言的发展历程(转载 2015-05-31 17:47:22 · 1186 阅读 · 0 评论 -
ACM-写出1到n的全排列
描述 一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0,,,聪明的你能帮匡匡解围吗?输入第一行输入一个数N(0输出按特定顺序输出所有组合。特定顺序:每一个组合中的值从小到大排列,组合之间按字典序排列。样例输入223样例输出1221原创 2015-05-27 10:43:08 · 2728 阅读 · 0 评论 -
输入一行字符,统计有多少个单词
解题思路: 关键:怎样确定出现一个新单词 方法:从第一个字符逐个进行检查,判断此字符是否为新单词的开头,如果是num+1,最后num的值就是单词总数判断是否出现新单词,可以由是否由空格出现来决定(连续若干个空格作为出现一次空格,一行的开头空格不统计在内),若出现某个字符为非空格,而它前面的字符是空格,则表示新单词开始,此时num+1,如果当前字符为非空格,前面的字符也是非空格,则表示还是原来的单词原创 2015-07-06 19:09:47 · 6502 阅读 · 1 评论 -
C语言概述
【C语言】C语言概述本文目录为什么iOS开发要先学C语言?一、C语言简史二、C语言的特点三、C语言能做什么?四、C语言的版本问题说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略为什么iOS开发要先学C语言?iOS开发的核心语言是Objectiv原创 2015-07-13 14:42:00 · 2400 阅读 · 0 评论 -
一个字符串中查找另一个字符串出现的次数
#include#include int strstrcount( char *str1, char *str2 ){ char *str = str1; int c = 0; while( (str = strstr( str, str2 )) != NULL ) { c++; str++; } return c;}int main(){原创 2015-07-04 20:15:05 · 3033 阅读 · 0 评论 -
利用函数指针对数组进行排序
#includeint compare(int a,int b){ return a - b;}void sort(int *a,int n,int(*p)(int,int)){ int i,j; /* for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if(p(a[j],a[j+1])>0) { int tem原创 2015-07-05 19:02:55 · 3115 阅读 · 0 评论 -
从终端获取一个字符串,分别统计其中大写字母、小写字母、数字及其它字符的个数。
//从终端获取一个字符串,分别统计其中大写字母、小写字母、数字及其它字符的个数。#include#includeint main(int argc,const char *argv[]){char str[100];char ch;int len,i;int letter = 0, number = 0, space = 0, other = 0;get原创 2015-07-03 16:46:03 · 7607 阅读 · 0 评论 -
冒泡排序-用指针方式实现
#includevoid bubble_sort(int *a,int n){ int i,j; for(i = 0;i<n;i++) { for(j = i;j < n;j++) { if(*(a+i)>*(a+j)) { int temp; temp = *(a+i); *(a+i) = *(a+j); *(a+j) = temp;原创 2015-07-04 19:40:55 · 18750 阅读 · 2 评论 -
传入一个整数,将其转换为字符串(考虑负号)//转换整数为字符串,转换负数为字符串
//传入一个整数,将其转换为字符串(考虑负号)void change(int n){int i,j,temp;int sign=n;char str[50];if(sign<0)n=-n;for(i=0;n!=0;){str[i++] = n%10 + '0';n = n/10;}if(sign<0){str[i++]='-';//在'\0'之前加'-'}str[i] = '\0';//字符串末尾原创 2015-07-03 17:47:25 · 2646 阅读 · 0 评论 -
实现两个函数,分别完成数组元素的插入和删除操作
注意问题: 1.定义一个数组,开辟一段内存空间,这段内存空间并不会像被围墙围住一样被封死,合理地利用这个数组,需要程序员自己控制。只定义了这段空间,只有这段空间内的数据对于你当前的程序是合理的,越界的话就不知道你访问到哪里去了,它可能属于机器上任何一个运行着的进程,因为机器上的进程使用的都是这一条内存。如果你修改了你越界访问到的数据,可能会造成未知的错误。 2可以通过sizeof()获得原创 2015-07-05 18:21:01 · 1457 阅读 · 0 评论 -
通过调用函数,比较两个数的大小
#includeint max(int a,int b){ return a>b?a:b;}int main(){ int a,b; printf("please input two number:\n"); scanf("%d%d",&a,&b); printf("max=%d",max(a,b)); return 0;}原创 2015-07-06 19:40:13 · 6515 阅读 · 0 评论 -
有若干个字符串,比较找出其中最大者
#include#includeint main(){ char str[3][50]; char string[50]; int i; for(i=0;i<3;i++) gets(str[i]); if(strcmp(str[0],str[1])>0) strcpy(string,str[0]); else strcpy(string,str[1]); if原创 2015-07-06 19:28:50 · 1139 阅读 · 1 评论 -
移动开发、C/C++、算法、程序员人生
书单如下:移动开发相关:Apple Watch 人机 界面指南 (中文版 )iOS8 by TutorialsiOS Games by Tutorials v2.2Objective-c高级编程 iOS与OS X多线程和内存管理SpriteKitUsing Swift with Cocoa and Objective-C完整中文CocoaChina精校版台湾-蔡原创 2015-07-12 16:40:47 · 3022 阅读 · 0 评论 -
链式存储(头插法、尾插法)
#include "stdio.h"#include "string.h"#include "ctype.h"#include "stdlib.h"#include "io.h"#include "math.h"#include "time.h"#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define原创 2015-07-07 17:55:53 · 1702 阅读 · 0 评论 -
递归解决-兔子问题-斐波那契数列
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....原创 2015-06-01 21:38:22 · 2937 阅读 · 0 评论 -
数组名作为函数参数(求学生平均成绩)
除了可以用数组元素作为函数参数外,还可以用数组名作为函数参数(包括实参和形参)应当注意的是:用数组元素作为实参时传递的是数组元素的值,而用数组名作为函数的实参,向形参(函数名或指针变量)传递的是数组首地址的值。#includefloat average(float array[5]){ int i; float aver,sum=0; for(i=0;i<5;i++) sum+=原创 2015-07-07 17:13:10 · 11511 阅读 · 0 评论 -
输入10个数,求出最大元素是第几个数(数组作为函数参数)
小结:调用有参数的函数时,需要提供实参。实参可以是常量、变量、表达式。数组元素的作用相当于变量。数组元素可以作为函数实参,其方法与变量相同,向形参传递数组元素的值。数组名也可作为实参和形参,传递的是数组的首地址。数组元素可以作函数的实参,但是不能作形参。因为形参是在函数调用时临时分配存储单元的,不可能为一个数组元素独立分配存储单元(数组是一个整体,在内存中占连续的一段存储单元)。在用数原创 2015-07-07 16:49:23 · 2553 阅读 · 0 评论 -
给定一个整数,求s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n)
//题目虽然简单,但是对于初学者来说,#includeint main(){int n;int i;int sum = 0;float S = 0.0;scanf("%d",&n);for(i = 1;isum += i;S += (float)1/sum;}printf("%f\n",sum);return 0;}原创 2015-06-27 21:23:52 · 11144 阅读 · 1 评论 -
拐角矩阵
#includeint main(){ int i,j,k,n; printf("n:"); scanf("%d",&n); for(i=1;i<n;i++) { for(j=1;j<=n;j++) {原创 2015-07-13 17:26:35 · 4862 阅读 · 1 评论 -
右拐角矩阵
angel:angel ms$ vi 1.cangel:angel ms$ cc 1.c -o 2angel:angel ms$ ./2n:5 5 4 3 2 1 4 4 3 2 1 3 3 3 2 1 2 2 2 2 1angel:angel ms$ cc 1.c -o 2angel:angel m原创 2015-07-14 08:01:57 · 2300 阅读 · 0 评论 -
汉诺塔-递归实现
#includevoid move(char x,char y){ printf("%c->%c\n",x,y);}//将n个盘子从1中借助2移动到3void hanoi(int n,char one,char two,char three){ if(n==1) move(one,three); else { hanoi(n-1,one,two,three); mo原创 2015-07-06 19:59:08 · 818 阅读 · 2 评论 -
给出4个整数,找出最大者,使用函数嵌套
#includeint max_2(int a,int b){ return a>b?a:b;}int max_4(int a,int b,int c,int d){ int m; m = max_2(a,b); m = max_2(m,c); m = max_2(m,d); return m;}int main(){ int a,b,c,d; printf("p原创 2015-07-06 19:50:39 · 1553 阅读 · 1 评论 -
选择排序
//选择排序#includeint select_sort(int a[],int n){int i,j,temp;for(i = 0; i {for(j = i+1; j {if(a[i] > a[j]){temp = a[i];a[i] = a[j];a[j] = temp;}}}}int main(){int a原创 2015-07-03 15:31:52 · 656 阅读 · 0 评论 -
使用指针方式进行数组排序 选择排序:
#includevoid select_sort(int *a,int n){ int i,j; for(i = 0;i<n-1;i++) { for(j = i+1;j < n;j++) { if(*(a+i)>*(a+j)) { int temp; temp = *(a+i); *(a+i) = *(a+j); *(a+j) = t原创 2015-07-04 19:38:30 · 19114 阅读 · 3 评论 -
杨辉三角
#includeint main(){ int i,j,a[6][6]; for(i=0;i<6;i++) { a[i][i]=1; a[i][0]=1; } for(i=2;i<6;i++) for(j=1;j<=i-1;j++) a[i][j]=a[i-1][j]+a[i-1][j-1]; for(i=0;i<6;i++) { for(j=0;j<=原创 2015-07-09 18:55:33 · 817 阅读 · 0 评论 -
将一个4X4的数组进行逆时针旋转90度后输出,要求原数组数据随机输入
//将一个4X4的数组进行逆时针旋转90度后输出,要求原数组数据随机输入#includeint main(){ int a[4][4],b[4][4],i,j;//a存放原是数组数据,b存放旋转后的数组数据 printf("please input 16 number:"); for(i=0;i<4;i++) for(j=0;j<4;j++) { scanf("%d",&原创 2015-07-09 18:45:57 · 3333 阅读 · 0 评论 -
字符串面试题(一)字符串逆序
字符串面试题(一)字符串逆序几点说明1. 所有题目全部来自网络,书籍,或者我自己的面试经历,本人只是负责搜集整理。在此对原作者表示感谢!2. 我已经尽力确保文字及程序的正确性,但我毕竟是凡人,如果您发现了文章中的错误,或者有更好的解法,请一定留言相告,以免误导大家!3. 所有代码都采用C/C++编写很早就准备写一个字符串系列的面试题,本来已经写好了,大概有十几道题,转载 2015-07-02 18:06:09 · 966 阅读 · 0 评论 -
字符串逆序输出
//字符串逆序输出#include#includeint main(){char str[50];char temp;int i,length=0;gets(str);length = strlen(str);for(i = 0,length--;i {temp = str[i];str[i] = str[length];str[length原创 2015-07-02 17:23:37 · 1557 阅读 · 0 评论 -
在一个字符串中查找另一个字符串出现的次数
#include#include int strstrcount( char *str1, char *str2 ){ char *str = str1; int c = 0; while( (str = strstr( str, str2 )) != NULL ) { c++; str++; } return c原创 2015-07-02 16:40:19 · 4254 阅读 · 0 评论 -
传入字符串,计算字符串长度(用指针实现)
int strlen(char *s){ int i=0; while(*s!='\0') { i++; s++; } return i;}void main(){ char str[100]; int len; printf("please input your string:");原创 2015-07-01 16:53:45 · 5833 阅读 · 0 评论 -
给定一个整数s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n)
//题目虽然简单,但是对于初学者来说,还是很有必要学习的#includeint main(){int n;int i;int sum = 0;float S = 0.0;scanf("%d",&n);for(i = 1;isum += i;S += (float)1/sum;}printf("%f\n",sum);return 0;}原创 2015-06-27 21:30:55 · 4752 阅读 · 1 评论 -
输入一个整数,判断这个整数各个位数之和是否为奇数
输入一个整数,判断这个整数各个位数之和是否为奇数这里我给我了函数体实现部分,其余部分大家自己补充intisOdd(int number){ int sum=0; while(number!=0)//终止条件! { Sum+=number%10;//这句是关键点 number =number/10;//这句是关键点原创 2015-06-27 20:58:04 · 1921 阅读 · 0 评论 -
C语言打印字母金字塔(第一行是A 第二行是ABA ……)
#include #include int main(){ int line;//代表行数 int i; char letter,ch; printf("请输入一个大写字母:"); scanf("%c",&letter); for(line=0;line { for(i=0;i p原创 2015-06-27 19:00:08 · 19097 阅读 · 0 评论 -
输入年月日,判断是这年的第几天(涉及到闰年的判断)
//这里还是给大家写了一个简单的函数函数类型 函数名(参数1,参数2。。。)这里要提醒大家的是函数名称的命名,这个是有规范的,不能写汉语拼音如果写汉语拼音,让别人看来是十分恶心的,我们要养成一个良好的习惯规范每个公司的可能有多不同,但是相同的一点是我们要见名知意如:whichDayOfYeara表示一年的第几天int whichDayOfYear(int year,原创 2015-06-27 21:11:50 · 4985 阅读 · 0 评论 -
输入字符串反序输出
#include#includeint main(){ char str[100],ch; int i,j,k; printf("please input a string:\n"); scanf("%s",&str); k = strlen(str); for(i=0,j=k-1;i<k/2;i++,j--) { ch = str[i]; str[i] = str[j原创 2015-07-09 19:07:11 · 4053 阅读 · 0 评论 -
从字符数组中删除特定字符
#includeint main(){ char str[100],c; int j,k; printf("please input a string:"); gets(str); printf("\nEnter a character:"); c=getchar(); for(j=k=0;str[j]!='\0';j++) if(str[j]!=c) str[k++]原创 2015-07-09 19:37:59 · 5603 阅读 · 0 评论 -
传入一个整数,将其转换为字符串
//传入一个整数,将其转换为字符串#includeint main(){ long int a; int i,j,temp; char str[50]; scanf("%d",&a); for(i=0;a!=0;i++) { str[i] = a%10 + '0'; a = a/10; } str[i] = '\0'; for(j=0,i--;j <= i/2;i-原创 2015-07-03 16:58:57 · 819 阅读 · 1 评论 -
冒泡排序
//冒泡排序#include int bubble_sort(int a[],int n){int i,j;int temp;for(i = 0;i {for(j = i;j {if(a[i] > a[j]){temp = a[i];a[i] = a[j];a[j] = temp;} }}}int main(int原创 2015-07-03 15:22:58 · 621 阅读 · 0 评论 -
指针与内存管理
指针与内存管理一、指针数组指针数组中的每一个元素均为指针,即有诸形如“*ptr_array[i]”的指针。指针数组中的元素亦可以表示为“*(*(ptr_array+i))”。又因为“()”的优先级较“*”高,且“*”是右结合的,因此可以写作**(ptr_array+i)。由于数组元素均为指针,因此ptr_array[i]是指第i+1个元素的指针。运用:指原创 2015-07-05 19:07:07 · 671 阅读 · 0 评论 -
利用函数指针对数组进行排序(选择排序实现)
#includeint compare(int a,int b){ return a - b;}void select_sort(int *a,int n,int(*p)(int,int)){ int i,j; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(p(a[i],a[j])>0) { int tem原创 2015-07-05 19:05:09 · 8149 阅读 · 0 评论