C语言程序设计语言2
qq_42310852
这个作者很懒,什么都没留下…
展开
-
1-13 打印输入中单词长度的直方图
水平方向:#include <stdio.h>int main(void){ int c,n,i,j,k; int arr[100]={0}; i=0; n=0;//统计每个单词的长度 while((c=getchar())!=EOF) { if(c==32|c=='\n' )//遇到空格或者回车保存单词的...原创 2018-09-06 13:38:54 · 616 阅读 · 0 评论 -
C语言变量的理解
原创 2018-09-11 09:32:52 · 280 阅读 · 0 评论 -
逆波兰算法 图解表示
原创 2018-09-07 17:12:09 · 1142 阅读 · 0 评论 -
指针数组,数组指针,函数,函数指针如何分辨
1、int *p[];//指针数组 数组中的元素都是int 类型的指针2、int (*p)[];//数组指针 p是一个指针,指向一个int类型的数组3、int *p(); p是一个函数,返回值是int类型的指针4、int (*p)(); p是一个函数指针,指向的是返回值是int类型的函数以上可以看出,盯准变量,结合运算符的优先级便可轻易判断1中 由于[]的优先级比*高,故变量p优先...原创 2018-09-12 14:50:24 · 224 阅读 · 0 评论 -
3-5 itob(n,s,b),将整数n转化为以b为底的数,并将转换结果以字符形式保存到字符串s中
#include <stdio.h>void itob(int ,char s[],int);void reverse(char s1[]);int main(void){ char s[100]={0}; itob(-80,s,16); printf("%s\n",s); return 0;}void itob(int n,char s[]...原创 2018-09-06 18:09:16 · 524 阅读 · 0 评论 -
3-3 expand(s1,s2)将字符串s1中类似于a-z一类的速记符号在字符串s2中扩展为等价的完整列表abc...xyz。
#include <stdio.h>void expand(char s1[],char s2[]);int main(void){ int i; char*s1="------0-9"; char s2[100]={0}; expand(s1,s2); for(i=0;s2[i]!='\0';i++) { p...原创 2018-09-06 18:04:33 · 970 阅读 · 0 评论 -
2-10 lower 将大写转化为小写
#include <stdio.h>int main(void){ int c; while((c=getchar())!=EOF) { (c>='A' && c<='Z')?putchar(c+'a'-'A') :putchar(c); } return 0;}...原创 2018-09-06 18:00:25 · 173 阅读 · 0 评论 -
2-9 统计x中值为1的二进制
#include <stdio.h>int bitcount(unsigned int x);int main(void){ unsigned int x=65423; printf("count=%d\n",bitcount(x)); return 0;}int bitcount(unsigned int x){ int count=0;...原创 2018-09-06 17:58:41 · 214 阅读 · 0 评论 -
2-5 any(s1,s2),将字符串s2中的任一字符在字符串s1中第一次出现的位置作为结果返回。如果s1中不包含s2中字符,则返回-1。
#include <stdio.h>int any(char s1[],char s2[]);int main(void){ char *s1="abcdefg"; char *s2="dg"; int pos=any(s1,s2); printf("pos=%d\n",pos); return 0;}int any(char s...原创 2018-09-06 17:55:53 · 406 阅读 · 0 评论 -
2-4 squeeze(s1,s2),将字符串s1中任何与字符串s2中字符匹配的字符删除
#include <stdio.h>void squeeze(char s1[],char s2[]){ int i,j,k; for(i=k=0;s1[i]!='\0';i++) { for(j=0;s2[j]!='\0' && s2[j]!=s1[i];j++) ; if(s2[...原创 2018-09-06 17:53:05 · 935 阅读 · 0 评论 -
2-3 htoi(s) 把由16进制数字组成的字符串(包含可选的前缀0x或0x)转换为与之对应的整型数)
#include <stdio.h>int htoi(char* p);int main(int argc,char** argv){ if(argc <2) { printf("usage:./a.out+num\n"); return ; } int num=htoi(argv[1]); p...原创 2018-09-06 17:49:50 · 607 阅读 · 0 评论 -
1-19 reverse(s),将字符串s中的字符顺序颠倒过来
#include <stdio.h>#include <string.h>char q[100]={0};void reverse(char* p);void getLine(char s[]);int main(void){ int i; char p[100]; //char* p; while(1) { ...原创 2018-09-06 13:46:23 · 1621 阅读 · 0 评论 -
为什么 a[i]=*(a+i);
理解:int a[5]={0,1,2,3,4,5}; int* p=& a[0]; 那么 *(p+1)=a[1]; *(p+2) =a[2]; ... 由于数组的数组名本身就是该数组最开始第一个元素的地址 所以 a 等同于&a[0] 那么 *(a+1)=a[1]...原创 2018-09-11 09:53:55 · 7622 阅读 · 2 评论