文档详情

第5章C语言程序设计习题答案.doc

发布:2016-08-21约4.62千字共7页下载文档
文本预览下载声明
《C语言程序设计(Visual C++6.0环境)》习题答案 习题五#include stdio.h int f1(int x,int y) {int z; z=x+y; return z;} int f2(int x,int y) {int c; c=x-y; return c;} main() {int m,n,sum,dec; scanf(%d%d,m,n); sum=f1(m,n); dec=f2(m,n); printf(sum=%d,,dec=%d\n,sum,dec);} 2、编写一个将两个字符串连接的函数。 ①?# includestdio.h cvs(char str1[],char str2[],char str[]) {int i,j; for(i=0;str1[i]!=\0;i++) str[i]=str1[i]; for(j=0;str2[j]!=\0;j++) str[i+j]=str2[j]; str[i+j]=\0; } main() { char s1[100],s2[100],s[100]; printf(输入2个字符串\n); scanf(%s%s,s1,s2); cvs(s1,s2,s); printf(两字符串连接后:%s\n ,s); } ②#include stdio.h #include string.h void lj(char s1[],char s2[]) {int i,j; for(i=strlen(s1),j=0;s2[j]!=\0;i++,j++) s1[i]=s2[j]; s1[i]=\0; } main() {char s1[200],s2[100]; printf(请输入第一个字符串); gets(s1); printf(请输入第二个字符串); gets(s2); printf(输入的字符串是:); puts(s1); puts(s2); lj(s1,s2); printf(连接后的字符串是:); puts(s1);} 3、编写一个函数,输入一个十进制数,输出相应的二进制数。 数组: #include stdio.h void zh(int number,int a[]) { int ys; int i=0,n; while (number/2!=0) {a[i++]=number%2; number/=2;} a[i]=number%2; for(n=i;n=0;n--) printf(%5d,a[n]); } main() { int number; int a[10]; printf(Please input nunber: ); scanf(%d,number); zh(number,a); } 递归 (1)#include stdio.h void zh(int number) { int ys; ys=number%2; number=number/2; if (number==1) printf(%d,number); else zh(number); printf(%d,ys); } main() { int number; printf(Please input nunber: ); scanf(%d,number); zh(number); } (2) #include stdio.h void zh(int m) {int f; f=m%2; if (m/2==0) {printf(%d,m%2);return ;} else zh(m/2); printf(%d,f); } main( ) {int m; printf(请输入一个十进制数:); scanf (%d, m); zh(m); } 4、编写一个函数,使输入的字符串反序存放,在主函数中输入和输出字符串。 ① # includestdio.h # includestring.h inver(char str[]) {char t; int i,j; for(i=0,j=strlen(str);istrlen(str)/2;i++,j--) {t=str[i];
显示全部
相似文档