300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 《C语言程序设计》第4版 何钦铭 颜晖主编 课后习题答案 第8章 课后习题

《C语言程序设计》第4版 何钦铭 颜晖主编 课后习题答案 第8章 课后习题

时间:2019-01-17 06:10:18

相关推荐

《C语言程序设计》第4版 何钦铭 颜晖主编 课后习题答案 第8章 课后习题

P193

练习8-1 B

练习8-2 2

P197

练习8-3

#include<stdio.h>//练习8-3 计算两个数的和与差 void sum_diff(double op1,double op2,double *psum,double *pdiff){*psum=op1+op2;*pdiff=op1-op2;}main(){double a,b,sum,diff; printf("Enter a,b:");scanf("%lf%lf",&a,&b);sum_diff(a,b,&sum,&diff);printf("sum=%lf,diff=%lf",sum,diff);}

P203

练习8-4

#include<stdio.h>//练习8-4 void bubble(int a[],int n){int i,j,t,count=0,flag=0;for(i=1;i<=n;i++){for(j=0;j<n-i;j++){if(a[j+1]<a[j]){t=a[j+1];a[j+1]=a[j];a[j]=t;}else count++;if(count==n-i){flag=1;}}if(flag==1) break;}}main(){int n,i,a[10];printf("Enter n(n<=10):");scanf("%d",&n);printf("Enter %d numbers:",n);for(i=0;i<n;i++){scanf("%d",&a[i]);}bubble(a,n);for(i=0;i<n;i++){printf("%d ",a[i]);}}

练习8-5

#include<stdio.h>//练习8-5void sort(int a[],int n)//选择排序 {int i,j,t,k;for(i=0;i<n-1;i++){k=i;//固定一个数 for(j=i+1;j<n;j++)//遍历之后的每个数 {if(a[j]<a[k]){k=j;//最小值下标,带走 }}t=a[k];a[k]=a[i];//最小值放到以外循环为下标的数组中 a[i]=t;}}main(){int n,i,a[10];printf("Enter n(n<=10):");scanf("%d",&n);printf("Enter %d numbers:",n);for(i=0;i<n;i++){scanf("%d",&a[i]);} sort(a,n);for(i=0;i<n;i++){printf("%d ",a[i]);}}

P210

练习8-6 第一问:字符数组名即是字符数组的首地址。 第二问:在字符数组名前加上取地址操作符&对数组输出没影响。

练习8-7 因为一个数组包含多个元素,有太多不确定性,不能直接用数组名赋值,只能单个赋值。

练习8-8

#include<stdio.h>//练习8-8 #include<string.h>int main(void){char str[80],str1[80],s[3];int i,j=0,len; gets(str);len=strlen(str);strcpy(str1,str+3);//将字符除前3个之外的存入数组str1中 for(i=0;i<3;i++){s[j]=str[i];//将前3个字母存入数组s中j++;}s[j]='\0';//可要可不要 strcat(str1,s);//将前3个字母连接到后面 i=len;//字符串长度即结束字符的下标 str1[i]='\0';puts(str1);return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。