文档视界 最新最全的文档下载
当前位置:文档视界 › C程序设计(第四版)_谭浩强_第五章_课后习题答案

C程序设计(第四版)_谭浩强_第五章_课后习题答案

C程序设计(第四版)_谭浩强_第五章_课后习题答案
C程序设计(第四版)_谭浩强_第五章_课后习题答案

循环结构程序设计

P115 5.1 用while计算1至100的合.

#include

int main()

{

int i=1,sum=0;

while(i<=100) //对于需要运算的值,要么在运算前可以赋值,要么一开始要指定.

{

sum=sum+i;

i++;

}

printf("The sum is %d .\n",sum);

return 0;

}

#include

int main()

{

int i=1,sum=0;

do// do-while可以做的事,用while都可以做到.

{ //do-while先做一次执行,再判断条件,而while却是先做一个条件,再执行.

sum=sum+i;

i++;

}while(i<=100);

printf("The sum is %d .\n",sum);

return 0;

}

P118 5.3 比较do-while与while的差别.

#include

{

int i,sum=0;

printf("Please input a number :");

scanf("%d",&i); //输入10以内,正常,11的话,则sum仍然是0.

while(i<=10)

{

sum=sum+i;

i++;

}

printf("The sum of 1-10 is %d .\n",sum);

return 0;

}

#include

int main()

{

int i,sum=0;

printf("Please input a number :");

scanf("%d",&i); //输入10以内,结果一样.输入11的话,先做操作,所以sum=11.

do

{

sum=sum+i;

i++;

}while(i<=10); //此重点在于理解二者的差别.

printf("The sum of 1-10 is %d .\n",sum);

return 0;

}

#include

int main()

{

int i,b=0,a,c;

for(i=0;i<=1000;i++)

{

printf("Please input amount :"); //循环体内套有输出语句以及跳出语句.

scanf("%d",&a);

b=b+a;

if(b>=100)

break; //break是用于跳出循环,对if无效,对while for switch 这一类.

}

}

c=b/i;

printf("conut is %d , aver is %d ",i+1,c); //注意%号后的形式,否则可能输出错误.

return 0;

}

P127 5.5 continue的例子.

#include

int main()

{

int i;

for(i=1;i<20;i++)

{

if(i%3!=0)

{

continue; //跳过本次I,执行下一个i.

}

printf("%d ",i);

}

printf("\n");

return 0;

}

P128 5.6 形成一个4*5的矩阵.

#include

int main()

{

int i,j,a=0; //没有给初值,会出现警告: 使用了未初始化的局部变量“a”.

for(i=1;i<=4;i++)

{

for(j=1;j<=5;j++,a++) // a用来控制换行.

{

if(a%5==0)

{

printf("\n");

}

printf("%d\t",i*j);

}

}

printf("\n");

return 0;

}

P131 5.7 用一个交错的式子求哌的近似值.

#include

#include

int main() //四分之哌等于(1)-(1/3)+(1/5)-(1/7)+(1/9)-(1/11).

{

float s=1,n=1,m,sum=0,t;

for(m=1;;m=m+2) //不确定哪项才会小于等于十的负六次方,所以不指定,无限下去.

{ //不指定第二项,执行语句中应该有控制跳出的句子,否则死循环.

t=(s)*(n/m); //这是第一项,s是符号,

if(fabs(t)<=1e-6) //应该写在这里,题目要求这一项不累加进去.

{

break;

}

sum=sum+t; //因为累加项在这里,所以,一旦跳出就不会累加进来了.

s=s*(-1); //变号一次.

}

printf("四分之一哌的值是%f.\n",sum);

printf("一个完整哌的值是%f.\n",sum*4);

return 0;

}

//下面这段小代码用来验证关于数值型数据类型的关系.去掉注释,可运行.

//如果出现类似值为全1或是全零的话,一般可以考虑数据类型赋值或是定义错了的问题.

//#include //这是关于int float double三者关复杂关系的,乱啊,如果看不懂,可以通过实验自己明白来.

//

//int main() //在C语言中,1.0认为是实数,即是double型,所以,如果你把它用float输出的话,会有警告:警告 1 warning C4305: “=”: 从“double”到“float”截断.

//{

// float m,a,b,c; //一旦定义了是这种类型的话,输出或是赋值的时候只能扩展不能截断,意思就是能变成double型,不能变成int型啦.而且后面的赋值会跟着它变成相应的类型.比如下面的m=1,其实得到的是m=1.0.

// int d,e,f;

// m=1;

// a=1.0/3;

// b=1/3;

// c=m/3;

// d=1.0;

// e=1/4;

// f=1.0/4;

// printf("%lf(float用double的%lf来输出是可以的.)\n%f\n%f\n%f\n",m,a,b,c); //不管上面定义什么,这边写的输出类型是什么,就按相应的类型输出,有可能会出错,所以建议按定义的类型来输出.当然扩展的是不会错的,截断的是会错的,比如float可以用%lf来输出,而不能用%d来输出.

// printf("%d\n%d\n%d\n",d,e,f); //但是,不相应的int型不可以用%f来输出的.因为int float就不同种类,一个是整数,一个是小数,float double同样是有小数点的!!!!

// return 0;

//}

P133 5.8 著名的Fibonacci(费波那契数列问题)

#include

int main() //这个就是著名的Fibonacci(费波那契数列问题)

{

int f1=1,f2=1,f3,i;

printf("%12d\n%12d\n",f1,f2);

for(i=1;i<=38;i++) //注意,这是个基础问题,(i=1;i<=5;i++)这里其实进行了次运算,因为有f1,f2,要求有个,所以要有个.要么写<=38,要么写<39,边界问题一定要注意,不可以太随意!!!!

{

f3=f1+f2;

printf("%12d\n",f3); //这个问题同样适用于"一对兔子一个月生一对"的问题.,

f1=f2; //f1=f1+f2;此时它们各是,所以,现在的f1是.

f2=f3; //f2=f2+f1;此时的f1已经是最先二者之和了.可以不用到f3.

}

return 0;

}

#include

#include

int main()

{

double num;

int i;

printf("Please input a number :");

scanf("%lf",&num); //因为sqrt要求是浮点型,那就给它浮点型,需要时再强制转换.

for(i=2;i<=sqrt(num);i++) //这边是<=号没错.

{

if((int)num%i==0) //如果在这期间有任何一个可以为零的话,则不是素数.

{

break; //当然跳出.

}

} //执行到这里的时候,i=5,已经变成了!!

if(i<=sqrt(num))

{

printf("Not %d",(int)num);

}

else//如上所述,i=5,超出了求根的值,所以是素数.

{

printf("Yes %d",(int)num);

}

return 0;

}

#include//不解释,HOHO>>>>...

#include

int main()

{

double j;

int i,k=0;

for(j=100;j<=200;j++)

{

for(i=2;i<=sqrt(j);i++)

{

if((int)j%i==0)

{

break;

}

}

k=k+1; //这里是布局的开头.学习一下,有助逻辑.

if(i<=sqrt(j))

{

printf("Not %d ",(int)j);

if(k%5==0) //5个换一次行.

{

printf("\n");

}

}

else

{

printf("Yes %d ",(int)j);

if(k%5==0)

{

printf("\n");

}

}

}

return 0;

}

P139 5.11 密码转换.

#include

int main()

{

char c;

c=getchar();

while(c!='\n') //这也可以用数组来实现.

{

if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

{

if((c>='w'&&c<='z')||(c>='W'&&c<='Z'))

{

c=c-22;

}

else

{

c=c+4;

}

printf("%c",c);

c=getchar(); //套在循环里,依次得到字母,而while中判断回车为结束.

}

}

printf("\n"); //这是布局问题.

return 0;

}

P140 0.3 最大公约数和最小公倍数.

#include//最大公约数用累除法,除到无余数时的被除数是最大公约数.

main ()

{

int m, n, c, d;

int gcd(); //这是最大公约数的缩写,此处调用函数,可以不写里面的实参.

int lcm(); //这是最小公倍数的缩写,此处调用函数,可以不写里面的实参.

printf("Please input two number :\n");

scanf("%d %d",&m,&n);

c=gcd(m,n); //c获取最大公约数

d=lcm(m,n); //d获取最小公倍数

printf("The GCD of %d and %d is : %d !\n", m, n, c);

printf("The LCM of %d and %d is : %d !\n", m, n, d);

return 0;

}

int gcd(int x, int y) //最大公约数Greatest Common Divisor

