单词统计程序

一个简单的单词统计程序, 问题来源: http://topic.csdn.net/u/20111114/10/2e439bbf-04c5-4042-9905-ece0bf008b97.html

 

/* 功能:实现单词统计功能
*/#include <stdio.h>
#include <string.h>main()
{char *t[20];			// 声明一个指针数组,长度为20char (*t2)[20];			// 声明一个指针,该指针指向含20个元素的数组printf("%d: %x, %x\n", sizeof(t), t, t+1);printf("%d: %x, %x\n\n", sizeof(t2), t2, t2+1);//return 0;int i=0,j=0,nLen;char *p,*q,str[]="My ti* me is! limi#ted.",words[100][20];memset(words,'\0',sizeof(words));p=str;while (*p){//if (*p==' ' || *p=='!' || *p==',' || *p=='.' || *p=='?')if(!(isalpha(*p) || isdigit(*p)))		// 不是字母也不是数字,则为一个单词的结束{if(j > 0)							// 当前单词长度不为空{words[i++][j]='\0';j=0;}}else{if (j==0 && (*p >= 'a' && *p <= 'z')){words[i][j++]=*p - 32;			// 将单词首字母变成大写}else{words[i][j++]=*p;}    }p++;}// 法一:用pp=words[0];while (strlen(p) > 0)					// 用p{printf("p: %x\t%s\n", p, p);p += 20;}printf("\n");// 法二:用p2char (*p2)[20] = words;while (strlen((const char*)p2) > 0)		// 用p2{printf("p2: %x\t%s\n", p2, p2);p2++;}printf("\n");//法三:用wordsi = -1;while (strlen(words[++i]) > 0)			// 用words{printf("wrods[%d]: %s\n", i, words[i]);}
}


编译运行:

