编程
文章平均质量分 67
东X哥
我是一颗小小的石头
展开
-
判断一个5位数是否是回文数字(C语言)
# include int main (){ int m ; printf("请输入一个五位数\nm= "); scanf ("%d",&m) ; int m0 , m1 ,m2 ,m3 ,m4 ; m0 = m%10; //个位 m1 = m/10%10; //十位 m2 = m/100%10; //百位 m3 = m/1000%10; //千位 m4 = m/10000%10;原创 2017-01-05 22:59:07 · 1938 阅读 · 0 评论 -
求10000~99999内所有的回文数字
#includeint main(){ int m=10000; int w,q,s,g; int sum=0;/* while(m { w = m/10000; q = m/1000%10; s = m/10%10; g = m%10; if(w == g && s == q){ printf("%d\n",m); sum++; } m++; }*/ for(m=100原创 2017-01-05 22:59:10 · 5949 阅读 · 0 评论 -
打印所有可见ASCII码
#includeint main(){ //可见ascii范围:32-126 char ch = 32; while(ch { printf("'%c'\t%d\n", ch,ch); ch++; } printf("\n"); return 0;}/*ASCII码共256个,其中可见的是32--126共95个 1、0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如原创 2017-01-05 22:59:13 · 4106 阅读 · 0 评论 -
将一个整数逆序输出.c
#includeint main(){ int m; int n=0,zero=0; int flag =1; int nv=0;//0:整数,1,负数 scanf("%d",&m); nv = m; if(m while(m!=0) { if(flag != 0){ if(m%10==0)zero++; //说明m从个位起有多少个连续的0 else flag=0; //filag=0原创 2017-01-05 22:59:15 · 2024 阅读 · 0 评论 -
遥控器的程序.c
#includeint main(){ int key; int jump=0; while(1) { scanf("%d",&key); switch(key) { case 1:printf("打开设备\n");break; case 2:printf("关闭设备\n");break; case 3:printf("增加亮度\n");break; case 4:printf("调原创 2017-01-05 22:59:18 · 1447 阅读 · 0 评论 -
打印一些有规律的星星图案.c
#includeint main(){ int i,j,k; for(i=0;i { for(j=0;j printf("* "); printf("\n"); } for(i=0;i { for(j=0;j printf("*"); printf("\n"); } for(i=0;i { for(k=0;k printf(" "); for(j=0;j printf(原创 2017-01-05 22:59:21 · 701 阅读 · 0 评论 -
比较三个数的大小.c
# include int main (){int x , y , z ,max;printf ("please input 3 numbers\n") ;scanf ("%d%d%d",&x,&y,&z) ; max= x>y ? (x>z ? x:z ) :(y>z ? y:z) ; //如果x>y ,则执行第一个括号里边比较x,z如果x>z, 输出x,反之输出z,如果xz,输出y,原创 2017-01-05 22:59:24 · 1952 阅读 · 1 评论 -
判断某年某月多少天.c
#includeint main(){ int year,month; scanf("%d%d",&year,&month); switch(month) { case 1:case 3:case 5:case 7: case 8:case 10:case 12: //大月31天 printf("day = 31\n"); break; case 4:case 6: case 9:case原创 2017-01-05 22:59:26 · 485 阅读 · 2 评论 -
求三个数的最大公约数和最小公倍数.c
#includeint main(){ int x,y,z,max,min,sum=0; printf("please input 3 numbers :\n") ; scanf("%d%d%d",&x,&y,&z); if(x > y){ if( x> z) max = x; else max = z; }else{ if( y> z) max = y; else原创 2017-01-05 22:59:29 · 3755 阅读 · 0 评论 -
C语言中debug 的用法
在代码中写入 #ifdef DEBUG #endif 编译时用 gcc –DDEBUG –g –o *** ***.c 此时运行的结果是有debug信息的 ,gcc –o *** ***.c 无debug 信息 ,如# include int main (){ int i=0 ; while (1) { printf ("hello world\t") ;原创 2017-01-05 22:59:32 · 12007 阅读 · 0 评论 -
比较两个字符串的字典序.c
#include/* 字符串的字典序: 两个字符串对齐按位比较,如果出现不同字符,那么该字符在ascii码集合中码值小的,则所在字符串字典序靠前;否则靠后; 如果两个字符串同时比较到0,那么两个字符串相等; */int main(){ char s[1024]=""; char s1[1000]=""; printf("please input strings \ns= "); sca原创 2017-01-05 22:59:35 · 12329 阅读 · 3 评论 -
字符串的反转.c
#includeint main(){ char s[1024]=""; scanf("%s",s); //字符数组和普通数组初始化方式不同 int i,j; int len ; char ch; len = sizeof (s) /sizeof(s[0]) ; printf ("the lenth is %d\n",len); //字符数组的长度和数组一样在初始化原创 2017-01-05 22:59:38 · 172 阅读 · 0 评论 -
字符串的拼接-将另一个字符串拼接到新字符串后面.c
/*字符串的拼接,将s2拼接到搜s1的后边*/# include int main (){ char s1[1024] = "" ; char s2[1024] = "" ; printf ("pleade input strings for s1\n s1 = ") ; scanf ("%s",s1); printf ("pleade input strings for s2原创 2017-01-05 22:59:41 · 4494 阅读 · 0 评论 -
字符串的拼接-将另一个字符串拼接到新字符串前面.c
/*字符串的拼接,将s2拼接到搜s1的后边*/# include int main (){ char s1[1024] = " " ; char s2[1024] = " " ; printf ("pleade input strings for s1\n s1 = ") ; scanf ("%s",s1); printf ("pleade input stri原创 2017-01-05 22:59:44 · 2598 阅读 · 0 评论 -
判断一个字符串在另一个字符串中出现的次数.c
#includeint main(){ char s[1024]=""; char key[1024]=""; printf("input a strings for s\n s = "); scanf("%s",s); printf("input a strings for key\n key = "); scanf("%s",key); int i,j,m, sum =0; for(i=0;原创 2017-01-05 22:59:47 · 2571 阅读 · 0 评论 -
求一个数组中的第二大数.c
/*求一个数组中的第二大数,相同的数并列*/# include int main (){ int m[10] = {} ; int max1 , max2 ; int i , tmp ; printf ("please input 10 numbers\n m[]= ") ; for (i=0 ; i scanf ("%d",&m[i]) ; if(m[0]>m[原创 2017-01-05 22:59:49 · 490 阅读 · 0 评论 -
将一个数组的奇数和偶数分开.c
/*将一个数组的奇数和偶数分开,奇数在左,偶数在右*/#includeint main(){ int m[10]; int i,j,k,tmp; printf("please input 10 numbers:\n m[]= "); for(i=0;i scanf("%d",&m[i]); while (getchar()!='\n') ; //清空缓存原创 2017-01-05 22:59:52 · 2887 阅读 · 0 评论 -
在一个有序数组内增加一个元素使之依然有序.c
/*在一个已经有序的数组内,增加一个元素,找到位置使之依然有序(原数组有一位空缺)*/# include int main (){ int m[10] = {10,20,30,40,50,60,70,80,90} ; int i ,tmp ; printf ("pelase input a number \nm[10]= "); scanf("%d",&m[9]);原创 2017-01-05 22:59:55 · 1913 阅读 · 0 评论 -
把一个二维数组对角线反转.c
/*把一个二维数组对角线反转*/#includeint main(){ int m[5][5]={ 1,2,3,4,5, 6,7,8,9,10, 11,12,13,14,15, 16,17,18,19,20, 21,22,23,24,25 }; int i,j,tmp; for(i=0;i { for(j=0;j printf("%d\t",m[i][j]); printf("\原创 2017-01-05 22:59:58 · 2997 阅读 · 0 评论 -
将字符串中小写转大写.c
# include int main (){ char s[1024] = " " ; printf("please input a string \n s=") ; scanf ("%s",s) ; int i , len ; for (i=0 ; s[i] ; i++ ) ; //求字符串长度 len = i ; printf ("len = %d\n",len); for(i=0;i原创 2017-01-05 23:00:01 · 484 阅读 · 0 评论 -
统计字符串中字母出现的次数.c
/*不区分大小写*/#includeint main(){ int sum[26]={0}; char s[1024]=""; scanf("%s",s); int i; for(i=0;s[i];i++) if(s[i] >='a' && s[i] { sum[s[i]-'a']++; //sum[s[i]-'a']将a记作s[0],b记作s[1]... } e原创 2017-01-05 23:00:04 · 3825 阅读 · 1 评论 -
字符串转换数字.c
#includeint main(){ long int m=0; char s[1024]=""; printf ("pelase input a strings for s\ns = "); scanf ("%s",s) ; int n=1; int i,j; for(i=0;s[i];i++) { if(s[i]>='0' &&s[i] m = m*10 + s[i]-'0'原创 2017-01-05 23:00:07 · 144 阅读 · 0 评论 -
去掉字符串中的空格.c
//去掉字符串中的空格//#includeint main(){ char s[1024]=" "; printf ("please input a string include blank for s \ns = "); scanf("%[^\n]",s); //只要不是换行就接收存储在s int r,w; for(r=0,w=0;s[r];r++) { if(s[r] != ' '原创 2017-01-05 23:00:10 · 750 阅读 · 0 评论 -
求阶乘.c
# include int fac (int a ){ int i , m = 1 ;#if 0 for (i=1 ; i#else for (i=a ; i>0 ; i--) #endif m = m*i ; return m ;} int main (){ int a ,b; printf ("please input a number \na原创 2017-01-05 23:00:15 · 178 阅读 · 0 评论 -
递归法将十进制转二进制.c
# include int dec_bin(int a ){ if (a printf ("%c",a+'0'); return ; } else { dec_bin(a/2) ;#ifdef DEBUG getchar();#endif printf("%c",a%2+'0') ; return 0 ;原创 2017-01-05 23:00:18 · 781 阅读 · 0 评论 -
常用字符串函数的封装.c
#includechar *p =NULL ;int my_strlen(const char*s) //求字符串长度{ int i=0; while(s[i++]) ; i-- ; return i ;}char * my_strcpy(char*dest,const char*src) //字符串复制{ if(src ==NULL||dest == NULL) return 0; if(d原创 2017-01-05 23:00:21 · 548 阅读 · 0 评论 -
结构体联合体枚举
联合体(Union)是一种构造数据类型,它提供了一种使不同类型数据类型成员之间共享存储空间的方法,同时可以实现不同类型数据成员之间的自动类型转换。联合体对象在同一时间只能存储一个成员的值。联合的内存大小取决于其中字节数最多的成员,而不是累加,联合也会进行字长对齐。在定义联合变量的时候可以指定初始值,但是只能制定一个初始值(测试过似乎无法设置初值),而且该初始值的类型必须与联合的第一个成员的类型匹配原创 2017-01-05 23:00:24 · 183 阅读 · 0 评论 -
C语言位操作.c
#includeint main(){ char ch = 0xcc; // 0xcc = (-) f f f f f f 1100 1100 // 0x10 = 0001 0000 ch = ch | 0x10; //0xcc||0x10 = f f f f f f 1101 1100 = 0xffff原创 2017-01-05 23:00:29 · 491 阅读 · 0 评论 -
求一个十六进制数中\'1\'的个数.c
/*求一个十六进制数中'1'的个数*/#includeint main(){ int sum=0,i,m; printf("请输入一个十六进制数\na = 0x"); scanf("%x",&m); for(i=0;i {#ifdef DEBUG printf("i=%d\n",i);#endif if((unsigned)m>>i&1) //右移1位即除2,2位除4,因为只看最低位故需要与1原创 2017-01-05 23:00:32 · 1447 阅读 · 0 评论 -
宏定义.c
#include#define OPEN 1#define CLOSE 2#define LIGHT_A 3#define LIGHT_D 4int main(){ int key; scanf("%d",&key); switch(key) { case OPEN: printf("打开设备\n"); break; case CLOSE: printf("关闭设备\n"); b原创 2017-01-05 23:00:35 · 130 阅读 · 0 评论 -
通过读取文件创建链表.c
#includetypedef struct student{ int id; int age; int score; char name[128]; struct student* next;}STU,*PSTU;int main(int argc, char*argv[]){ if(argc printf("no param!\n"); return -1; } FILE * fp; ST原创 2017-01-05 23:00:38 · 2040 阅读 · 0 评论 -
读取文件创建单链表.c
# include # include FILE *fp ;typedef struct student { int id ; int age ; int score ; char name[20]; struct student *next ;}STU , *PSTU ; PSTU head = NULL ;int main () { fp = fopen ("s原创 2017-01-05 23:00:41 · 1979 阅读 · 0 评论 -
通过键盘输入创建链表.c
#include#includetypedef struct student{ int id; int age; int score; char name[128]; struct student* next;}STU,*PSTU;PSTU head=NULL;int main(int argc, char*argv[]){ int ret; int i; PSTU p; char ch; pri原创 2017-01-05 23:00:43 · 1791 阅读 · 0 评论 -
单链表删除结点.c
/*单链表删除结点 */#include#includetypedef struct student{ int id; int age; int score; char name[128]; struct student* next;}STU,*PSTU;PSTU head=NULL;int main(int argc, char*argv[]){ if(argc printf("no para原创 2017-01-05 23:00:46 · 518 阅读 · 0 评论 -
单链表增加结点.c
/*单链表增加结点*/#include#includetypedef struct student{ int id; int age; int score; char name[128]; struct student* next;}STU,*PSTU;PSTU head=NULL;int main(int argc, char*argv[]){ if(argc printf("no param原创 2017-01-05 23:00:49 · 354 阅读 · 0 评论 -
gcc 编译四个步骤
gcc 编译四大步骤:1,预处理阶段: gcc -o hello.i hello.c -E *.c --> *.i 主要是把头文件展开,完成函数或结构体等的声明;2,编译: gcc -o hello.s hello.i -S *.i --> *.s 主要是把c源码文件翻译成汇编文件;3,汇编: gcc -o hello.o hello.s -c原创 2017-01-05 23:00:52 · 933 阅读 · 0 评论 -
通过信号实现对ctrl+c的忽略和恢复.c
/*实现对ctrl+c信号的忽略和恢复忽略ctrl+c信号后可由ctrl+\中断进程*/# include # include # include # include # define DEBUG 0 //1打开DEBUG,0关闭DEBUGint main (){ int i = 0; signal (SIGINT,SIG_IGN); //sigint ,初始化信号,一般有ctrl+c原创 2017-01-05 23:01:00 · 2204 阅读 · 0 评论 -
通过网络套接字实现客户机和服务器的通信.c
/*通过网络套接字实现服务器与主机的通信,客户端向主机 *发送数据,服务器读取客户端数据,并将小写字母转化为 大写返回给客户端 * */ /* 服务器*/# include # include # include # include # include # include # include # include #define _DEBUG 0# define PORT 8080 void w原创 2017-01-05 23:01:03 · 1050 阅读 · 0 评论 -
MinGW+Notepad++搭建C/C++开发环境
一、 下载安装 Mingw,假设安装在D:\Mingw二、 配置环变量,在系统变量path中加入 D:\Mingw\bin配置完之后即可进行检查是否成功:进入cmd,然后输入:gcc-v,出现正确版本号为安装成功三、 打开Notepad++进行以下配置:①按F5,在输入框中键入“CMD/K gcc原创 2017-01-05 23:01:08 · 536 阅读 · 0 评论 -
用系统调用编写复制函数.c
#include #include #include #include #include #include #include // 运行时需两个参数,一个是源文件,一个是目标文件int main(int argc, char* argv[]) { char *src_file; char *dest_file; int src_fd; int dest_fd; cha原创 2017-01-05 23:01:11 · 756 阅读 · 0 评论