第5章C语言程序设计习题答案.doc
文本预览下载声明
《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];
显示全部