[zcm@t #109]$make
gcc -g   -c -o a.o a.c
gcc -g -o a a.o
[zcm@t #110]$./a
80: bfb5d554, bfb5d558
4: 8049a08, 8049a1cp: bfb5cd6c	My
p: bfb5cd80	Ti
p: bfb5cd94	Me
p: bfb5cda8	Is
p: bfb5cdbc	Limi
p: bfb5cdd0	Tedp2: bfb5cd6c	My
p2: bfb5cd80	Ti
p2: bfb5cd94	Me
p2: bfb5cda8	Is
p2: bfb5cdbc	Limi
p2: bfb5cdd0	Tedwrods[0]: My
wrods[1]: Ti
wrods[2]: Me
wrods[3]: Is
wrods[4]: Limi
wrods[5]: Ted
[zcm@t #111]$


 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用jQuery实现的Ajax 验证用户名是否存在

异步刷新实现方式有多种&#xff0c;也可以借助JS的多种框架&#xff0c;下面是使用jQuery框架实现的AJAX 验证用户名是否存在 jQuery.ajax概述 HTTP 请求加载远程数据。 通过jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpReq…

HTML DOM之节点操作方法(2)

9.document.hasFocus()方法返回布尔值&#xff0c;用于检测文档(或文档内的任一元素)是否获取焦点。没有参数 10.node.hasChildNodes()方法返回 true&#xff0c;如果指定节点拥有子节点&#xff0c;否则返回 false。没有参数 11.node.isDefaultNamespace(namespaceURI)方法返回…

git clone、git pull和git fetch的用法及区别

1.git clone git clone顾名思义就是将其他仓库克隆到本地&#xff0c;包括被clone仓库的版本变化。举个例子&#xff0c;你当前目录比方说是在e:/course/中&#xff0c;此时若想下载远程仓库&#xff0c;本地无需git init,直接git clone url&#xff08;url是你远程仓库的地址…

求一个整数的阶乘结果中后缀0的个数

问题描述&#xff1a; 给一个整数&#xff0c;请输出该数字阶乘的后缀0的个数&#xff0c;例如&#xff1a; 数字7&#xff0c;它的阶乘为5040&#xff0c;后面有一个0&#xff0c;则输出1&#xff1b;还有数字10&#xff0c;它的阶乘为3628800&#xff0c;后面有两个0&#x…

(转载)Android两种Tab分页的方式:TabActivity和ActivityGroup以及Android项目几种常见的应用架构...

在Android里面Tab分页&#xff0c;常用的方法有两种&#xff1a; 一、TabActivity和TabHost的结合 1.主类继承TabActivity public class Tagpage extends TabActivity 2.获取当前TabHost对象 final TabHost tabHost getTabHost(); 3.添加Tab分页标签,这里就是关键&#xff0c;…

CSS3之Transition

css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发&#xff0c;并圆滑地以动画效果改变CSS的属性值 1.语法&#xff1a;transition: property duration timing-function delay; 参数1&#xff1…

解决qrcode动态生成二维码时多次点击生成多个二维码的问题

getEwm(url){document.getElementById("qrcode").innerHTML "";var qrcode new QRCode(this.$refs.qrCodeUrl, {text: url,width: 200,height: 200,colorDark: #000000,colorLight: #ffffff,correctLevel: QRCode.CorrectLevel.H})},即生成二维码之前先将…

无线运维——J2ME和WAP运维方式的优缺点

随着信息技术的发展&#xff0c;软件产品进入了多接入渠道的新阶段&#xff0c;这些接入渠道既包括传统的Socket、Web等方式&#xff0c;也包含WAP, SMS,EMAIL等方式。网络管理软件作为软件产品的一个小的分支&#xff0c;在多接入渠道方面&#xff0c;也有了很大的发展。今天我…

没有光驱怎样从硬盘上安装Windows XP系统

不少朋友问我&#xff0c;电脑上的光驱坏了&#xff0c;要重装系统怎么办&#xff1f;下面我就给大家介绍如何从从硬盘安装系统。 一、准备工作 &#xff11;、准备一个原版XP SP3系统&#xff0c;用WINRAR解压把I386文件包直接提取出来。只需提取I386文件包,其它的不需要了。…

UVA 1025 A Spy in the Metro DP水题

简单DAG&#xff0c;每个状态有三种决策&#xff0c;原地傻等&#xff0c;上往左开的车&#xff0c;上往右开的车。 #include <cstdio> #include <cstring> #include <iostream> #include <map> #include <set> #include <vector> #includ…

CSS3之Transform

Transform字面上就是变形&#xff0c;改变的意思。在CSS3中transform主要包括以下几种&#xff1a;旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix 语法&#xff1a;transform: rotate | scale | skew | translate |matrix 1.旋转rotate rotate(<ang…

解决 “数据大屏“ 展示的屏幕适配问题

现在非常流行的大数据可视化方案&#xff0c;不过要做数据大屏有一个很重要的问题就是屏幕适配。 vue项目使用flexible.js和rem适配 vue中使用flexible.js实现屏幕自适应 一、引入flexible文件 flexible是移动端屏幕适配非常著名的的插件&#xff0c;能够帮助我们修改rem的值&…

论图书营销中的“托”

论图书营销中的“托” 一、引言 提到“托”&#xff0c;让我想起了小时候&#xff08;1987年左右&#xff09;发生在汉正街的一些关于“拖”的故事。这些故事大致的模式都差不多&#xff1a;若干人一伙&#xff0c;一部分人充当卖主&#xff0c;在街边摆个地摊&#xff08;不知…

共享内存---shmget shmat shmdt

From: http://fengxue103.blog.hexun.com/32303320_d.html 要使用共享内存&#xff0c;应该有如下步骤&#xff1a; 1.开辟一块共享内存 shmget() 2.允许本进程使用共某块共享内存 shmat() 3.写入/读出 4.禁止本进程使用这块共享内存 shmdt() 5.删除这块共享内存 shmctl()或者命…

React开发(127):引入icon的方式

新增 icon 步骤&#xff1a;1&#xff0c;找到对应icon库&#xff0c;然后点击下载至本地按钮。2&#xff0c;解压下载的文件&#xff0c;找到 iconfont.css 3&#xff0c;打开该文件&#xff0c;从第三个类开始复制&#xff0c;然后集体替换这个文件的第三个类

“入洞房与度蜜月”的来历

中华民族文明史距今已有五千多年了&#xff0c;人们把结婚仍然称为“入洞房”&#xff0c;尽管人类从洞穴式居住过渡到今天的高楼大厦&#xff0c;但入洞房这一名词至今仍未改变。从来没见过谁把“入洞房”改为“入楼房”。 传说&#xff0c;这是我们祖先轩辕黄帝规定下来的…