C语言程序设计课后题答案(4)

2019-05-17 19:01

}

—————————————————————————————————————— 8.18 请编写函数,对传送过来的三个数选出最大和最小数,并通过形参传回调用函数。 ※程序如下※ #include

max_min(double a,double b,double c,double *max,double *min) {

*max = a ; /* 假定a的值为最大,把a值赋给指针变量*max */

if(*maxBR\假定a的值为最小,把a值赋给指针变量*min */ if(*min>b) *min = b; if(*min>c) *min = c; } main() {

double a,b,c,max,min;

printf(\scanf(\max_min(a,b,c,&max,&min); printf(\}

***************End of Chapter 8******************* 第九章 数 组

************************************************** 一、选择题

(1) D (2) A (3) A (4) A (5) C (6) A (7) B (8) D (9) C (10) C (11)C (12)D (13)D (14)A (15) A (16)A (17)C (18)C 二、填空题 (19) 9 , 0 (20) 6 (21) 12 (22) 3 (23) 2721 (24) -850 , 2 , 0 (25) k = p , k

(26) (c = getchar ( ) ) , ?c? - 65 三、编程题

——————————————————————————————————————

9.27 输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数.用下标为0元素统计字符\的个数,下标为1的元素统计字符\的个数,... ※程序如下※ #include

void count(int a[]) { int i; char ch;

while((ch=getchar())!='\\n') for(i=0;i<10;i++) if(i==ch-'0') if(i==0) a[9]++; else a[i-1]++; } main( ) {

int i,a[10]={0}; count(a); for(i=0;i<10;i++) printf(\}

——————————————————————————————————————

9.28 编写函数,对具有10个整数的数组进行如下操作:从第n个元素开始直到最后一个元素,依次向前移动一个位置.输出移动后的结果.

※程序如下※ fun (int a[],int n) { int i;

for(i=n;i<9;i++) a=a[i+1]; } main() {

int a[10]={0,1,2,3,4,5,6,7,8,9},n,i; scanf(\fun(a,n); for(i=0;i<9;i++) printf(\}

—————————————————————————————————————— 9.29 编写函数把数组中所有奇数放在另一个数组中返回. ※程序如下※ #include #include

int fun(int a[],int b[])

{ int i,j=0; for(i=0;i<10;i++) if(a%2==1) b[j++]=a; return(j); } main() {

int i,j,a[10],b[10]; clrscr();

printf(\for(i=0;i<10;i++) scanf(\j=fun(a,b);

printf(\for(i=0;iBR> printf(\getch(); }

—————————————————————————————————————— 9.30 编写函数对字符数组中的输入字母,按由大到小的字母顺序进行排序。 ※程序如下※ #include

void alpha_sort(char a[],int n); void alpha_rout(char a[],int n); main() { char a[20]; int n; clrscr();

printf(\gets(a); n=strlen(a); alpha_sort(a,n); alpha_rout(a,n); }

void alpha_sort(char a[],int n) { int i,j,p,t; for(j=0;jBR> { p=j;

for(i=j+1;iBR> if(a[p]BR\{

t=a[j]; a[j]=a[p]; a[p]=t; } } }

void alpha_rout(char a[],int n) { int i;

printf(\for(i=0;iBR> printf(\}

——————————————————————————————————————

9.31 输入若干有序数放在数组中。然后输入一个数,插入到此有序数列中,插入后, 数组中的数仍然有序。请对以下三种情况运行你的程序,以便验证你的程序是否正确。 (1)插在最前 (2)插在最后 (3)插在中间 ※程序如下※ #include #define M 10

void sort(int a[M],int b[M+1],int n) { int i;

for(i=0;iBR> { if(a[0]>a[M-1]) {

if(nBR> b=a; else { b=n; break; } } else { if(n>a) b=a; else { b=n; break; } }

}

if(iBR> for(;iBR> b[i+1]=a; else b=n; } main() {

int i,n,a[M],b[M+1]; clrscr();

printf(\for(i=0;iBR> scanf(\printf(\scanf(\sort(a,b,n);

printf(\for(i=0;i<=M;i++) printf(\}

——————————————————————————————————————

9.32 编写函数把任意十进制整数转换成二进制数.提示:把十进制数不断除2除,余数放在一个一维数组中,直到商数为零.在主函数中进行输出,要求不得按逆序输出. ※程序如下※ #include

int dec_bin(int a[],int decimal) /*变量decimal表示十进制数*/ {

int i=0,remainder; while(decimal>0) {

remainder=decimal%2; decimal=decimal/2; a[i++]=remainder; if(decimal<2) { a=decimal; break; } } return(i); } main() {

int i,j,decimal,a[64];


C语言程序设计课后题答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:推荐下载 初中英语多元教学法的探究-最新

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: