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字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




