谭浩强版本C语言课后习题第四章

2、对于逻辑量表达式1表示真,0表示假。

对于逻辑量表达式非0表示真,0表示假。

3、值得注意的是c语言中的优先级,优先级由高到低依次为:

4、

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a,b,c,t;
 5     scanf("%d,%d,%d",&a,&b,&c);
 6     if(a<b)
 7     {t=b;
 8      a=b;
 9      b=t;}
10     if(a<c)
11     {t=c;
12     a=c;
13     c=t;}
14     printf("最大的是:%d\n",a);
15     return 0;
16 }

法2:

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a,b,c,temp,max;
 5     scanf("%d,%d,%d",&a,&b,&c);
 6     temp=(a>b)?a:b;
 7     max=(temp>c)?temp:c;
 8     printf("最大的是:%d\n",max);
 9     return 0;
10 }

5、

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5     int a,b;
 6     scanf("%d",&a);
 7     if(a>=1000)
 8     {printf("enter again:\n");
 9     scanf("%d",&a);}
10     b=sqrt(a);
11     printf("%d\n",b);
12     return 0;
13 }

8、

 1 #include<stdio.h>
 2 int main()
 3 {
 4     float score;
 5     char grad;
 6     printf("enter score:");
 7     scanf("%f",&score);
 8     while(score>100||score<0)
 9     {printf("enter again:");
10     scanf("%f",&score);
11     }
12     switch((int)(score/10))
13     {case 10:
14     case 9:grad=‘A‘;break;
15      case 8:grad=‘B‘;break;
16      case 7:grad=‘C‘;break;
17       case 6:grad=‘B‘;break;
18      case 5:
19      case 4:
20      case 3:
21      case 2:
22      case 1:
23      case 0:grad=‘E‘;
24     }
25     printf("成绩是:%5.1f,等级是: %c\n",score,grad);
26     return 0;
27 }

9、给一个不多于五位的正整数,奥球

求出它是几位数,分别是出每一位数字,按逆序输出各位数字

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5     int num,indiv,ten,hundred,thousand,ten_thousand,place;
 6     printf("请输入一个不多于5位的整数:");
 7     scanf("%d",&num);
 8     if(num>9999)
 9         place=5;
10     else
11         if(num>999)
12             place=4;
13         else
14             if(num>99)
15                 place=3;
16             else
17                 if(num>9)
18                     place=2;
19                 else
20                     place=1;
21                 printf("位数:%d\n",place);
22                 printf("每位数字为\n");
23                 ten_thousand=num/10000;
24                 thousand=(int)(num-ten_thousand*10000)/1000;
25                 hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
26                 ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
27                 indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);
28                 switch(place)
29                 {
30 case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
31       printf("\n反序数字为\n");
32       printf("%d%d%d%d%d",indiv,ten,hundred,thousand,ten_thousand);
33       break;
34 case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
35       printf("\n反序数字为\n");
36       printf("%d%d%d%d",indiv,ten,hundred,thousand);
37       break;
38 case 3:printf("%d,%d,%d",hundred,ten,indiv);
39       printf("\n反序数字为\n");
40       printf("%d%d%d",indiv,ten,hundred);
41       break;
42 case 2:printf("%d,%d",ten,indiv);
43       printf("\n反序数字为\n");
44       printf("%d%d",indiv,ten);
45       break;
46 case 1:printf("%d",indiv);
47       printf("\n反序数字为\n");
48       printf("%d",indiv);
49       break;
50                 }
51                 return 0;
52 }

12、判断是否在塔外

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int h=10;
 5     float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;
 6     printf("请输入x,y: ");
 7     scanf("%f,%f",&x,&y);
 8     d1=(x-x4)*(x-x4)+(y-y4);
 9     d2=(x-x1)*(x-x1)+(y-y1)*(y-y1);
10     d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);
11     d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);
12     if(d1>1&&d2>1&&d3>1&&d4>1)
13         h=0;
14     printf("高度为:%d\n",h);
15     return 0;
16 }

原文地址:https://www.cnblogs.com/1998wdq/p/11221578.html

时间: 2024-10-10 02:17:25

谭浩强版本C语言课后习题第四章的相关文章

为什么很多人吐槽谭浩强的C语言程序设计?

