谭浩强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)相关推荐

  1. 河南理工大学c语言程序第六章答案,河南理工大学C语言课后习题答案精解第六章..ppt...

    河南理工大学C语言课后习题答案精解第六章. 选择题 (1) C语言中一维数组的定义方式为:类型说明符 数组名 A. [整型常量]B. [整型表达式] C. [整型常量]或[整型常量表达式]D. [变量 ...

  2. 湖北民族学院c语言试卷,C实验参考答案(湖北民族学院计算机c语言课后习题答案)..doc...

    C实验参考答案(湖北民族学院计算机c语言课后习题答案). 实验二 基本数据类型.运算符及表达式 1. 分析以下程序,判断输出结果,然后上机运行程序验证结果. (1) # include main( ) ...

  3. C语言课后习题(69)

    谭浩强C语言第五版的一些课后习题 第十章 第十一题 从键盘输入若干行字符,存到磁盘文件,读入数据,将其中的小写转大写 int main(){int i;FILE *fp;char str[100],c ...

  4. C语言课后习题(68)

    谭浩强C语言第五版的一些课后习题 第十章 第四题 合并A B文件信息 并安字母顺序排序,输出到C文件 int main(){char str1[20],str2[20];FILE *p1,*p2,*p ...

  5. C语言课后习题(67)

    谭浩强C语言第五版的一些课后习题 第十章 第三题 输入字符串,将小写转为大写,输出到一个文件,以!结束 实现:输入后将小写转大写了再存到文件中 int main(){FILE *fp;char str ...

  6. C语言课后习题(66)

    谭浩强C语言第五版的一些课后习题 第九章 第三题 编写print,输出成绩数组,包括num,name,score[3] struct Student{char num[6];char name[10] ...

  7. C语言课后习题(65)

    谭浩强C语言第五版的一些课后习题 第九章 第一题 定义一个结构体变量 年月日 计算改日在本年是第几天 struct{int year;int month;int day; }date; int mai ...

  8. C语言课后习题(63)

    谭浩强C语言第五版的一些课后习题 第八章 第十四题 n个数逆序排列 然后输出 int main(){void print(int *p,int n);void sort(int *p,int n);i ...

  9. C语言课后习题(62)

    谭浩强C语言第五版的一些课后习题 第八章 第十二题 用指针数组处理上一题 int main(){void print(char *p1[]);void sort1(char *s[]);void so ...

最新文章

  1. php fpm是干嘛的,php-fpm是什么?
  2. 一位刚刚成功上岸的智能车队员对于参赛经历总结与对比赛的建议
  3. KS003基于JSP和Servlet实现的商城系统
  4. 使用redis实现订阅功能
  5. SAP 电商云 Spartacus UI added-to-cart 的端到端测试源代码解析
  6. 新概念51单片机C语言教程纠错(3)
  7. mybatis 存储过程 tmp_count_mysql存储过程(一)-navicat与mybatis
  8. 魔方机器人之下位机编程----串口接收数据并解析
  9. Fedora17安装QQ2012手记
  10. 惠普笔记本被政府盖章存隐藏键盘记录器,怎么回事?
  11. 网络安全专栏——telnet远程登录数据包捕获个性化登录账号及密码(图文丰富 保姆级 有几种错误解决方案 为什么不用输入telnet密码就能登录 )
  12. win10专业版 原版安装教程
  13. 汽车暖风系统操作步骤
  14. html图片向两边展开效果,通过CSS3 transform实现图片浏览的几种效果
  15. Android传感器的使用(1)——摇一摇切换图片
  16. Linux网络知识详解以及demo(Centos6、7)——OSI、TCP、UDP、IP、子网掩码/划分、网关、路由、广播、虚拟网络、网卡、交换机、DNS、ARP
  17. iis 自动重启的bat
  18. 在Ubuntu上为软件安装桌面快捷方式
  19. 关于西安电子科技大学821电路的难点辨析(一)---受控源的处理
  20. 数字信号处理-11-FPGA FFT IP应用实例

热门文章

  1. 云计算之IaaS 中间件
  2. linus系统下载_系统管理程序卷土重来,Linus拒绝并阅读电子邮件,以及更多行业趋势
  3. devops_面向内向的人的DevOps
  4. mssql 查询每个业务员_每个社区管理员应阅读的7本书
  5. 采用开源技术的好处_采用开源的6个技巧
  6. 前端:HTML/07/综合案例:月福首页,开发网站的流程,网站布局结构,排版准备,图片热点,网页多媒体
  7. 大佬 | 从啥也不会,到Java大佬,他就因为会了这一门绝技
  8. Bootstrap3 输入提示插件typeahead
  9. es6 使用修饰器实现Mixin模式
  10. 一些简单有趣的c语言编程,一个有趣的小程序