谭浩强

谭浩强c++第三版5-7

空扰寡人 提交于 2020-03-17 22:40:45
# include <iostream> using namespace std ; //找出一个二维数组中的鞍点(该元素在该行最大,该列最小) int main ( ) { int a [ 100 ] [ 100 ] , m , n ; int i , j , k ; bool flag ; cout << "输入矩阵的行数,列数:" ; cin >> m >> n ; cout << "输入矩阵:" << endl ; for ( i = 0 ; i < m ; i ++ ) for ( j = 0 ; j < n ; j ++ ) cin >> a [ i ] [ j ] ; for ( i = 0 ; i < m ; i ++ ) { int max = a [ i ] [ 0 ] , maxj ; for ( j = 0 ; j < n ; j ++ ) if ( a [ i ] [ j ] > max ) { max = a [ i ] [ j ] ; //首先求出一行最大的数 maxj = j ; //并记录行号 } flag = true ; for ( k = 0 ; k < m ; k ++ ) if ( max > a [ k ] [ j ] ) //如果在最大数这一列其他数都比他小,则是鞍点 { flag = true ; continue ; } if (

谭浩强c++第三版5-4

≡放荡痞女 提交于 2020-03-16 14:42:27
# include <iostream> using namespace std ; //将一个数插入到一个已经排好序的数组中 int main ( ) { int a [ 11 ] , n ; cout << "请输入数列:" ; for ( int i = 0 ; i < 10 ; i ++ ) cin >> a [ i ] ; cout << endl << "请输入插入的数:" ; cin >> n ; if ( n > a [ 9 ] ) a [ 10 ] = n ; else for ( int i = 0 ; i < 10 ; i ++ ) { if ( a [ i ] > n ) { for ( int j = 9 ; j >= i ; j -- ) //最后一项往前直到a[i],均往后移动一位 a [ j + 1 ] = a [ j ] ; a [ i ] = n ; //将n放在a[i]中 break ; } } cout << endl << "新数列:" ; for ( int i = 0 ; i < 11 ; i ++ ) cout << a [ i ] << " " ; return 0 ; } 来源: CSDN 作者: 阿晶呐 链接: https://blog.csdn.net/weixin_44817229/article/details

C语言程序设计-谭浩强习题

别来无恙 提交于 2020-03-10 17:03:18
7.设圆半径r = 1.5,圆柱高h = 3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积 // 设圆半径r = 1.5,圆柱高h = 3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积 // 要求:用scanf输入数据,取小数点后两位 //圆球的体积公式 V=(4/3)∏r^3 //圆球的表面积公式 S=4∏r² #include<stdio.h> int main() { float r, h, c, d, s, v, v1,pi; pi = 3.1415926; printf("请输入半径:"); scanf("%f", &r); printf("请输入高:"); scanf("%f", &h); d = pi*r*2; c = pi*r*r; s = 4 * pi*r*r; v = 4 / 3 * pi*r*r*r; v1 = c*h; printf("圆的周长是%6.2f\n", d); printf("圆的面积是%6.2f\n", c); printf("圆球的表面积积是%6.2f\n", s); printf("圆的体积是%6.2f\n", v); printf("圆柱的体积是%6.2f\n", v1); return 0; } 来源: https://www.cnblogs.com/old-horse/p/12456353.html

看完谭浩强老师的C书的感受

梦想与她 提交于 2020-03-07 01:50:38
看书有很多种,这本书,花了我太久的时间,中途还停看了暂且不说。看完这书,我发现,我仍然不会编程!怎么办,问题在于哪里?可能还是出在没有把实际问题联系起来,在日常生产生活中的许多问题,要将它们转化为一种思路,一步步分析并找出方法,实际就是解题,解数学问题。我想大部分软件作者,他们也不能完全说清这些数学问题,但是他们有一种能用最快速度最有效率的方法解出难题的能力,除了个人的学识以为,还有持之以恒的、不达目的誓不罢休的决心吧。也或许他们有他们的行之有效的学习方法,我想我学了这么长时间,那行之有效的方法应该就是两个字——实践! 说不定谭老师除了非常扎实的基础,能写出这样的书,也是实践过的。像我只看书,实践少,遇到问题就从书上找代码这种方法不可取!C语言好学,但要深入理解,能理解透,不实践却真的不行啊。那么下次有人问我怎么学C语言或其它语言呢?我会告诉他这样的话:直接看每课课后练习,然后自己思考,最好上机验证代码,必要时在草稿纸上画画图,帮自己理清思路,实在无解,再去看书中的解答(即代码,也包括名词解释、语法等)。 “实践是检验真理的唯一标准!”,这句话是一个人学会做事的指示!在我工作的地方,大可以边学边做,我有太多的工作可以做!我必须尽自己最大的努力去实现自己的价值。 今天看完了最难懂的指针,与汇编语言的学习联系起来,似懂非懂的看完了这部分章节,只知道这是学C语言最精华的东西

c语言-谭浩强

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-04 22:19:32
Visual C++ 6.0注释方法 // 单行注释 /* 块注释但是一般不可嵌套 */ #If(0) 块注释可嵌套 #endif 来源: CSDN 作者: 从入门到升仙 链接: https://blog.csdn.net/weixin_43839006/article/details/104649212

C程序设计 谭浩强 第四章课后习题详解(包含算法分析,运行结果)

