大学生C语言程序设计(第四版 谭洪强)实验7 答案(可打印修改)
C程序设计第四版谭浩强课后习题答案共11章word精品文档91页
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
C语言答案谭浩强第7章
C语言答案谭浩强第7章<i>C语言答案谭浩强</i>77.1 100N-S 7.1#include math.hmain(){int i, j, n, a;for (i=1; i=100; i++)a[i]=i;for (i=2; i=sqrt(100); i++)for (j=i+1; j=100; j++)if (a[i]!=0 a[j]!=0)if (a[j]%a[i]==0)a[j]=0;printf(“\n”);for (i=2; i=100; i++){if (a[i]!=0){printf(“%5d”, a[i]);n++;<i>C语言答案谭浩强</i>}if (n%10==0)printf(“\n”);}}2 3 5 7 11 13 17 19 23 2931 37 42 43 47 53 59 61 67 7173 79 83 89 977.2 10 ( )10 a~a a a~a a a~a a~a a a a 10 a a~a a a~a a~a a a a 10 9 a a N-S 7.2main(){int i, j, min, temp, a;printf(“ : \n”);for (i=1; i i++){printf(“a[%d]=”, i);scanf(“%d”, a[i]); /* 10 */}printf(“\n”);for (i=1; i i++)printf(“%5d”, a[i]); /* 10 */printf(“\n”);for (i=1; i i++) /* 7 10 */<i>C语言答案谭浩强</i>{min=i;for (j=i+1; i j++)if (a[min]a[j]) min=j;temp=a[i]; a[i]=a[min]; a[min]=temp; /* a[i+1]~a a[i] */}printf(“ : \n”);for (i=1; i i++)printf(“%5d”, a[i]); /* 10 */}:a=6a=45a=56a=1a=15a=44a=78a=58a=1016 90 45 56 1 15 44 78 58 101 :1 6 15 44 45 56 58 78 90 101 7.3 3 3main(){int a, i, j, sum=0;printf(“ : \n”);for (i=0; i i++)for (j=0; j j++)scanf(“%d”, a[i][j]);for (i=0; i i++)sum+=a[i][i];pr intf(“sum=%5d”, sum);}:1 2 3 4 5 6 7 8 9sum= 157.4N-S 7.3<i>C语言答案谭浩强</i>{int a={1, 4, 6, 9, 13, 16, 19, 28, 40, 100}; int temp1, temp2, number, end, i, j;printf(“a : \n”);for (i=0; i i++)printf(“%5d”, a[i]);printf(“\n”);printf(“ : ”);scanf(“%d”, number);end=a;if (numberend)a=number;else{for (i=0; i i++)if (a[i]number){temp1=a[i]; a[i]=number;for (j=i+1; j j++){temp2=a[j]; a[j]=temp1; temp1=temp2; } }}printf(“ : \n”);for (i=0; i i++)printf(“%5d”, a[i]);}a :1 4 6 9 13 16 19 28 40 100<i>C语言答案谭浩强</i>:51 4 5 6 9 13 16 19 28 40 1007.5 , 8,6,5,4,1 1,4,5,6,8N-S 7.4#define N 5main(){int a[N], i, temp;printf(“ a : \n”);for (i=0; i i++)scanf(“%d”, a[i]);printf(“a :\n”);for (i=0; i i++)printf(“%5d”, a[i]);for (i=0; i i++){temp=a[i]; a[i]=a[N-i-1]; a[N-i-1]=temp; } printf(“ a : \n”);for (i=0; i i++)printf(“%5d”, a[i]);printf(“\n”);}a :8 6 5 4 1a :8 6 5 4 1a :1 4 5 6 87.6 ( 10 )11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1 ………………<i>C语言答案谭浩强</i> (a+b)113N-S 7.5 1 2 3 n:#define N 11main(){int i, j, a[N][N];for (i=1; i i++){a[i][i]=1;a[i]=1;}for (i=3; i i++)for (j=2; j j++)a[i][j]=a[i-1][j-1]+a[i-1][j]; for (i=1; i i++){for (j=1; j j++)printf(“%6d”, a[i][j]);printf(“\n”);}}11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 11 9 36 84 126 126 84 36 9 17.7<i>C语言答案谭浩强</i>8 1 63 5 74 9 21~n1 12 2 n1 13 1 n 14 n 1 15 nN-S 7.622main(){int a, i, j, k, p, m, n;p=1;while (p==1) /* 1~15 */ {printf(“ n(n=1~15, ): ”);s canf(“%d”,if (n!=0 n=15 n%2!=0)p=0;}for (i=1; i i++) /* */<i>C语言答案谭浩强</i> for (j=1; j i++)a[i][j]=0;j=n/2+1;a[j]=1;for (k=2; k=n*n; k++){i=i-1;j=j+1;if (i1 jn){i=i+2;j=j-1;}else{if (i1) i=n;if (jn) j=1;}if (a[i][j]==0)a[i][j]=k;else{i=i+2;j=j-1;a[i][j]=k;}}for (i=1; i i++) /* */{for (j=1; j i++)printf(“%4d”, a[i][j]);printf(“\n”);}n(n=1~15, ):517 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 97.8N-S 7.7<i>C语言答案谭浩强</i>#define N 10#define M 10main(){int i, j, k, m, n, flag1, flag2, a[N][M], max, maxi, manj; prin tf(“\n n: ”);scanf(“%d”,printf(“\n m: ”);scanf(“%d”,for (i=0; i i++){printf(“ %d ? \n”, i);for (j=0; j j++)scanf(“%d”, a[i][j]);}for (i=0; i i++){for (j=0; j j++)printf(“%5d”, a[i][j]);printf(“\n”);<i>C语言答案谭浩强</i>flag2=0;for (i=0; i i++){max=a[i]; maxj=0;for (j=1; j j++)if (a[i][j]max){max=a[i][j];maxj=j;}for (k=0,flag1=1; kn flag1; k++)if (max a[k][maxj]) flag1=0;if (flag1!=0){printf(“\n %d , %d %d .\n”, i, maxj, max); flag2=1;}}if (flag2==0)printf(“\n !\n”);}(1)n: 3m: 40 ?1 2 3 41 ?4 5 5 62 ?3 5 6 71 2 3 44 5 5 63 5 6 70 , 3 4 .(2)n:3m: 40 ?2 4 90 71 ?3 4 5 82 ?9 1 2 3<i>C语言答案谭浩强</i>2 4 90 73 4 5 89 1 2 3!7.9 159 a~a 1 3 5 7 9 11 13 15 17 3 3 a3 a a=9 a3 3 a a a a a a=5 a3 3 a a a a a a=3N-S 7.8#define N 15main(){int i, j, number, top, bott, mid, loca, a[N], flag=1, sign=1; char c;<i>C语言答案谭浩强</i>printf(“ , :\n”);scanf(“%d”, a);i=1;while (iN){scanf(“%d”, a[i]);if (a[i]a[i-1])i++;elseprintf(“ : ”);}printf(“\n”);printf(“ :\n”);for (i=0; i i++)printf(“%4d”, a[i]);printf(“\n”);flag=1;while (flag){printf(“ :”);scanf(“%d”, number);loca=0;top=0;bott=N-1;if (numbera || numbera[N-1]) loca=-1;while (sign==1 top=bott){mid=(top+bott)/2;if (number==a[mid]){loca=mid;printf(“ %d, %d\n”, number, loca+1); sign=0;}else if (numbera[mid])bott=mid-1;elsetop=mid+1;}if (sign==1 || loca=-1) printf(“ %d.\n”, number); printf(“ (Y/N)?”);scanf(“%c”,if (c== ‘n’ || c== ‘N’)flag=0;}}<i>C语言答案谭浩强</i> , :132:45681223344445565758681 3 4 5 6 8 12 23 34 44 45 56 57 58 68 :77.(Y/N)?y:1212, 7(Y/N)?n7.10 , 3 80N-S 7.9<i>C语言答案谭浩强</i>#include stdio.hmain(){int i, j, upp, low, dig, spa, oth;char text;upp=low=dig=spa=oth=0;for (i=0; i i++){printf(“\n %d : \n”, i+1);gets(text[i]);for (j=0; j80 text[i][j]!= ‘\0’; j++){if (text[i][j]= ‘A’ text[i][j]= ‘Z’)upp++;else if (text[i][j]= ‘a’ text[i][j]= ‘z’)low++;else if (text[i][j]= ‘0’ text[i][j]= ‘9’)dig++;else if (text[i][j]= ‘ ’)spa++;elseoth++;}}for (i=0; i i++) printf(“%s”, text[i]); printf(“ : %d”, upp); printf(“ : %d”, low); printf(“ : %d”, dig); prin tf(“ : %d”, spa); printf(“ : %d”, oth); }1 :I am a student.2 :*****3 :ASDFGI am a student.*****ASDFG: 6: 10: 6: 3:1。
C语言程序设计课后习题答案第四版谭浩强
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句59 3.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78 习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
(完整word版)c程序设计(第四版)谭浩强-课后答案(完整版).pdf
C 语言课后习题答案 -第四版 - 谭浩强 (1-7 )第一章#include <stdio.h>int main ( )**\n\n");printf(" Very Good!\n\n");printf (return 0; #include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c); max=a;if (max<b)max=b;if (max<c)max=c;printf **\n");printf("The largest number is %d\n",max); return 0;}第3章#include <stdio.h>#include <math.h> int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n); printf("p=%f\n",p); return 0; }#include <stdio.h>#include <math.h> int main()p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;{float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p1=p*((1+r5)*5); // 一次存5 年期p2=p*(1+2*r2)*(1+3*r3); // 先存2 年期,到期后将本息再存3 年期// 先存3 年期,到期后将本息再存2 年期p3=p*(1+3*r3)*(1+2*r2);p4=p*pow(1+r1,5); // 存1 年期,到期后将本息存再存1 年期,连续存5 次p5=p*pow(1+r0/4,4*5); // 存活期存款。
(完整版)《C语言程序设计》课后习题答案(第四版)谭浩强(可编辑修改word版)
// 一次存 5 年期 // 先存 2 年期,到期后将本息再存 3 年期 // 先存 3 年期,到期后将本息再存 2 年期 // 存 1 年期,到期后将本息存再存 1 年期,连续存 5 次 // 存活期存款。活期利息每一季度结算一次
// 输出按第 1 方案得到的本息和 // 输出按第 2 方案得到的本息和 // 输出按第 3 方案得到的本息和 // 输出按第 4 方案得到的本息和 // 输出按第 5 方案得到的本息和
s=r*r*pi; sq=4*pi*r*r; vq=3.0/4.0*pi*r*r*r; vz=pi*r*r*h; printf("圆周长为: printf("圆面积为: printf("圆球表面积为: printf("圆球体积为: printf("圆柱体积为: return 0; }
//计算圆面积 s //计算圆球表面积 sq //计算圆球体积 vq //计算圆柱体积 vz l=%6.2f\n",l); s=%6.2f\n",s); sq=%6.2f\n",sq); v=%6.2f\n",vq); vz=%6.2f\n",vz);
3-2-2 #include <stdio.h> #include <math.h> int main() {double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072;
3-8 #include <stdio.h> int main() { char c1,c2; printf("请输入两个字符 c1,c2:"); c1=getchar(); c2=getchar(); printf("用 putchar 语句输出结果为:"); putchar(c1); putchar(c2); printf("\n"); printf("用 printf 语句输出结果为:"); ห้องสมุดไป่ตู้rintf("%c %c\n",c1,c2); return 0; }
大学生C语言程序设计(第四版 谭洪强)实验7 答案
实验七 参考答案(参考答案)(1) (sy7-1.c )请编写函数fun ,它的功能是:计算并输出n (包括n )以内能被5 或9 整除的所有自然数的倒数之和。
例如,若主函数从键盘给n 输入20后,则输出为s=0.583333。
注意:n 的值要求不大于100。
算法分析:使用for 循环i ,遍历n 包含n 以内的所有整数,逐一判断每个i ,是否满足条件(能被5 或9 整除),如果满足,则把它的倒数累加到累加器里。
注意:i 的倒数要表示成:1.0/i;参考子函数如下:double fun(int n){double sum=0;int i;for(i=5;i<=n;i++)if(i%5==0||i%9==0)sum=sum+1.0/i;return sum;}(2) (sy7-2.c ) 请编写函数fun ,其功能是:根据以下公式计算s ,并计算结果作为函数值返回,n 通过形参传入。
n s ⋯++++⋯++++++=321132112111例如:若n 的值为11时,函数的值为1.83333算法分析:等式右边从第二项(i=2)开始,其分母等于前一项的分母加上i ;一共有n 项;求出每项的分母,然后把每项进行累加。
参考子函数如下:float fun(int n){float sum=1; //sum 中已经累加了第一项的值int i,m=1; //m 表示每项的分母;for(i=2;i<=n;i++){ m=m+i;sum=sum+1.0/m;}return sum;}(3) (sy7-3.c)请编写函数fun,其功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中。
合并的方式是:将 a 数的十位和个位依次放在c 数的十位和千位上,b 数的十位和个位数依次放在c 数的个位和百位上。
例如,当a=45,b=12,调用该函数后,c=5241。
算法分析:对一个两位数n,它的各位可以通过n%10求的,它的十位数可以通过n/10求的;所以分别用上述方法求的a和b的个位和十位,同时按照要求累加到c里。
c程序设计(谭浩强)第七章习题答案
int i;
float ave=0;
for(i=0;i<10;i++)
ave=ave+a[i][n]/10;
return ave;
}
void max(float a[][5]) //最高分的学生和课程
{
int i,j,row,colum;
float max=a[0][0];
for(i=0;i<10;i++)
# include <stdio.h>
# include<math.h>
# include<string.h>
/*int yue(int a,int b) //求最大公约数
{
int i,min;
min=a>b?b:a;
for(i=min;i>0;i--)
{
if(a%i==0&&b%i==0)
{
return i;
if((mid%2)!=1) //因职工号序号为奇数,故强制把序号转为奇数
mid-=1;
if(strcmp(b,a[mid])>0) //不能写b>a[mid]
{min=mid+2;}
else if(strcmp(b,a[mid])<0) //不能写b<a[mid]
{max=mid-2;}
else
{printf("职工姓名为:%s\n",a[mid-1]);break;}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf("%-2d",b[i][j]);
C语言程序设计第四版第七章答案谭浩强
C语言程序设计第四版第七章答案谭浩强第七章用函数实现模块化程序设计第七章函数7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
ma某yuehu(m,n)intm,n;{inti=1,t;for(;i<=m&&i<=n;i++){if(m%i==0&&n%i==0)t=i;}return(t);}minbeihu(m,n)intm,n;{intj;if(m>=n)j=m;elej=n;for(;!(j%m==0&&j%n==0);j++);returnj;}main(){inta,b,ma某,min;printf("entertwonumberi:");canf("%d,%d",&a,&b);ma某=ma某yuehu(a,b);min=minbeihu(a,b);printf("ma某=%d,min=%d\n",ma某,min);}7.2求方程的根,用三个函数分别求当b2-4ac大于0、等于0、和小于0时的根,并输出结果。
从主函数输入a、b、c的值。
#include"math.h"floatyihigen(m,n,k)floatm,n,k;{float某1,某2;某1=(-n+qrt(k))/(2某m);某2=(-n-qrt(k))/(2某m);printf("twohigeni某1=%.3fand某2=%.3f\n",某1,某2);}floatdenggen(m,n)floatm,n;{float某;某=-n/(2某m);printf("denggeni某=%.3f\n",某);}第七章用函数实现模块化程序设计float某ugen(m,n,k)floatm,n,k;{float某,y;某=-n/(2某m);y=qrt(-k)/(2某m);printf("two某ugeni某1=%.3f+%.3fiand某2=%.3f-%.3fi\n",某,y,某,y);}main(){floata,b,c,q;printf("inputabci");canf("%f,%f,%f",&a,&b,&c);printf("\n");q=b某b-4某a某c;if(q>0)yihigen(a,b,q);eleif(q==0)denggen(a,b);ele某ugen(a,b,q);}7.3写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
C语言程序设计课后习题答案第四版谭浩强
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句59 3.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n); printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。
c程序设计(第四版)谭浩强-课后答案(完整版).pdf (1)
C 语言课后习题答案-第四版- 谭浩强(1-7)第一章#include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第3章#include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存 5 年期p2=p*(1+2*r2)*(1+3*r3); // 先存 2 年期,到期后将本息再存 3 年期p3=p*(1+3*r3)*(1+2*r2); // 先存 3 年期,到期后将本息再存 2 年期p4=p*pow(1+r1,5); // 存 1 年期,到期后将本息存再存 1 年期,连续存 5 次p5=p*pow(1+r0/4,4*5); // 存活期存款。
C语言程序设计课后习题答案第四版谭浩强
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;r5=0.0585;r3=0.054;r2=0.0468;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
(完整版)《C语言程序设计》课后习题答案(第四版)谭浩强
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31。
4最简单的C语言程序51.4。
1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤和方法121.6程序设计的任务141—5 #include 〈stdio.h〉int main ( ){printf (”**************************\n\n"); printf(" Very Good!\n\n");p rintf (”**************************\n");return 0;}1—6#include 〈stdio.h〉int main(){int a,b,c,max;printf("please input a,b,c:\n”);scanf(”%d,%d,%d”,&a,&b,&c);max=a;if (max〈b)max=b;if (max〈c)max=c;printf(”The largest number is %d\n”,max);return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172。
3算法的特性212。
4怎样表示一个算法222。
4。
1用自然语言表示算法222。
4。
2用流程图表示算法222。
4。
3三种基本结构和改进的流程图262。
4.4用N S流程图表示算法282。
4.5用伪代码表示算法312。
4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计373。
1顺序程序设计举例373.2数据的表现形式及其运算393.2。
1常量和变量393.2.2数据类型423.2.3整型数据443。
2。
4字符型数据473。
2.5浮点型数据493。
2。
6怎样确定常量的类型513。
2.7运算符和表达式523。
C语言程序设计课后习题答案第四版谭浩强
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;r5=0.0585;r3=0.054;r2=0.0468;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
C语言程序设计谭浩强(第四版)课后习题参考答案
C语言程序设计谭浩强(第四版)课后习题参考答案第一章1.程序:所谓程序,就是一组计算机能识别和执行的指令。
程序设计:编制计算机程序的过程被称为程序设计。
2.因为人与计算机之间需要交流信息,所以需要创造一种计算机和人都能识别的语言,即计算机语言。
高级语言的特点:高级语言很接近于人们习惯用的自然语言和数学语言。
程序中用到的语句和指令是用英文单词表示的,程序中所用的运算符和运算表达式和人们日常所用的数学式子差不多,容易理解。
程序运行结果用英文和数字输出,十分方便。
语言功能很强,且不依赖于具体的机器,用它写出的程序对任何型号的计算机都适用。
3.(1)源程序:用高级语言写的程序。
目标程序:机器指令的程序。
可执行程序:能在计算机上执行的程序。
(2)程序编辑:写源程序。
程序编译:对源程序加工并生成相应的目标程序。
程序连接:把编译得到的目标程序与其他必要部分(运行系统、函数库模块等)连接起来,做成可执行程序。
(3)程序:是为完成某项活动所规定的方法。
程序模块:可有汇编程序、编译程序、装入程序或翻译程序作为一个整体来处理一级独立的、可识别的程序指令。
程序文件:描述程序的文件成为程序文件。
(4)函数:每个函数用来实现一定的功能。
在调用这些函数时,会完成函数定义中指定的功能。
主函数:一个程序是由一个或多个函数组成其中必须包含一个主函数(即main函数)。
被调用函数:在一个函数中调用另一个函数,被调用的函数就是被调用函数。
库函数:在头文件中的函数称为库函数。
(5)程序调试:所有或部分代码编写完成后,让程序在调试器中运行,从而对程序进行分析,找出并修正问题。
程序测试:给出一定量的数据进行测试,检查运行得出的结果是否正确。
4.例1.1#include<stdio.h>int main(){printf("This is a C program.\n");return 0;}例1.2#include<stdio.h>int main(){int a,b,sum;a=123;b=456;sum=a+b;printf("sum is %d\n",sum);return 0;}例1.3#include<stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);printf("max=%d\n",c);return 0;}int max(int x,int y){int z;if(x>y) z=x;else z=y;return (z);}5.#include<stdio.h>Int main(){printf(“****************************\n”);printf(“ V e r y g o o d !\n”);printf(“****************************\n”);return 0;}6.#include<stdio.h>int main(){int max(int x,int y);int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);t=max(a,b);t=max(t,c);printf("max=%d\n",t);return 0;}int max(int x,int y){int z;if(x>y) z=x;else z=y;return (z);}7.(1).#include<stdio.h>int main(){printf("How do you do !\n"); // 这是行注释,注释范围从//起至换行符止return 0;}输出:How do you do ! 后面的是注释,不输出,不影响运行(2).#include<stdio.h>int main(){printf("How do you do !\n"); /*这是块注释*/return 0;}输出:How do you do ! /*和*/之间是注释,不输出,不影响运行(3).#include<stdio.h>int main(){printf("How do you do !\n"); /*这是块注释,如在本行内写不完,可以在下一行继续写。
C程序设计(谭浩强第四版)试卷7试卷及答案(K12教育文档)
(完整word版)C程序设计(谭浩强第四版)试卷7试卷及答案(word版可编辑修改)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)C程序设计(谭浩强第四版)试卷7试卷及答案(word版可编辑修改))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)C程序设计(谭浩强第四版)试卷7试卷及答案(word版可编辑修改)的全部内容。
一、单项选择题(20题,每题2分,共40分)1.一个C语言程序是由组成的。
A.主程序 B.子程序 C.函数 D.过程2.判断char型变量c1是否为小写字母的最简单且正确的表达式为。
A. 'a'〈=c1<=’z' B。
(c1>=a)& &(c1〈=z)C. (’a'<=c1)||(’z’>=c1)D. (c1〉='a')&&(c1<=’z') 3.为了判断两个字符串s1和s2是否相等,应当使用。
A. if (s1==s2) B。
if (s1=s2)C. if (strcpy(s1,s2))D. if( strcmp(s1,s2) == 0)4。
设a,b都是int型变量,则表达式:(a=2,b=5,a>b? a++ : b++ ,a+b)的值为 .A. 7B. 8 C。
9 D。
25. 设x、y和t均为int型变量,则以下语句:t=x; x=y; y=t;的功能是。
A. 把x和y按从大到小排列 B。
把x和y按从小到大排列C. 无确定结果D。
交换x和y中的值6。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
变量中,目的是把小数点后的小数去除,最后把这个数转换成浮点型数除以 100,即可得 出所的结果。 参考自定义函数如下: float fun ( float h ) { long w ;
w = h * 100 + 0.5 ; return (float) w / 100 ; }
i=i*10; } i=i/10; w=w%i; return w; }
精品内容
long c=0; c=a%10*1000+a/10*10+b/10+b%10*100; return c; }
(4) (sy7-4.c) 请编一个函数 fun,函数的功能是使实型数保留 2 位小数,并对第三位 进行四舍五入 (规定实型数为正数)。例如:实型数为 1234.567, 则函数返回 1234.570000;实型数为 1234.564, 则函数返回 1234.560000。
例如,当a=45,b=12,调用该函数后,c=5241。
算法分析: 对一个两位数 n,它的各位可以通过 n%10 求的,它的十位数可以通过 n/10 求的;
所以分别用上述方法求的 a 和 b 的个位和十位,同时按照要求累加到 c 里。 参考子函数如下: long fun(int a, int b) {
参考子函数如下: double fun(int n) {
double sum=0; int i; for(i=5;i<=n;i++)
if(i%5==0||i%9==0) sum=sum+1.0/i;
return sum;
}
(2) (sy7-2.c) 请编写函数 fun,其功能是:根据以下公式计算 s,并计算结果作为函数值 返回,n 通过形参传入。
float sum=1; //sum 中已经累加了第一项的值 int i,m=1; //m 表示每项的分母; for(i=2;i<=n;i++) { m=m+i;
sum=sum+1.0/m; } return sum; }
精品内容
(3) (sy7-3.c)请编写函数fun,其功能是:将两个两位数的正整数a、b 合并形成一个整数 放在c 中。合并的方式是:将 a 数的十位和个位依次放在c 数的十位和千位上,b 数的十 位和个位数依次放在c 数的个位和百位上。
s 1 1 1
1
1 2 1 2 3
1 2 3 n
例如:若 n 的值为 11 时,函数的值为 1.项(i=2)开始,其分母等于前一项的分母加上 i;一共有 n 项;求 出每项的分母,然后把每项进行累加。 参考子函数如下: float fun(int n) {
(5) (sy7-5.c)请编写一个函数 unsigned fun ( unsigned w ),w 是一个大于 10 的无符号整数, 若 w 是 n (n ≥ 2)位的整数,函数求出 w 的低 n-1 位的数作为函数值返回。
例如:w 值为 5923,则函数返回 923; w 值为 923 则函数返回 23。 算法分析:
首先应求出 w 的位数,有一位,i 就乘以 10(如果有 4 位,i 就等于 10000);然后通过 求模运算舍弃最高位;
参考子函数如下: unsigned fun ( unsigned w ) {
int i=1;//i 用来存放整数的位数
精品内容
int j; int n=w; while(n) { n=n/10;
实验七 参考答案(参考答案)
(1) (sy7-1.c)请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5 或9 整除的 所有自然数的倒数之和。例如,若主函数从键盘给n 输入20后,则输出为s=0.583333。
注意:n 的值要求不大于100。
算法分析:
使用 for 循环 i,遍历 n 包含 n 以内的所有整数,逐一判断每个 i,是否满足条件 (能被 5 或 9 整除),如果满足,则把它的倒数累加到累加器里。注意:i 的倒数要表 示成:1.0/i;