{

int temp;

while(x%y!=0)

{

temp=y; //y在下一轮中作为除数,即是下一轮中的X,所以先闪一边去.

y=x%y; //x,y的余数作为下一轮中的Y,由x%y来取得.

x=temp; //刚才temp中存储了y的值,现在拿出来作为下一轮中的X使用.

}

return y; //这是每一轮中的被除数,按原理来,这就是最大公约数,即累除法的原理. }

int lcm(int x, int y) //最小公倍数Lowest Common Multiple

{

int i, temp;

if(x

{ //以下为经典三行码,实现两个数的互换.

temp=x;

x=y;

y=temp;

}

for(i=1; i<=y; i++) //设定一个区间,从1至大的数之间的循环.

{

if(!((x*i)%y)) //此式子如有余数,加上"!"号,会是假,则不返回,进行下一轮.

{ //如此往复,直到取模无余数,那么小的数X乘以区间当前的I值,就是最小公倍数.

return x*i;

}

}

}

P140 0.4 判断一串输入的字符.

#include

int main()

{

char ch;

int a=0,b=0,c=0,d=0,e=0;

printf("Please input the string\n");

while((ch=getchar())!='\n') //直到回车.

{

if(ch<='z'&&ch>='a')

{

a++;

}

else if(ch==' ')

{

c++;

}

else if(ch<58&&ch>47)

{

d++;

}

else if(ch<='Z'&&ch>='A')

{

b++;

}

else

{

e++;

}

}

printf("大写%d 小写%d 空格%d 数字%d 其它%d\n",a,b,c,d,e);

}

#include//不理解时可以百度或是谷歌更多的信息.

int main() //想办法既快速做完,又要消化理解!!!

{

int temp,i,a,n,sum=0; //主逻辑,友好性暂时放松.

scanf("%d %d",&a,&n); //a是数字,n是要乘的个数.

temp=a; //先把第一阶的值存起来.

for(i=0;i

{

sum=sum+a;

printf("%d + ",a); //事关布局.

a=a*10+temp; //重点是每次乘,然后加上上一个数.

}

printf("= %d .",sum);

return 0;

}

P140 0.6 1!+2!+3!+4!.....的值. #include

int main() //1!+2!+3!+4!.....

{

int i,j,k,sum=0,m=1;

scanf("%d",&k); //比如设定为,值为.

for(i=1;i<=k;i++) //第一层循环,指定到.

{

for(j=1;j<=i;j++) //第二层循环,指定至当前数.

{

m=m*j;

} //到此是阶乘的结构.

sum=sum+m;

m=1;

}

printf("%d",sum); //完全不理解时,搜索并参考.

return 0; //尝试自己做,第一次做出来就是自己的东西了. }

#include

int main()

{

int a,b;

double c,asum=0,bsum=0,csum=0;

for(a=1;a<=100;a++) //三个块分别注释验证结果.

{

asum=asum+a;

}

for(b=1;b<=50;b++) //在VS运行中,注意*.cpp为C++语言.

{

bsum=bsum+b*b; //为了避免语言差别,请注意文件名为*.c.

}

for(c=1;c<=10;c++) //c作浮点运算,所以定义在double类型中.

{

csum=csum+1/c;

}

printf("%lf",asum+bsum+csum);

return 0;

}

P

P

#include

#include

int main()

{

int j,k,s[6],x=100,y,sum=0;

for(j=153;j<=154;j++)

{

for(k=2;k>=0;k--)

{

s[k]=j%(int)pow(10,k+1)/(int)pow(10,k);

y=pow(s[k],3);

sum+=y;

printf("%d-%d--%d\t",k,s[k],j);

}

printf("%d\n",sum);

}

return 0;

}

P140 0.8 水仙花数.

//#include //一步步的发现问题.

//

//int main() //在%和/号之间,以前pow.以后再做.

//{

// int i,j,k,a,b,c,sum=0; //这里逻辑对,算出来却错了.

// for(i=2;i<=4;i++) //计算机在想什么,看来它的大脑难以模拟.

// {

// for(j=pow(10,i);j<=pow(10,i+1)-1;j++) //我不完全明白它遵守的逻辑. // {

// for(k=0;k<=i;k++)

// {

// sum+=pow((j%pow(10,i+1)/pow(10,i)),3);

// }

// if(sum==j)

// {

// printf("%d 是水仙花数!\n",j);

// }

// sum=0;

// }

// }

// return 0;

//} //为什么还是无法实现?!

#include

#include

int main()

{

int a,b,c,i,sum=0; //这里只计算三位数的.

for(i=100;i<1000;i++)

{

a=i/100;

b=i%100/10;

c=i%10;

sum+=a*a*a+b*b*b+c*c*c;

if(sum==i)

{

printf("%d 是水仙花数.\n",i);

}

sum=0;

}

return 0;

}

P141 0.9 完数.

#include

int main()

{

int i,j,r;

for(i=1;i<=1000;i++) //零是个临界值,不能包括它.

{

r=0; //每次清零重来.类似水仙中的sum.

for(j=1;j

{

if(i%j==0) //除得尽即是因子.

{

r=r+j; //然后累加进去.

}

}

if(r==i) //若相等.

{

printf("%d 是完数.\n",i);

}

}

return 0;

}

P141 0.10 2/1+3/2+5/3+8/5+13/8…#include

int main() //10.007051

{

double i,a=2,b=1,c,s=0; //a是分子,b是分母.

for(i=0;i<6;i++) //二十可以用户指定.

{

s+=a/b; //中间储值变量.

c=a+b;

b=a;

a=c;

}

printf("%lf\n",s);

return 0;

}

#include

int main() //从一百开始,减一半再自加两次,下降一次,反弹一次.

{

double sum=100,high=100,up,donw,i;

for(i=1;i<10;i++) //不管指定到哪个数,都不会超过三百.

{

up=high/2;

donw=up;

high=donw; //自咬尾巴问题.

sum+=donw*2;

}

printf("%lf %lf\n",donw,sum);

return 0;

}

P141 0.12 猴子吃桃子.

#include

int main() //从一百开始,减一半再自加两次,下降一次,反弹一次.

{

int i,sum=1;

for(i=1;i<=10;i++) //临界要清楚,结果要与手算的前几个实例相匹配.

{

printf("倒数第%d天还剩有%d个桃子.\n",i,sum);

sum=(sum+1)*2;

}

//printf("%d\n",sum);

return 0;

}

P141 0.16 输出星号棱形图案.

#include

#include

main() //只关注左半部分.右半部分无视空格.

{

int i,j,k,m=6; //m可指定,指定中心点位置.可任意奇偶.

for(i=1;i<=m;i++) //上半部分.其实也是正三角.

{

for(j=1;j<=m-i;j++) //一到中心点前i个位置填充空格.

printf(" ");

for(k=1;k<2*i;k++) //空格后向前填充星号的个数.是奇数.一,三,五... printf("*");

printf("\n");

}

for(i=m-1;i>0;i--) //下半部分.其实也是倒三角.

{ //减一是因为行数问题.这是中心行以下的.

for(j=m-1;j>=i;j--)

printf(" ");

for(k=1;k<2*i;k++)

printf("*");

printf("\n");

}

getch(); //用户反应后结束.但,没必要.

}

《c++程序设计》谭浩强课后习题答案

第一章 1.5题 #include using namespace std; int main() { cout<<"This"<<"is"; cout<<"a"<<"C++"; cout<<"program."; return 0; 1.6题 #include using namespace std; int main() { int a,b,c; a=10; b=23; c=a+b; cout<<"a+b="; cout< using namespace std; int main() { int a,b,c; int f(int x,int y,int z); cin>>a>>b>>c; c=f(a,b,c); cout< using namespace std; int main() { int a,b,c; cin>>a>>b; c=a+b; cout<<"a+b="< using namespace std; int main() { int a,b,c; int add(int x,int y); cin>>a>>b; c=add(a,b);

C语言程序设计谭浩强第四版期末复习重点

C语言程序设计谭浩强第四版期末复习重点 Newly compiled on November 23, 2020

第一章 程 序设计和C 语言 .什么是计算机程序 程序.. :一组计算机能识别和执行的指令。只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作 计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。 什么是计算机语言 计算机语言:人和计算机交流信息的、计算机和人都能识别的语言。 计算机语言发展阶段:机器语言(由0和1组成的指令) 符号语言(用英文字母和数字表示指令) 高级语言(接近于人的自然语言和数学语言) 面向过程的语言(非结构化的语言、结构化语言);面向对象的语言 语言的发展及其特点 C 语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。因此C 语言问世以后得到迅速推广。 C 语言主要特点: 语言简洁、紧凑,使用方便、灵活。(只有37个关键字、9种控制语句;程序书写形式 自由,源程序短) 运算符丰富。(34种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达 式类型多样化) 数据类型丰富。(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算。)

具有结构化的控制语句。(如if…else语句、while语句、do…while语句、switch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化;C语言是完全模块化和结构化的语言) 语法限制不太严格,程序设计自由度大。(对数组下标越界不做检查;对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用;C语言允许程序编写者有较大的自由度,因此放宽了语法检查) 允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。(C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言) 用C语言编写的程序可移植性好。(C的编译系统简洁,很容易移植到新系统;在新系统上运行时,可直接编译“标准链接库”中的大部分功能,不需要修改源代码;几乎所有计算机系统都可以使用C语言) 生成目标代码质量高,程序执行效率高。 1.C语言允许用两种注释方式:计算法 3.编写程序 4.对源程序进行编辑、编译和连接 5. 运行程序,分析结 6.编写程序文档 第二章算法——程序的灵魂 一个程序主要包括以下两方面的信息: (1) 对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式,这就是数据结构。 (2) 对操作的描述。即要求计算机进行操作的步骤,也就是算法。 数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。 着名计算机科学家沃思(Nikiklaus Wirth)提出一个公式:算法 + 数据结构 = 程序

(完整版)谭浩强c程序设计课后习题答案

谭浩强c++程序设计课后答案 娄警卫

第一章1.5题 #include using namespace std; int main() { cout<<"This"<<"is"; cout<<"a"<<"C++"; cout<<"program."; return 0; 1.6题 #include using namespace std; int main() { int a,b,c; a=10; b=23; c=a+b; cout<<"a+b="; cout< using namespace std; int main() { int a,b,c; int f(int x,int y,int z); cin>>a>>b>>c; c=f(a,b,c); cout< using namespace std; int main() { int a,b,c; cin>>a>>b; c=a+b; cout<<"a+b="< using namespace std; int main() { int a,b,c; int add(int x,int y); cin>>a>>b; c=add(a,b); cout<<"a+b="<

C程序设计第四版谭浩强_习题&例题第7章

第7章函数 例7.1 #include int main() { void print_star(); void print_message(); print_star(); print_message(); print_star(); return 0; } void print_star() { printf("***********************************\n"); } void print_message() { printf("How do you do!\n"); } 例7.2 int max(int x,int y) { int z; z=x>y?x:y; return(z); } #include int main() { int max(int x,int y); int a,b,c; printf("please enter two integer number:"); scanf("%d,%d",&a,&b); c=max(a,b); printf("max is %d\n",c); return 0; }

例7.3 #include int main() { int max(float x,float y); float a,b; int c; printf("please enter two integer number:"); scanf("%f,%f",&a,&b); c=max(a,b); printf("max is %d\n",c); return 0; } int max(float x,float y) { float z; z=x>y?x:y; return(z); } 例7.4 #include int main() { float add(float x,float y); float a,b,c; printf("please enter a and b:"); scanf("%f,%f",&a,&b); c=add(a,b); printf("sum is %f\n",c); return 0; } float add(float x,float y) { float z; z=x+y; return(z); }

C语言程序设计第三版谭浩强课后习题答案完整版

1.5 #include void main() { printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); printf(" Very good! \n"); printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); } 1.6 #include void main() { float max(float x,float y,float z); float a,b,c; printf("请分别输入a,b,c:\n"); scanf("%f,%f,%f",&a,&b,&c); printf("max=%f",max(a,b,c)); } float max(float x,float y,float z) { float m,n; m=x>y? x: y; n=m>z? m: z; return(n); } 3.6 #include void main() { char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’; printf(“a%c b%c\tc%c\tabc\n”,c1,c2,c3); printf(“\t\b%c %c\n”,c4,c5);

} 3.9.1 #include void main() { double x=2.5,y=4.7,z; int a=7; z=x+a%3*(int)(x+y)%2/4; printf("该表达式的值为:%f",z); } 3.9.2 #include void main() { int a=2,b=3; float x=3.5,y=2.5,z; z=(float)(a+b)/2+(int)x%(int)y; printf("该表达式的值为:%f",z); } 4.5 #include void main() { int a=5,b=7; double x=67.8564,y=-789.124; char c='A'; long n=1234567; unsigned u=65535; printf("%d%d\n",a,b); printf("%3d%3d\n",a,b); printf("%f,%f\n",x,y); printf("%-10f,%-10f\n",x,y); printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y); printf("%e,%10.2e\n",x,y); printf("%c,%d,%o,%x\n",n,n,n); printf("%ld,%lo,%x\n",n,n,n); printf("%u,%o,%x,%d\n",u,u,u,u);

C语言程序设计第四版第六章答案_谭浩强

1、用筛选法求100之内的素数。解: #include #include int main() {int i,j,n,a[101]; for (i=1;i<=100;i++) a[i]=i; a[1]=0; for (i=2;i int main() {int i,j,min,temp,a[11]; printf("enter data:\n"); for (i=1;i<=10;i++)

{printf("a[%d]=",i); scanf("%d",&a[i]); } printf("\n"); printf("The orginal numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); for (i=1;i<=9;i++) {min=i; for (j=i+1;j<=10;j++) if (a[min]>a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf("\nThe sorted numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); return 0; } 3、求一个3×3的整型矩阵对角线元素之和。解: #include int main() { int a[3][3],sum=0; int i,j; printf("enter data:\n"); for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%3d",&a[i][j]); for (i=0;i<3;i++) sum=sum+a[i][i]; printf("sum=%6d\n",sum);

C语言程序设计第三版谭浩强课后习题答案完整版

1.6 编写一个程序,输入a、b、c 三个值,输出其中最大值。 课后习题答案完整版 第一章 1.5 请参照本章例题,编写一个C 程序,输出以下信息: ************************** Very Good! ************************** 解:mian() {int a,b,c,max; printf( “请输入三个数a,b,c:\n ” ); scanf( “%d,%d,%”d ,&a,&b,&c); C语言程序设计第三版谭浩强 解: mian() {printf( ”); “************************** printf( “”X “ n” ); printf( “Very Good!” \ n”); printf( “”X “ n” ); printf( “************************** ); max=a; if(max

{char #include c1='a',c2='b',c3= 'c',c4= ' \101 ',c5= ' 116'; printf( “a%cb%c n”,c1,c2,c 3); printf( “ b%c %c” ,c4,c5); } 解: aa 口bb 口口口cc 口口口口口口abc A 口N 3.7 要将"China" 译成密码,译码规律是:用原来字母后面的第 4 个字母代替原来的字母.例如,字母"A" 后面第 4 个字母是"E" . "E"代替"A"。因此,"China"应译为"Glmre" 。请编一程序,用赋初值的方法使cl 、c2、c3、c4、c5 五个变量的值分别为, ' C'、h'、i '、n'、a'经过运算,使cl、c2、c3、c4、c5分别变为'G'、' I '、' m >' r'、’ e',并输出。main() { char c1=' C' ,c2=' h' ,c3= ' i ' ,c4= ' n' ,c 5=' a' ; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(" 密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是GImre 3.9 求下面算术表达式的值。 解: 1 )x+a%3*(int)(x+y)%2/4

C语言程序设计第三版谭浩强课后习题答案完整版

C语言程序设计第三版谭浩强课后习题答案完整版Last revision on 21 December 2020

C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 请参照本章例题,编写一个C程序,输出以下信息: ************************** Very Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“Very Good!\n”); printf(“\n”); printf(“**************************”); } 编写一个程序,输入a、b、c三个值,输出其中最大值。 解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max main() { char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码 是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 求下面算术表达式的值。

C程序设计第四版谭浩强完整版课后习题答案

C程序设计第四版谭浩强完整版课后习题答案集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

C程序设计(第四版)(谭浩强)第一章课后习题答案 P006 向屏幕输出文字. #include<>代码均调试成功,若有失误大多不是代码问题.自已找找. int main() { printf("Welcome to \n"); return 0; } P008 求两个数的和. #include<> int main() { int a,b,sum; a=5; b=4; sum=a+b; printf("The sum is %d .\n",sum);

return 0; } P008 调用函数比较两个数的大小. #include<> int main() { int max(int x,int y); int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("The max is %d .\n",c); return 0; } int max(int x,int y) { int z; if (x>y) z=x; else z=y; return(z); }

P015 三个数的大小.(数字0表示课后练习题) #include<> int main() { int a,b,c,d; int max(int x , int y , int z); printf("Please input 3 numbers :\n"); scanf("%d %d %d",&a,&b,&c); d=max(a,b,c); printf("The max is :%d .\n",d); } int max(int x , int y , int z) { int m; if (x>y && x>z) m=x; if (y>x && y>z) m=y; if (z>y && z>x) m=z; return (m); }

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构10 1.5运行C程序的步骤与方法12 1.6程序设计的任务14 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include 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

2.5结构化程序设计方法34 习题36

C语言程序设计第三版谭浩强课后习题答案完整版

C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5请参照本章例题,编写一个C程序,输出以下信息:************************** V ery Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“V ery Good!\n”); printf(“\n”); printf(“**************************”); } 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max main() { char c1=?C?,c2=?h?,c3=?i?,c4=?n?,c5=?a?; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 (1)2.5 (2)3.5 3.10写出程序运行的结果。 main() {int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 解: 9,11,9,10 3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解: (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0 第四章 4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 c1=ˊaˊ_or_97(ASCII)

《C语言程序设计》_谭浩强版教案

《C 语言程序设计》教案 职称: 助教 ____________ 单 位:湖南理工职业技术学院 学院(教研室):风能工程学院 工业机器人专业 授课教师: 周常欣

教 学 重 占 八、、 和 难 占 八、、 一、 程序设计和 C 语言 重点:计算机程序、计算机语言、 C 语言编译软件的安装、最简单的 C 语言程序 二、 算法:程序的灵魂 重点:简单的算法举例、算法的特性、用流程图表示算法。 三、 顺序结构程序设计 重点:C 语言的数据类型、C 语句的种类、赋值语句、数据的输入输出及输入输出 中最常用的 控制格式。 四、 选择结构程序设计 重点:关系运算符与逻辑运算符及其组成的具有逻辑值的表达式、 二条分支语句的格 式及基本应用、多分支的选择语句。 五、 循环结构程序设计 重点:C 构成循环的四种方法,尤其是后三种方法、 break 与continue 语句的基本作 用。 难点:while 语句;do-while 语句;for 语句;循环的嵌套; break 与continue 语句。 六、 数组 重点:一维数组、二维数组的定义与引用;字符数组的定义与引用、常用字符串处 理函数及字符处理函数;数组的应用 难点:二维数组的定义与引用;字符数组;数组的应用 七、 函数 重点:函数的定义;函数的参数和函数的值;函数的调用;函数的嵌套调用;函数的 递归调 用;数组作为函数参数;变量作用域;量存储类别; 难点:函数定义、函数调用、函数声明等基本基本概念;函数的嵌套调用与递归调 用;数组作 为函数的参数、变量的存储类别与作用域。 八、 指针 重点和难点:指针与地址的基本概念、指针与变量的关系;指针与数组;指针与字 符串、指针 数组与二级指针;指针的应用 九、 建立自己的数据类型 重点和难点:定义和使用结构体变量、用指针处理链表、共用体类型 十、文件 重点:文件的基本知识、 fopen 、fclose 函数打开与关闭文件、顺序读与数据文件、 随机读写数据文件 难点:用二进制方式向文件读写一组数据。 十一、常见错误分析 重点和难点:文件的基本概念;文件的打开、关闭、常用读写方法。 十二、数组高级应用 重点:不定长数组与二维数组的应用 难点:不定长数组与二维数组的应用 十三、综合应用 重点:数组、if 语句、循环语句、函数知识的综合应用 难点:二维数组、指针 教材、 参 考书 教材:《C 程序设计》(第四版) 谭浩强著 清华大学出版社2010年6月 参考书:《C 程序设计语言》 Kernighan&Ritchie 机械工业出版社 《C 语言程序设计》教案 第1-2课时

C语言程序设计课后习题答案第四版谭浩强完整版

C语言程序设计课后习 题答案第四版谭浩强 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构10 1.5运行C程序的步骤与方法12 1.6程序设计的任务14 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; }

1-6#include 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

2.2简单的算法举例17 2.3算法的特性21 2.4怎样表示一个算法22 2.4.1用自然语言表示算法22 2.4.2用流程图表示算法22 2.4.3三种基本结构和改进的流程图26 2.4.4用N S流程图表示算法28 2.4.5用伪代码表示算法31 2.4.6用计算机语言表示算法32 2.5结构化程序设计方法34 习题36 第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算39 3.2.1常量和变量39 3.2.2数据类型42

C程序设计第四版谭浩强完整版课后习题答案

C程序设计第四版谭浩强完整版课后习题答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C程序设计(第四版)(谭浩强)第一章课后习题答案 #include<>代码均调试成功,若有失误大多不是代码问题.自已找找. int main() { printf("Welcome to \n"); return 0; } #include<> int main() { int a,b,sum; a=5; b=4; sum=a+b; printf("The sum is %d .\n",sum); return 0; } P008 调用函数比较两个数的大小. #include<> int main() { int max(int x,int y); int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("The max is %d .\n",c); return 0; } int max(int x,int y) { int z; if (x>y) z=x; else z=y; return(z); }

P015 三个数的大小.(数字0表示课后练习题) #include<> int main() { int a,b,c,d; int max(int x , int y , int z); printf("Please input 3 numbers :\n"); scanf("%d %d %d",&a,&b,&c); d=max(a,b,c); printf("The max is :%d .\n",d); } int max(int x , int y , int z) { int m; if (x>y && x>z) m=x; if (y>x && y>z) m=y; if (z>y && z>x) m=z; return (m); } C程序设计(第四版)(谭浩强)第2章课后 习题答案 算法——程序的灵魂 P017 计算机1-5相乘的积. #include<> int main() { int i,s=1; for(i=1;i<6;i++) { s=s*i; n",s); return 0; } #include<> int main() { int i,s=1; for(i=1;i<12;i++) 可以是i=i+2 { if(i%2!=0) s=s*i; else continue; }

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言1 什么是计算机程序1 什么是计算机语言1 语言的发展及其特点3 最简单的C语言程序5 最简单的C语言程序举例6 语言程序的结构10 运行C程序的步骤与方法12 程序设计的任务14 1-5 #include <> int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include <> 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

数据类型42 整型数据44 字符型数据47 浮点型数据49 怎样确定常量的类型51 运算符和表达式52 语句57 语句的作用和分类57 最基本的语句——赋值语句59 数据的输入输出65 输入输出举例65 有关数据输入输出的概念67 用printf函数输出数据68 用scanf函数输入数据75 字符数据的输入输出78 习题82 3-1 #include <> #include <> int main() {float p,r,n; r=; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0;

C语言程序设计谭浩强重点笔记

C语言设计 学习笔记 早晨:06:40 起床 07:20——08:20 英语 1小时 新概念英语(单词、语法、听读背) 大学英语(单词、语法、听读背) 上午:08:30——10:30 计算机基础 2小时 10:50——11:30 计算机科学技术导论 计算机组成原理 微机原理及接口技术 Intel微处理器结构编程与接口 深入理解计算机系统 80x86汇编语言程序设计 8086-8088宏汇编语言程序设计教程 BIOS研发技术剖析 自己动手写操作系统 操作系统原理 Windows操作系统原理 Windows内部原理系列 Windows程序内部运行原理 计算机网络第五版 中午:12:00——02:00 午休 下午:02:30——04:30 计算机应用及编程 Windows用户管理指南、AD配置指南、网络专业 指南、Windows即学即会教程 Windows下32位汇编语言程序设计、C#编程 晚上:05:30——08:00 锻炼、晚餐 08:00——09:00 辅导 09:00——11:00 专业基础 2小时 大学数学、大学物理、电机及拖动、电力电子技 术、通信技术 11:30 休息

目录 第一章C语言概述................................................................................................................................. - 1 - 1.1 C程序结构特点16 ................................................................................................................ - 1 - 1.2 C程序上机步骤17 ................................................................................................................... - 1 -第二章程序的灵魂——算法23 ............................................................................................................ - 2 - 2.1 算法24 ..................................................................................................................................... - 2 - 2.2 算法的三种基本结构............................................................................................................... - 2 - 2.3 结构化程序设计方法42 .......................................................................................................... - 2 -第三章数据类型运算符与表达式48 .................................................................................................. - 2 - 3.1 C语言的基本元素48 ............................................................................................................... - 2 - 3.2 C的数据类型48 ....................................................................................................................... - 2 - 3.3 常量与变量48 .......................................................................................................................... - 3 - 3.4 基本类型................................................................................................................................... - 3 - 3.5 变量63 ..................................................................................................................................... - 4 - 3.6 不同类型数据间的混合运算................................................................................................... - 5 - 3.7 函数的调用过程(补充)....................................................................................................... - 5 -第四章最简单的C程序设计——顺序程序设计77 ........................................................................... - 5 - 4.1 字符数据的输入输出............................................................................................................... - 5 -第五章选择结构的程序设计97 ............................................................................................................ - 6 -第六章循环结构程序设计..................................................................................................................... - 6 - 6.1 语句标号................................................................................................................................... - 6 - 6.2 break语句和continue语句 ...................................................................................................... - 6 -第七章数组132 ...................................................................................................................................... - 6 - 7.1 构造类型................................................................................................................................... - 6 - 7.2 数组133 ................................................................................................................................... - 6 - 7.3 二维数组................................................................................................................................... - 7 - 7.4 字符串——字符数组............................................................................................................... - 7 - 7.5 字符串处理函数#include ...................................................................................... - 7 -第八章函数153 ...................................................................................................................................... - 8 - 8.1 c程序的结构154 ...................................................................................................................... - 8 - 8.2 函数调用参数传递................................................................................................................... - 8 - 8.3 函数变量的作用范围............................................................................................................... - 8 - 8.4 变量的存储类别....................................................................................................................... - 9 -第九章预处理命令197 ........................................................................................................................ - 10 - 9.1 预编译命令作用..................................................................................................................... - 10 -第十章指针211 .................................................................................................................................... - 11 - 10.1 变量的访问方式................................................................................................................... - 11 - 10.2 指针变量............................................................................................................................... - 11 -第十一章结构体270 ............................................................................................................................ - 12 - 11.1 结构体270 ............................................................................................................................ - 12 -

相关文档
相关文档 最新文档