大城市里の小女人 提交于 2020-03-01 17:53:49
第四章 选择结构程序设计 章节重点:这一章应着重掌握if...else语句、switch多分支语句、关系运算符和关系表达式、逻辑运算符和逻辑表达式、条件运算符和条件表达式、会使用选择结构的嵌套 (1)概念题(这里着重理解) 算数运算:+、-、*、/运算,对象为实数或复数,结果也为实数或者复数。 关系运算:>、>=、<、<=、==、!=,六种,关系运算的值为逻辑值,true、false。 逻辑运算:&&、||、!,三种,逻辑运算的值为逻辑值,true、false。 (2)概念题(这里着重理解) 在C的逻辑运算中 1 代表为 真,以 0 代表为 假 。 在逻辑表达式中的运算对象 非零 代表 真,以 0 代表 假 。 (3)a=3,b=4,c=5。写出逻辑表达式的值(详细讲解一道题) a+b>3&&b==c 要掌握符号的优先级问题,因为a+b=7所以a+b>3为真,然后b是不等于c的所以为假,1&&0,结果为0。 这种题的解题技巧在先处理关系运算,处理完后在分析逻辑运算,分清运算符的结合方向为自右向左还是自左向右。 (4)输入三个数,输出最大值 # include <stdio.h> int main() { int a,b,c,max; scanf("%d,%d,%d",&a,&b,&c);//注意输入格式 if(a>b) max=a; else max=b; if(max<c)

C++程序设计(第二版)谭浩强----程序题课后习题答案第一章

一个人想着一个人 提交于 2020-02-26 15:49:45
关于调试时闪一下不出结果的解决办法:最简单的是在return之前加上system("pause"). http://blog.csdn.net/scorpio_tester/article/details/41889531 VS中,将代码格式化,变得整洁美观的快捷键: Ctrl+K+F; 5. #include <iostream> using namespace std; int main() { cout << "This" << "is"; cout << "a" << "C++"; cout << "program." << endl; return 0; } 结果 : 6. #include <iostream> using namespace std; int main() { int a, b, c; a = 10; b = 23; c = a + b; cout << "a + b ="; cout << c; cout << endl; return 0; } 结果: 7. #include <iostream> 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 << c <<

谭浩强C++

一笑奈何 提交于 2020-02-10 17:58:00
3-15 # include <iostream> using namespace std ; int main ( ) { int m , n , p , r , temp ; cout << "Please enter m:" ; cin >> m ; cout << endl << "Please enter n:" ; cin >> n ; p = m * n ; if ( m < n ) { temp = m ; m = n ; n = temp ; } while ( n != 0 ) { r = m % n ; m = n ; n = r ; } cout << "最小公倍数为:" << p / m << endl << "最大公约数为:" << m ; return 0 ; } 3-16 # include <iostream> # include <stdio.h> using namespace std ; int main ( ) { char c ; int letters = 0 , space = 0 , digital = 0 , others = 0 ; cout << "Please enter :" ; while ( ( c = getchar ( ) ) != '\n' ) { if ( c >= 'a' && c <= 'z' || c >

谭浩强C++第二版,第六章课后习题

こ雲淡風輕ζ 提交于 2020-01-30 02:40:51
#include "includes.h" int arrays[20]; void swap(int& a, int& b) { int temp; temp = a; a = b; b = temp; return; } void swap_str(char* &a, char* &b) { char *temp; temp = a; a = b; b = temp; return; } void Question6_1(int &a,int &b,int &c) { cout << "6-1" << endl; if (a > b) swap(a, b); if (b > c) swap(b, c); if (a > c) swap(a, c); cout << a << b << c<<endl; return; } void Question6_2(char *a, char *b, char *c) { if (strcmp(a, b)> 0) swap_str(a, b); if (strcmp(a, c) > 0) swap_str(a, c); if (strcmp(b, c) > 0) swap_str(b, c); cout << a << b << c << endl; return; } void input_10_number() { int i = 0

谭浩强《C++面向对象程序设计》知识点总结

匿名 (未验证) 提交于 2019-12-03 00:27:02
输入:采用标准输入流对象 istream 和提取运算符 cin>> 输出:采用标准输出流对象 ostream 和插入运算符 cout<< 一名多用,要求重载函数的参数个数或类型与原来的不同 给功能相似的函数建立一个统一的模板 要求:函数的参数个数和原来的要相同 格式: template <typename T> 通用函数定义 相当于给变量起一个别名,变量和其引用共享同一内存空间 e.g. int a; int &b = a; //声明b是一个int型变量a的引用 String类 格式: new 类型(初值) //返回一个指向数据类型的指针 new 类型[ num ] //new一个含有num个元素的类型数组 delete [ ] 指针变量 //[ ]表示对数组空间操作,可选 2.1 瀵硅薄 包含作为属性的数据成员和作为行为的成员函数,成员函数用来对数据进行操作,以便实现某些功能。 面向过程程序设计: 程序=数据结构+算法 面向对象程序设计: 对象=数据结构+算法, 程序=对象s+消息 抽象 :将有关事物归纳集中,作用是表示同一类事物的本质。类是对象的抽象,而对象是类的具体表现形式。 封装 :将数据和操作数据的函数绑定在一起,将具体的实现细节隐藏起来,仅对外保留接口。 继承 :利用已有类建立新类,新类从已有类中获得其意义特性的机制。 多态