C语言课后习题(64)
谭浩强C语言第五版的一些课后习题
第八章 第十六题
输入一个字符串,含有数字和非数字,将连续的数字作为一个整数存放到数组中,并统计有多少个整数,然后输出
int main(){char str[50],*p;printf("输入字符串\n");gets(str);p=str;int i=0,j=0,k,e10; //j记录位数个数 k记录当前位数 e10为当前数字需要乘的10的倍数 int dig;//dig 保存字符转为的数字 int a[10],*pp=a;//a用于保存数字, int m;int ans=0;//表示总共整数有几个 while(*(p+i)!='\0'){if((*(p+i)>='0')&&(*(p+i)<='9')){j++; //记录位数有多少个 }else{ //到非数字 if(j>0){ //并且有位数 dig=*(p+i-1)-48; //前一个为数字 且为个位上的数字k=1;while(k<j){ //j位数 k表示当前是第几位 e10=1;for(m=1;m<=k;m++) e10=e10*10; //退出时e10为当前第k+1位需要乘的倍数dig=dig+(*(p+i-1-k)-48)*e10;k++;} //退出循环时 整数已经得到 即为dig//赋值操作*pp=dig;ans++; //总数增加 pp++;j=0; //重置位数判断 }}i++; //不管什么情况 指针后移 }//退出字符串循环//注意 这里如果是数字结尾的字符串,j是有值的 //但是不会统计最后 因为到'\0'就退出了 还没到elseif(j>0){ //将该种情况加入数据dig=*(p+i-1)-48;k=1;while(k<j){ e10=1;for(m=1;m<=k;m++) e10=e10*10;dig=dig+(*(p+i-1-k)-48)*e10;k++;} *pp=dig;ans++; pp++;j=0; }//特殊情况结束printf("统计结果有%d个数字:\n",ans);pp=a;//将pp重新指向开头for(i=0;i<ans;i++){printf("%d ",*(pp+i));} printf("\n");return 0;
}
C语言课后习题(64)相关推荐
- 河南理工大学c语言程序第六章答案,河南理工大学C语言课后习题答案精解第六章..ppt...
河南理工大学C语言课后习题答案精解第六章. 选择题 (1) C语言中一维数组的定义方式为:类型说明符 数组名 A. [整型常量]B. [整型表达式] C. [整型常量]或[整型常量表达式]D. [变量 ...
- 湖北民族学院c语言试卷,C实验参考答案(湖北民族学院计算机c语言课后习题答案)..doc...
C实验参考答案(湖北民族学院计算机c语言课后习题答案). 实验二 基本数据类型.运算符及表达式 1. 分析以下程序,判断输出结果,然后上机运行程序验证结果. (1) # include main( ) ...
- C语言课后习题(69)
谭浩强C语言第五版的一些课后习题 第十章 第十一题 从键盘输入若干行字符,存到磁盘文件,读入数据,将其中的小写转大写 int main(){int i;FILE *fp;char str[100],c ...
- C语言课后习题(68)
谭浩强C语言第五版的一些课后习题 第十章 第四题 合并A B文件信息 并安字母顺序排序,输出到C文件 int main(){char str1[20],str2[20];FILE *p1,*p2,*p ...
- C语言课后习题(67)
谭浩强C语言第五版的一些课后习题 第十章 第三题 输入字符串,将小写转为大写,输出到一个文件,以!结束 实现:输入后将小写转大写了再存到文件中 int main(){FILE *fp;char str ...
- C语言课后习题(66)
谭浩强C语言第五版的一些课后习题 第九章 第三题 编写print,输出成绩数组,包括num,name,score[3] struct Student{char num[6];char name[10] ...
- C语言课后习题(65)
谭浩强C语言第五版的一些课后习题 第九章 第一题 定义一个结构体变量 年月日 计算改日在本年是第几天 struct{int year;int month;int day; }date; int mai ...
- C语言课后习题(63)
谭浩强C语言第五版的一些课后习题 第八章 第十四题 n个数逆序排列 然后输出 int main(){void print(int *p,int n);void sort(int *p,int n);i ...
- C语言课后习题(62)
谭浩强C语言第五版的一些课后习题 第八章 第十二题 用指针数组处理上一题 int main(){void print(char *p1[]);void sort1(char *s[]);void so ...
最新文章
- php fpm是干嘛的,php-fpm是什么?
- 一位刚刚成功上岸的智能车队员对于参赛经历总结与对比赛的建议
- KS003基于JSP和Servlet实现的商城系统
- 使用redis实现订阅功能
- SAP 电商云 Spartacus UI added-to-cart 的端到端测试源代码解析
- 新概念51单片机C语言教程纠错(3)
- mybatis 存储过程 tmp_count_mysql存储过程(一)-navicat与mybatis
- 魔方机器人之下位机编程----串口接收数据并解析
- Fedora17安装QQ2012手记
- 惠普笔记本被政府盖章存隐藏键盘记录器,怎么回事?
- 网络安全专栏——telnet远程登录数据包捕获个性化登录账号及密码(图文丰富 保姆级 有几种错误解决方案 为什么不用输入telnet密码就能登录 )
- win10专业版 原版安装教程
- 汽车暖风系统操作步骤
- html图片向两边展开效果,通过CSS3 transform实现图片浏览的几种效果
- Android传感器的使用(1)——摇一摇切换图片
- Linux网络知识详解以及demo(Centos6、7)——OSI、TCP、UDP、IP、子网掩码/划分、网关、路由、广播、虚拟网络、网卡、交换机、DNS、ARP
- iis 自动重启的bat
- 在Ubuntu上为软件安装桌面快捷方式
- 关于西安电子科技大学821电路的难点辨析(一)---受控源的处理
- 数字信号处理-11-FPGA FFT IP应用实例
热门文章
- 云计算之IaaS 中间件
- linus系统下载_系统管理程序卷土重来,Linus拒绝并阅读电子邮件,以及更多行业趋势
- devops_面向内向的人的DevOps
- mssql 查询每个业务员_每个社区管理员应阅读的7本书
- 采用开源技术的好处_采用开源的6个技巧
- 前端:HTML/07/综合案例:月福首页,开发网站的流程,网站布局结构,排版准备,图片热点,网页多媒体
- 大佬 | 从啥也不会,到Java大佬,他就因为会了这一门绝技
- Bootstrap3 输入提示插件typeahead
- es6 使用修饰器实现Mixin模式
- 一些简单有趣的c语言编程,一个有趣的小程序