- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言第9章书后习题_编程题
第9章数组三、编程题9.27输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数。用下标为0的元素统计字符’0’的个数,用下标为1的元素统计字符’1’的个数……#include stdio.hvoid main(){int a[10]={0},i;char c;while((c=getchar())!=\n){if(c=0 c=9)a[c-0]++;}for(i=0;i=9;i++)printf(%d字符的个数:%d\n,i,a[i]);}9.28编写函数,对具有10个整数的数组进行如下操作:从下标为n的元素开始直到最后一个元素,依次向前移动一个位置。输出移动后的结果。#include stdio.h#include stdlib.hvoidfun(int a[], int n, int m)//m代表数组的大小{int i;for(i=n;im;i++) a[i-1]=a[i];for(i=0;im;i++) printf(%d ,a[i]);printf(\n);}void main(){int a[10],n,i;for(i=0;i=9;i++)//产生10个0~39的随机数,并输出{a[i]=rand()%40;printf(%d ,a[i]);}printf(\n);scanf(%d,n);//指定n的值fun(a,n,10);}9.29 编写函数,把数组中所有奇数放在另一个数组中返回。#include stdio.h#include stdlib.hvoidfun(int a[], int b[],int * n)//n代表b数组有效数的多少{inti,j=0;for(i=0;i10;i++) if(a[i]%2) b[j++]=a[i];*n=j;}void main(){int a[10],b[10]={0},i,n;for(i=0;i=9;i++)//产生10个0~39的随机数,并输出{a[i]=rand()%40;printf(%d ,a[i]);}printf(\n);fun(a,b,n);for(i=0;in;i++)printf(%d ,b[i]);printf(\n);}9.30 编写函数,对字符数组中的字母按由大到小的字母顺序进行排序。#include stdio.h#include stdlib.hvoidfun(char a[], int n)//n代表a数组的大小{inti,j;char c;for(i=0;in-1;i++)for(j=i+1;jn;j++)if(a[i]a[j]){c=a[i];a[i]=a[j];a[j]=c;}}void main(){char a[10],i=0,n;while((a[i++]=getchar())!=\n i=9);//排序前输出数组中字符for(i=0;i=9;i++){putchar(a[i]);}printf(\n);fun(a,10);//排序//排序后输出数组中字符for(i=0;i10;i++)printf(%c ,a[i]);printf(\n);}9.31 输入若干个有序数放在数组中。然后输入一个数,插入到此有序数列中,插入后,数组中的数仍然有序。请对插在最前,插在最后,插在中间三种情况运行程序,以便验证程序是否正确。#include stdio.hvoid main(){char a[10],i,n,m,j;printf(请输入有序数有多少个\n);scanf(%d,n);//n代表具体有多少个有序数,它应在1~9之间printf(请输入%d个有序数:\n,n);for(i=0;in;i++)//输入若干个有序的数{scanf(%d,a[i]);}printf(请输入要插入的数:);scanf(%d,m);//输入要插入的数//找位置for(i=0;in;i++)if(a[i]m) break;//空出位置for(j=n-1;j=i;j--) a[j+1]=a[j];//插入数ma[i]=m;n++;//输入后的数组元素for(i=0;in;i++)printf(%d ,a[i]);printf(\n);}9.32 编写函数,把任意十进制正整数转换成二进制数。提示:把十进制数不断被2除的余数放在一个一维数组中,直到商为零。在主函数中进行输出,要求不得逆序输出。#include stdio.hvoiddtob(intn,int a[],int *m){int i=0,r,j;a[0]=n%2;n=n/2;while(n0){r=n%2;//求余for(j=i;j=0;j--) a[j+1]=a[j];//所有数后移,空出最前面的位置a[0]=r;//放入新的余数i++;n=n/2;}*m=i+1;}void mai
您可能关注的文档
- 三国志11威力加强版全面攻略.docx
- 11实验十一_常用网络命令.doc
- HPUX 11.11 LVM创建完整步骤.docx
- 11第十一章 节能评价(都安).doc
- GSM11.11(国语版).doc
- 公关笔试试题11.11.doc
- V11.2-11.3.0双机配置.docx
- 11实验十一、演示实验:程控交换机状态查询和监控实验.doc
- 11对11仿真机器人规则.doc
- 11简明材料力学习题 答案 第十一章.doc
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)