这个观点在网络上已经论战了很长时间,出现这种情况还是历史遗留问题,老谭出的C语言教材几乎是国内的第一版,由于中英翻译问题或者对编程文化理解的差异性导致出来的书多多少少存在一些纰漏.不能只是记住其缺点,老谭书最主要在那个年代起到了普及C语言的作用,这已经足够了,如同做一个产品,首先解决的是有没有问题,最后才是细节完善阶段.最后,如果大家如果在自学遇到困难,想找一个C++的学习环境,可以加入我们的C++学习圈,点击我加入吧,会节约很多时间,减少很多在学习中遇到的难题. 为什么很多人吐槽谭浩强的C语言

C++谭浩强 课后习题 第四章函数预处理 1

#include <iostream> using namespace std; int gyx(int,int); int gbx(int,int); int main() { int a,b;  cout<<"请输入2个整数"; cin>>a>>b; cout<<"最大公约数为"<<gyx(a,b)<<endl; cout<<"最小公倍数为"<

C++谭浩强 课后习题 第四章函数预处理 4

#include <iostream>using namespace std;int fac(int);int main(){ int a,b,c; cout<<"please enter a,b,c"; cin>>a>>b>>c; cout<<"a!="<<fac(a)<<","<<"b!="<<fac(b

C++谭浩强 课后习题 第四章函数预处理 8

#include <iostream>using namespace std;double f(int,int);int main(){ int n,x; cout<<"please enter n,x"; cin>>n>>x; cout<<f(n,x)<<endl; system("pause"); return 0;}double f(int n,int x){ double s=0; if

JAVA语言程序设计基础课后习题第四章

//exercise 4.1 package fourthchapterexercise1; import java.util.Scanner; public class first { public static void main(String[] args) { // TODO Auto-generated method stub int integer=0,sum=0,positive=0,negative=0; Scanner in=new Scanner(System.in); Sy

c++面向对象程序设计 谭浩强 第一章答案

c++面向对象程序设计 谭浩强 答案 第一章 第1章  C++?的初步知识 1.请根据你的了解,叙述C++?的特点.C++?对C有哪些发展? [解] 略. 2.一个C++的程序是由哪几部分构成的?其中的每一部分起什么作用? [解] 略. 3.从拿到一个任务到得到最终结果,一般要经过几个步骤? [解] 略. 4.请说明编辑.编译.连接的作用.在编译后得到的目标文件为什么不能直接运行? [解] 编译是以源程序文件为单位进行的,而一个完整的程序可能包含若干个程序文件,在分别对它们编译之后,得到若干个目

关于c语言学习 谭浩强的书

2007-11-16 13:22:58|  分类: PROGRAMME |  标签: |举报 |字号大中小 订阅 广大有志于从事IT行业的同志们,在你们进入这一行之前千万请看这篇文章!太经典了!对你绝对有启发! 千万别买谭浩强和等级考试的书!!!!!! 整理别人的言论,请大家踊跃讨论!!!!!!!!!!!! 1:书皮上面有那么多的牛人题词,估计也许是自己的水平太低. 2:ANSI只给了两种方式:int main(void) {/*...*/}和 int main(int argc, char *

读谭浩强C语言数据结构有感(1)

1.什么是数据结构? 数据结构,就是我们计算机内部的运算,编程语言的基础工作模式吧,个人总结的 = = !! 数据:说简单一点,就是计算机二进制机器码,然后通过一些复杂的操作,变为复杂的语言. 数据元素:数据有集合和元素的区别,集合里的个体就是数据元素,相对应的就是数据结构. 线性表: 说简单一点,就是线性存储结构,每个表中有大量的元素,这些元素在物理位置中都是连接起来的. 这些元素有直接前驱和直接后继.线性表的位置是相邻的. 比如,位置1,位置2,位置3......位置N. 还有一点,线性表的

C语言学习笔记---谭浩强

前段时间有机会去面试了一次,真是备受“打击”(其实是启发),总的来说就是让我意识到了学习工具和学习技术的区别.所以最近在看一些数据结构和算法,操作系统,python中的并行编程与异步编程等东西.然而数据结构那些本来是在看python下的,但是python实在包装了太多的东西而大多的经典教材都是基于C语言的(自然是这样,C语言能够操作直接访问物理地址,能够进行位(bit)操作的特点就决定了.)所以就决定重新学一遍C语言,先重温下谭浩强老师的书籍记录下要点: 一:语言: 机器语言:计算机直接识别和接