C语言程序设计第四版第七章答案 谭浩强
第七章 用函数实现模块化程序设计
第七章 函数
7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
maxyueshu(m,n)
int m,n;
{ int i=1,t;
for(;i<=m&&i<=n;i++)
{if(m%i==0&&n%i==0)
t=i;
}
return(t);
}
minbeishu(m,n)
int m,n;
{int j;
if(m>=n) j=m;
else j=n;
for(;!(j%m==0&&j%n==0);j++);
return j;
}
main()
{int a,b,max,min;
printf("enter two number is: ");
scanf("%d,%d",&a,&b);
max=maxyueshu(a,b);
min=minbeishu(a,b);
printf("max=%d,min=%d\n",max,min);
}
7.2求方程 的根,用三个函数分别求当b2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。
#include"math.h"
float yishigen(m,n,k)
float m,n,k;
{float x1,x2;
x1=(-n+sqrt(k))/(2*m);
x2=(-n-sqrt(k))/(2*m);
printf("two shigen is x1=%.3f and x2=%.3f\n",x1,x2);
}
float denggen(m,n)
float m,n;
{float x;
x=-n/(2*m);
printf("denggen is x=%.3f\n",x);
}
第七章 用函数实现模块化程序设计
float xugen(m,n,k)
float m,n,k;
{float x,y;
x=-n/(2*m);
y=sqrt(-k)/(2*m);
printf("two xugen is x1=%.3f+%.3fi and x2=%.3f-%.3fi\n",x,y,x,y);
}
main()
{float a,b,c,q;
printf("input a b c is ");
scanf("%f,%f,%f",&a,&b,&c);
printf("\n");
q=b*b-4*a*c;
if(q>0) yishigen(a,b,q);
else if(q==0) denggen(a,b);
else xugen(a,b,q);
}
7.3写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 psushu(m)
int m;
{int i=2,t;
for(;i<=m;i++)
if(m%i==0&&i<m) break;
if(m-i==0) t=1;
else t=0;
return m;
}
main()
{int a,s;
printf("enter sushu is \n");
scanf("%d",&a);
s=psushu(a);
if(s==1) printf("a is sushu\n");
else printf("s is not sushu\n");
}
7.4写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。
int zhuangzhi(b)
int b[3][3];
{int i,j,t;
for(i=0;i<3;i++)
for(j=0;j>=i&&j<3-i;j++)
{t=b[i][j];b[i][j]=b[j][i];b[j][i]=t;}
}
main()
第七章 用函数实现模块化程序设计
{int a[3][3];int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf(" %d",a[i][j]);
printf("\n");}
zhuangzhi(a);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf(" %d",a[i][j]);
printf("\n");}
}
7.5写一函数,使输入的一个字符串按反序存放,在主函数中输入输出字符串。 main()
{char str0[100];
gets(str0);
fanxu(str0);
puts(str0);
}
fanxu(str1)
char str1[100];
{int i,t,j;
char str2[100];strcpy(str2,str1);
t=strlen(str1);
for(i=0,j=t-1;j>-1;i++,j--)
str1[i]=str2[j];
}
7.6写一函数,将两个字符串连接。
lianjie(a,b)
char a[100],b[100];
{strcat(a,b);
}
main()
{char str1[100],str2[100];
gets(str1);gets(str2);
lianjie(str1,str2);
puts(str1);
}
8.7写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出。
fuzhi(a,b)
char a[100],b[100];
{int i,j=0;
第七章 用函数实现模块化程序设计
for(i=0;a[i]!=’\0’;i++)
if(a[i]==97||a[i]==101||a[i]==105||a[i]==111||a[i]==117||a[i]==65||
a[i]==69||a[i]==73||a[i]==85) {b[j]=a[i];j++;}
}
main()
{char str1[100],str2[100];
gets(str1);
fuzhi(str1,str2);
puts(str2);
}
7.8写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出"1_9_9_0"。
char f(b)
char b[4];
{int i=0;
for(;i<4;i++)
{printf(" ");
printf("%c",b[i]);}
printf("\n");
}
main()
{int a,u,v,w,t;char c[4];
scanf("%4d",&a);
u=a*0.001;v=0.01*(a-1000*u);w=(a-1000*u-100*v)*0.1;t=a-1000*u-100*v-10*w; c[0]=u+48;
c[1]=v+48;
c[2]=w+48;
c[3]=t+48;
f(c);
}
7.9编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。
char tongji(str0,b)
char str0[100];
int b[4];
{int i;
for(i=0;str0[i]!=’\0’;i++)
{if(str0[i]>=65&&str0[i]<=90||str0[i]>=97&&str0[i]<=122) b[0]++;
else if(str0[i]>=48&&str0[i]<=57) b[1]++;
else if(str0[i]==32) b[2]++;
else b[3]++;}
}
main()
{char str1[100];static int i,a[4];
第七章 用函数实现模块化程序设计
gets(str1);
tongji(str1,a);
printf("zimu Shuzi Kongge Qita\n");
for(i=0;i<4;i++)
printf("%-8d ",a[i]);printf("\n");
}
7.10写一函数,输入一行字符,将此字符串中最长的单词输出。
cechang(str1,word0)
char str1[100],word0[15];
{int i=0,j=0,t=0;
static char word1[15];
for(;str1[i]!=’\0’;i++)
{if(!(str1[i]>=97&&str1[i]<=122||str1[i]>=65&&str1[i]<=90))
{t=j;j=0;continue;}
word1[j]=str1[i];j++;
if(j>=t) strcpy(word0,word1);}
}
main()
{char str0[100],longword[15];
gets(str0);
cechang(str0,longword);
puts(longword);
}
7.11写一函数用起泡法对输入的个字符按由小到大的顺序排列。
int paixu(x)
int x[];
{int i,j,t;
for(j=1;j<10;j++)
for(i=0;i<=9-j;i++)
< …… 此处隐藏:6176字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [公文资料]市场营销专员岗位职责
- [公文资料]综合部经理岗位职责
- [公文资料]会计助理岗位职责
- [公文资料]林业站站长职责
- [公文资料]菜品研发部岗位职责
- [公文资料]街道综治办工作职责
- [公文资料]酒店前台的工作职责
- [公文资料]销售部经理岗位职责
- [公文资料]工程部副经理岗位职责
- [公文资料]手术室护士工作职责
- [公文资料]银行客户经理职责
- [公文资料]汽车4s店市场专员职责
- [公文资料]服装店长工作职责
- [公文资料]采购总监岗位职责
- [公文资料]大学行政秘书工作职责
- [公文资料]学校财务人员岗位职责
- [公文资料]财务统计员岗位职责
- [公文资料]物业工程主管工作职责
- [公文资料]公司后勤工作职责
- [公文资料]采矿工程师岗位职责
- 门面出租合同样板(门面出租的合同)
- 自用房屋租赁合同 自住房租房合同(汇总
- 最新酒店劳动合同管理制度(11篇)(酒店
- 2025年无产权车库买卖合同实用(14篇)(
- 建筑工程农民工劳动合同十五篇(通用)(
- 最新深圳标准劳动合同 深圳劳动合同如
- 解除劳动合同通知书(实用6篇)(解除劳动
- 2025年二手房屋买卖合同范围精选(二十
- 最新融资贷款居间合同大全(22篇)(融资
- 2025年个人二手房屋买卖合同协议书四篇
- 2025年果树苗木买卖合约书 签订果树苗
- 广东省劳动合同书填写(21篇)(广东省劳
- 最新餐饮行业没有劳动合同 劳动法餐饮
- 农村土地买卖合同(汇总21篇)(农村土地
- 最新房屋转租合同模版21篇(通用)(标准
- 2025年进口合同号查询五篇(大全)(进口
- 农村建房包工包料合同(通用8篇)(农村建
- 2025年安装监控合同协议书(15篇)(2025
- 2025年企业租赁经营合同(模板9篇)(2025
- 最新郊区土地租赁合同(优质23篇)(最新




