精华内容
下载资源
问答
  • C语言程序设计第五版 谭浩强 第五版课后答案

    万次阅读 多人点赞 2019-06-16 00:27:29
    谭浩强 C语言程序设计第五版 第4章课后答案 3.求两个正整数m和n,求其最大公约数和最小公倍数。 #include<stdio.h> void main() { int m, n, t, i, a = 1; scanf("%d%d", &m, &n); if (m < n) ...

    谭浩强 C程序设计第五版 第五版课后答案

    点我看视频讲解+可运行源码
    记得一键三连哦

    c程序设计

    第一章

    在这里插入图片描述

    1.什么是程序?什么是程序设计?

    • 程序:就是一组能识别和执行的指令,每一条指令使计算机执行特定的操作

    • 程序设计:是指从确定任务到得到结果、写出文档的全过程

    2.为什么需要计算机语言?高级语言有哪些特点?

    • 为什么需要计算机语言:计算机语言解决了人和计算机交流是的语言问题,使得计算机和人都能识别

    • 高级语言有哪些特点:
      2.1 高级语言的数据结构要比汇编和机器语言丰富;
      2.2 高级语言与具体机器结构的关联没有汇编以及机器语言密切;
      2.3 高级语言更接近自然语言更容易掌握;
      2.4 高级语言编写的程序要经过编译或解释计算机才能执行;

    3.正确理解以下名词及其含义:

    (1)源程序,目标程序,可执行程序。

    • ​源程序:指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令

    • 目标程序:为源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以.obj作扩展名

    • 可执行程序:将所有编译后得到的目标模块连接装配起来,在与函数库相连接成为一个整体,生成一个可供计算机执行的目标程序,成为可执行程序

    (2)程序编辑,程序编译,程序连接。

    程序编辑:上机输入或者编辑源程序。

    程序编译:

    • 先用C提供的“预处理器”,对程序中的预处理指令进行编译预处理
    • 对源程序进行语法检查, 判断是否有语法错误,直到没有语法错误未知
    • 编译程序自动把源程序转换为二进制形式的目标程序

    程序连接:将所有编译后得到的目标模块连接装配起来,在与函数库相连接成为一个整体的过程称之为程序连接

    (3)程序,程序模块,程序文件。

    • 程序:一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具

    • 程序模块:可由汇编程序、编译程序、装入程序或翻译程序作为一个整体来处理的一级独立的、可识别的程序指令

    • 程序文件:程序的文件称为程序文件,程序文件存储的是程序,包括源程序和可执行程序

    (4)函数,主函数,被调用函数,库函数。

    • 函数:将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,来完成一定功能

    • 主函数:又称main函数,是程序执行的起点

    • 被调用函数:由一个函数调用另一个函数,则称第二个函数为被调用函数

    • 库函数:一般是指编译器提供的可在c源程序中调用的函数。可分为两类,一类是c语言标准规定的库函数,一类是

    ​ 编译器特定的库函数

    (5)程序调试,程序测试。
    • 程序调试:是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程

    • 程序测试:是指对一个完成了全部或部分功能、模块的计算机程序在正式使用前的检测,以确保该程序能按预定的方式正确地运行

    4.编写一个C程序,运行时输出

    Hello World!
    这个程序是一些国外C教材中作为第一个程序例子介绍的,一般称为Hello程序。

    代码示例:

    #include <stdio.h>
    
    int main()
    {
    	printf("%s\n", "Hello World!");
    	return 0;
    }
    

    运行截图:

    C程序设计第五版谭浩强第4题答案

    5.编写一个C程序,运行时输出以下图形:

    ****

    ****

    ​ ****

    ​ ****

    代码示例:

    #include <stdio.h>
    
    int main()
    {
    	for (int i = 0; i < 4; i++)
    	{
    		for (int j = 0; j < i; j++)
    		{
    			printf("%s", "  ");
    		}
    		printf("%s\n", "*****");
    	}
    	return 0;
    }
    

    运行截图:

    C语言程序设计第五版谭浩强第5题答案

    6.编写一个C程序,运行时输人a,b,c三个值,输出其中值最大者。

    代码示例:

    #include<stdio.h>
    
    int main()
    {
    	int a, b, c, max;
    	printf("请输入三个数:\n");
    
    	scanf("%d%d%d", &a, &b, &c);
    	if (a > b)
    	{
    		max = a;
    	}
    	else
    	{
    		max = b;
    	}
    
    	if (c > max)
    	{
    		max = c;
    	}
    	printf("三个数中最大的数为:%d", max);
    	return 0;
    
    }
    

    运行截图:

    C语言程序设计第五版谭浩强第6题答案

    7.看懂《C程序设计(第五版)学习辅导》第16章中介绍的用Visual Studio 2010对C程序进行编辑、编译、连接和运行的方法,并进行以下操作:

    (1)建立一个新项目,定名为project1.

    C语言程序设计第五版谭浩强第6题答案

    (2)建立一个新文件,定名为test1。

    C语言程序设计第五版谭浩强课后答案 第二题

    (3)向test1 文件输人源程序(此源程序为读者自己编写的程序)。

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

    (4)编译该源程序,如发现程序有错,请修改之,直到不出现“编译出错”为止。

    (5)连接并运行, 得到结果。分析结果。

    C程序设计第五版课后答案

    点我看视频讲解+可运行源码
    记得一键三连哦

    更多相关文章

    C程序设计第五版谭浩强课后习题答案 第一章
    C程序设计第五版谭浩强课后习题答案 第二章
    C程序设计第五版谭浩强课后习题答案 第三章
    C程序序设计第五版谭浩强课后习题答案 第四章
    C语言程序设计第五版谭浩强课后习题答案 第五章
    C语言程序设计第五版谭浩强课后习题答案 第六章
    C语言程序设计第五版谭浩强课后习题答案 第七章
    C语言程序设计第五版谭浩强课后习题答案 第八章
    C语言程序设计第五版谭浩强课后习题答案 第九章
    C语言程序设计第五版谭浩强课后习题答案 第十章

    展开全文
  • Visual Studio 2019 C语言程序(VS2019 C语言)

    万次阅读 多人点赞 2019-08-01 18:03:59
    Visual Studio 2019 C语言程序(VS2019 C语言)

           新的Visual Studio 2019出来已经有一段时间了,博主也是一开始就从vs2017换到了vs2019,发现整体的操作流程还是有一定的改变,因为之前发表过一个vs2017的博客,对Visual Studio IDE和风格确实非常喜欢,博主在vs2019中使用的字体为Fira code,接下来是编写c程序。

    1 选择创建新项目

    2 选择空项目,单击下一步

    3 填写项目名称(生成的文件夹名称和工程名都是这个),我这里填入hello,保存位置选择为桌面,此时应该在工程建立ok后,桌面会生成一个hello的文件夹,勾选解决方案和项目放在同一目录中,便于调试。全部勾选完成后,单击创建。注意,此时电脑可能会短暂卡死,正常现象稍等几秒就好。

    4 添加c文件

           上一步创建完成后,会得到如下界面,接下来添加源文件

           在左侧的解决方案目录下,选中源文件,右键单击,选择添加->新建项,如下图所示

           注意,如果左侧没有解决资源管理器,或者不小心关掉了,如下图

           单击视图->项目资源管理器就可以调出来

           添加新建项的默认页面如下,这里有几个地方值得注意:1 选择C++文件(不管是写c还是c++);2 底下名称的后缀是.cpp,我们写c代码时需要修改为.c;3 这里只管添加.c文件,如果要添加.h文件,在后面介绍。

           选中C++文件,名称修改为hello.c,点击添加

    5 在hello.c中进行测试

           按Ctrl+F5直接编译运行,结果如下,打印正确。

    6 正常新建工程到这里已经ok了,在一些项目中,可能需要移植别人的代码,通常是每个.c文件对应一个.h文件,添加过程如下

           首先是添加头文件.h,过程:选中头文件->右键单击->添加->现有项

           这里我事先创建了max.h和max.c两个文件,用于求两数的最大值,添加如下

           一样的,选中源文件,右键单击->添加->现有项,选择max.c

    7 在主函数中调用添加文件,并进行测试

           测试代码:

    #include <stdio.h>
    
    void author_log(void);
    
    int main(void)
    {
    	int max_value;	
    
    	max_value = max(555, 666);
    	printf("%d\n", max_value);
    	author_log();
    
    	getchar();
    	return 0;
    }
    
    /* 打印博主log信息 */
    void author_log(void)
    {
    	printf("author name: dingyc  \n");
    	printf("author email: dingyc_ee@yeah.net  \n");
    }

           测试结果:

          用于测试的max.c和max.h文件

    max.c

    /* 求两整数最大值 */
    
    int max(int num1, int num2)
    {
    	int max_value;
    
    	if (num1 > num2)
    	{
    		max_value = num1;
    	}
    	else
    	{
    		max_value = num2;
    	}
    
    	return max_value;
    }

    max.h

    #ifndef __MAX_H
    #define __MAX_H
    
    int max(int num1, int num2);
    
    #endif /* __MAX_H */
    

     

    问题:

    看到有不少同学问到,visual studio 提示找不到 #cinlude <stdio.h> 头文件路径,其实是没有安装C++工具。如下所示,勾选

    “使用C++的桌面开发”,就能正常运行了。

     

    展开全文
  • 谭浩强C语言程序设计第五版 第4章 课后习题 答案 1.什么是算术运算?什么是关系运算?什么是逻辑运算? 答:算术运算时数学里基础的加减乘数求余数等;关系运算时求两个或者多个变量或者表达式之间的关系;逻辑运算...

    谭浩强C语言程序设计第五版 第4章 课后习题 答案

    点我看视频讲解+可运行源码
    记得一键三连哦

    第四章 选择结构程序设计

    1. 什么是算术运算?什么是关系运算?什么是逻辑运算?

    【答案解析】

    算熟运算:

    算术运算即“四则运算”,是加法、减法、乘法、除法、乘方、开方等几种运算的统称。

    其中加减为一级运算,乘除为二级运算,乘方、开方为三级运算。在一道算式中,如果有多级运算存在,则应先进行高级运算,再进行低一级的运算。

    C语言中的算熟运算符包括:+-*/++--% 等种类。

    如果只存在同级运算;则从左至右的顺序进行;如果算式中有括号,则应先算括号里边,再按上述规则进行计算。

    示例:$ (1 + 1)^{2} * 4+5 * 3$

    解析:

    1. 先进行括号内运算1+1,然后进行乘方运算得到结果4.
    2. 接下来与4相乘,得到结果16
    3. 因为乘法优先级大于加法,因此先进行5*3,得到结果15
    4. 最终相加得到结果31

    结果:31

    关系运算:

    关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、连接、除法、外连接等),而在C语言中,关系运算通常被认为是比较运算,将两个数值进行比较,判断比较结果是否符合给定的条件。

    常见的关系运算符包括:<<=>>===!= 等种类。

    其中,前4种关系运算符(<、<=、>、>= )的优先级别相同,后2种(==、!=)也相同。而前4种高于后2种。

    例如, > 优先于 == 。而 >< 优先级相同。
    并且,关系运算符的优先级低于算术运算符,关系运算符的优先级高于赋值运算符(=)。

    逻辑运算:

    在逻辑代数中,有与、或、非三种基本逻辑运算。表示逻辑运算的方法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。而在C语言中,逻辑运算通常用于使用逻辑运算符将关系表达式或其它逻辑量连接起来组成逻辑表达式用来测试真假值。

    常见的逻辑运算符包括:&&||! 等种类

    && 与是双目运算符,要求有两个运算对象,表示两个运算对象都成立,则结果为真,否则结果为假。

    例如:(a<b) && (x>y),表示(a<b)和(x>y)同时成立则为真。

    ||:是双目运算符,要求有两个运算对象,表示两个运算对象只要任意一个成立,则结果为真,否则结果为假。

    例如:(a<b) && (x>y),表示(a<b)和(x>y)两个对象中任意一个成立则结果为真。

    **!**是单目运算符,只要求有一个运算对象,表示取运算对象反义,运算对象为真则结果为假,运算对象结果为假则结果为真。

    例如:!(a>b),表示(a>b)成立时结果为假,不成立时结果为真。

    若在一个逻辑表达式中包含多个逻辑运算符,则优先次序为: ! > && > ||。当然若一个逻辑表达式中包含括号括起来的子逻辑,则优先括号内的子逻辑判断。

    示例:

    (1>2)||(2>3)&&(4>3) 结果为0
    !(1>2)||(2>3)&&(4>3)结果为1

    注:&&优先级大于||,((2>3)&&(4>3))无法同时成立,则结果为假,然后与(1>2)结果进行逻辑或运算,两者都为假因此第一次结果为假。 而第二次!优先级最高,先对(1>2)的结果取逻辑非,得到结果为真,因此结果为真。

    2. C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

    答案:

    在C语言中逻辑常量只有两个,即0和1,用来表示两个对立的逻辑状态,其中0表示假,1表示真。

    逻辑变量与普通代数一样,也可以用字母、符号、数字及其组合成为的逻辑表达式表示。

    对于系统来说,判断一个逻辑量的值时,系统会以0作为假,以非0作为真。例如3&&5的值为真,系统给出3&&5的值为1

    3. 写出下面各逻辑表达式的值。设a=3,b=4,c=5。

    (1)a + b > c && b == c

    (2)a || b + c && b - c

    (3)!(a > b) && !c || 1

    (4)!(x = a) && (y = b) && 0

    (5)!(a + b) + c - 1 && b + c / 2

    解题思路:

    1. 关系运算符的优先级高于赋值运算符,但是低于算术运算符;
    2. &&表示两边条件同为真则成立,||表示两边条件任意一个为真则成立,!取条件反义。
    3. 逻辑运算符优先级: ! > && > ||
    4. 有括号优先括号。
    3.1 题目:a + b > c && b == c -> 3+4>5&&4==5

    解析: 3+4>5 优先3+4得到结果7,因此7>5结果为真; 4==5为假,一真一假逻辑与最终结果为假。

    答案: 0

    #include <stdio.h>
    int main()
    {
    	int a = 3, b = 4, c = 5;
    	printf("%d\n", a || b + c && b - c);
    	system("pause");//这一句是为了让控制台不退出
    	return 0;
    }
    

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

    3.2 题目:a || b + c && b - c -> 3||4 + 5 && 4-5

    解析: 优先算术运算4+5得到7,非0则为真,4-5得到-1,非0则为真,接下来逻辑与判断,最终逻辑或判断

    答案: 1

    #include <stdio.h>
    int main()
    {
    	int a = 3, b = 4, c = 5;
    	printf("%d\n", a || b + c && b - c);
    	system("pause");//这一句是为了让控制台不退出
    	return 0;
    }
    

    C语言程序设计第五版

    3.3 题目:!(a > b) && !c || 1 -> !(3>4) && !5 || 1

    解析 : !优先级最高,!(3>4)最终结果为真,!5为假; 其次 &&,真&&假得到假,最终||,1为真,假或真为真

    答案: 1

    #include <stdio.h>
    int main()
    {
    	int a = 3, b = 4, c = 5;
    	printf("%d\n", !(a > b) && !c || 1);
    	system("pause");//这一句是为了让控制台不退出
    	return 0;
    }
    

    C语言程序设计第五版课后答案

    3.4 题目:!(x = a) && (y = b) && 0 -> !(x=3) && (y=4)&&0

    解析: 这里&&优先级最低是最后一个逻辑运算,因此不管如何,最终&&0,则肯定为假

    答案: 假-0

    #include <stdio.h>
    int main()
    {
    	int a = 3, b = 4, c = 5;
    	int x, y;
    	printf("%d\n", !(x = a) && (y = b) && 0);
    	system("pause");//这一句是为了让控制台不退出
    	return 0;
    }
    

    C语言程序设计第五版课后习题答案

    3.5 题目:!(a + b) + c - 1 && b + c / 2 -> !(3+4)+5-1 && 4+5/2

    解析: 在vs中优先对(a+b)取非得到0,0+5-1结果为4,因此最终为真(此题涉及不同平台结果不同的问题,因为在有的平台下编译器会优先算术运算,则最终取非得到结果为假)

    **答案: ** 1

    #include <stdio.h>
    int main()
    {
    	int a = 3, b = 4, c = 5;
    	printf("%d\n", !(a + b) + c - 1);
    	printf("%d\n", !(a + b) + c - 1 && b + c / 2);
    	system("pause");//这一句是为了让控制台不退出
    	return 0;
    }
    

    C语言程序设计课后答案谭浩强

    4. 有3个整数a, b, c,由键盘输入,输出其中最大的数。

    解题思路: 每个数字两两与剩余两个数字进行比较,若比剩下的两个数大则最大,例如:a>b && a>c则a是最大的

    答案:

    #include <stdio.h>
    int main()
    {
        int a, b, c;
        scanf("%d %d %d", &a, &b, &c);
        if (a == b && a == c) {
            printf("Three numbers are equal\n");
        }else if (a == b && a > c) {
            printf("a and b are the largest number\n", a); 
        }else if (a == c && a > b) {
            printf("a and c are the largest number\n", a); 
        }else if (b == c && b > a) {
            printf("c and b are the largest number\n", a); 
        }else if (a > b && a > c) {
            printf("a=%d is the largest number\n", a); 
        }else if (b > a && b > c) {
            printf("b=%d is the largest number\n", b); 
        }else {
            printf("c=%d is the largest number\n", c); 
        }   
        return 0;
    }
    

    C语言程序设计第五版 谭浩强

    5.从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000 的正数。若不是,则要求重新输入。

    解题思路: 首先判断输入的数字是否大于1000且是正数,然后使用sqrt函数对数据进行取平方根,最主要的是最终在输出是调整输出格式,小数部分为0位,只需要正数部分,且整数部分不会超过4位,

    答案:

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	float a, b;
    	scanf_s("%f", &a);
    	if (a >= 1000 || a < 0) {
    		printf("请输入小于1000的正数\n");
    		scanf_s("%f", &a);
    		b = sqrt(a);
    	}
    	else {
    		b = sqrt(a);
    	}
    	printf("a=%4.0f, b=%4.0f\n", a, b);
    	system("pause");//这一句是为了让控制台不退出
    	return 0;
    }
    

    课后习题 答案

    6. 有一个函数,编写程序,输入x的值,输出y相应的值。

    y={x   (x<1)2x1  (1<=x<10)3x11(x>=10) y= \begin {cases} x\qquad\qquad\ \ \ (x<1)\\2x-1\qquad\ \ (1<=x<10)\\3x-11\qquad(x>=10) \end{cases}

    解题思路: 根据输入的不同x值进行条件判断,不同的条件采用不同的表达式进行计算即可

    答案:

    #include <stdio.h>
    int main()
    {
    	int x, y;
    	scanf_s("%d", &x);
    	if (x < 1) {
    		y = x;
    	}
    	else if (x >= 1 && x < 10) {
    		y = 2 * x - 1;
    	}
    	else {
    		y = 3 * x - 11;
    	}
    	printf("y = %d\n", y);
    	system("pause");//这一句是为了让控制台不退出
    	return 0;
    }
    

    C语言程序设计第五版第六题答案

    7. 有一个函数,

    y={1(x<0)0   (x=0)1   (x>0) y= \begin {cases} -1\qquad(x<0) \\ 0\qquad\ \ \ (x=0) \\ 1\qquad\ \ \ (x>0) \end{cases}

    有人编写了以下两个程序,请分析它们是否能实现题目要求。不要急于上机运行程序,先分析两个程序的逻辑,画出它们的流程图,分析它们的运行情况。然后,上机运行程序,观察和分析结果。

    #include <stdio.h>
    
    int main()
    {
    	int x, y;
        printf("enter x:");
        scanf("%d", &x);
        y=-1;
        if (x != 0)
    		if (x > 0)
                y=1;
        	else
            	y=0;
        printf("x=%d,y=%d\n", x, y);
        return 0;
    }
    

    解题思路: if语句使用过程中,else总是匹配距离自己最近的且没有配对的if,因此x!=0具有两种情况x>0和x<0;因此x==0时y保持-1;x!=0&&x>0时y=1;x!=0&&x<0时y=0。

    流程图:

    C语言程序设计第五版流程图

    答案:
    课后习题答案

    #include <stdio.h>
    
    int main()
    {
    	int x, y;
        printf("enter x:");
        scanf("%d", &x);
        y=0;
        if (x >= 0)
    		if (x > 0) y=1;
        	else y=-1;
        printf("x=%d,y=%d\n", x, y);
        return 0;
    }
    

    解题思路: if语句使用过程中,else总是匹配距离自己最近的且没有配对的if,因此x>=0具有两种情况x>0和x0;因此x<0时y保持0;x>=0&&x>0时y=1;x>=0&&x0时y=-1。

    流程图:

    c语言谭浩强课后习题答案

    答案:

    C语言程序设计第五版

    8. 给出一百分制成绩,要求输出成绩等级’A’、‘B’、‘C’、‘D’、‘E’。 90分以上为’A’,8089分为’B’,7079分为’C’ ,60~69分为’D’ ,60分以下为’E’。

    解题思路: 根据不同的阶段成绩区间作为成绩的判断条件,属于哪个区间则输出对应等级即可

    答案:

    #include <stdio.h>
    int main()
    {
    	int score;
    	printf("enter score:");
    	scanf_s("%d", &score);
    	if (score >= 90) {
    		printf("A\n");
    	}else if (score >= 80 && score < 90) {
    		printf("B\n");
    	}else if (score >= 70 && score < 80) {
    		printf("C\n");
    	}else if (score >= 60 && score < 70) {
    		printf("D\n");
    	}else {
    		printf("E\n");
    	}
    	system("pause");
    	return 0;
    }
    

    谭浩强第五版课后习题答案

    9. 给一个不多于5位的正整数,要求:①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为321,应输出123。

    ①求出它是几位数;

    解题思路: 大于10000就是5位,否则大于1000就是四位,否则大于100是三位…

    答案:

    #include <stdio.h>
    int main()
    {
    	int num;
    	printf("enter num:");
    	scanf_s("%d", &num);
    	if (num > 99999 || num < 0) {
    		printf("请输入0~99999之间的正数\n");
    		return -1;
    	}
    	if (num >= 10000) {
    		printf("5\n");
    	}else if (num >= 1000) {
    		printf("4\n");
    	}else if (num >= 100) {
    		printf("3\n");
    	}else if (num >= 10) {
    		printf("2\n");
    	}else {
    		printf("1\n");
    	}
    	system("pause");
    	return 0;
    }
    

    C语言程序设计第五版课后答案

    ②分别输出每一位数字;

    解题思路: 99999除以10000则输出9;9999除以1000则输出9,…

    答案:

    #include <stdio.h>
    int main()
    {
    	int num;
    	printf("enter num:");
    	scanf_s("%d", &num);
    	if (num > 99999 || num < 0) {
    		printf("请输入0~99999之间的数字\n");
    		return -1;
    	}
    	if (num / 10000 > 0) {//取出万位数字
    		printf("%d ", num / 10000);
    	}
    	if (num%10000 >= 1000) {//取余10000则可以取出低四位的数据,除以1000则得到千位的数字
    		printf("%d ", (num % 10000) / 1000);
    	}
    	if (num%1000 >= 100) {//取余1000则可以取出低三位的数据,除以100则得到百位的数字
    		printf("%d ", (num % 1000) / 100);
    	}
    	if (num%100 >= 10) {//取余100则可以取出低两位的数据,除以10则得到十位的数字
    		printf("%d ", (num % 100) / 10);
    	}
    	if (num%10 >= 0) {//取余10则取出个位数字
    		printf("%d ", num % 10);
    	}
    	printf("\n");
    	system("pause");
    	return 0;
    }
    

    第八题答案

    ③按逆序输出各位数字,例如原数为321,应输出123。

    解题思路: 思路与第二题相同,只不过将整个过程逆序即可

    答案:

    #include <stdio.h>
    int main()
    {
    	int num;
    	printf("enter num:");
    	scanf_s("%d", &num);
    	if (num > 99999 || num < 0) {
    		printf("请输入0~99999之间的数字\n");
    		return -1;
    	}
    	if (num % 10 >= 0) {
    		printf("%d ", num % 10);
    	}
    	if (num % 100 >= 10) {
    		printf("%d ", (num % 100) / 10);
    	}
    	if (num % 1000 >= 100) {
    		printf("%d ", (num % 1000) / 100);
    	}
    	if (num % 10000 >= 1000) {
    		printf("%d ", (num % 10000) / 1000);
    	}
    	if (num / 10000 > 0) {
    		printf("%d ", num / 10000);
    	}
    	printf("\n");
    	system("pause");
    	return 0;
    }
    

    C语言程序设计第五版习题答案

    10.企业发放的奖金根据利润提成。利润I低于或等于100000元的,奖金可提成10%;利润高于100000元,低于200000元(100000<I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成7. 5%;200000<I≤400000时,低于200000元的部分仍按上述办法提成(下同)。高于200000元的部分按5%提成;400000<<I≤600000元时,高于400000元的部分按3%提成;600000<1≤1000000时,高于600000元的部分按1.5%提成;I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。要求:(1) 使用if语句编写程序。(2) 使用switch语句编写程序。

    (1) 使用if语句编写程序。

    解题思路: 先将每一档的最大奖金算出来,在某一个区间时,则那小于这一档的奖金加上多出部分的奖金即可,例如:

    先列出100000档的奖金是10000,则180000就是10000 + (180000-100000) * 0.075;

    列出200000档的奖金是第一档加上多出100000部分的7.5%得到17500,则300000就是17500 + (300000-200000)*0.05;

    答案:

    #include <stdio.h>
    int main()
    {
    	double I, salary = 0;
    	printf("enter performance:");
    	scanf_s("%lf", &I);
    	if (I < 0) {
    		printf("请输入一个正数\n");
    		system("pause");
    		return -1;
    	}
    	double salary1 = 100000 * 0.1;//10万的奖金
    	double salary2 = (200000 - 100000) * 0.075 + salary1;//20万的奖金
    	double salary3 = (400000 - 200000) * 0.05 + salary2;//40万的奖金
    	double salary4 = (600000 - 400000) * 0.03 + salary3;//60万的奖金
    	double salary5 = (1000000 - 600000) * 0.015 + salary4;//100万的奖金
    	if (I <= 100000) {
    		salary = I * 0.1;//小于100000按10%提成
    	}else if (I > 100000 && I <= 200000) {
    		salary = salary1 + (I - 100000) * 0.075;//多出10万的按比例计算,加上10w的奖金
    	}else if (I > 200000 && I <= 400000) {
    		salary = salary2 + (I - 200000) * 0.05;//多出20万的按比例计算,加上20w的奖金
    	}else if (I > 400000 && I <= 600000) {
    		salary = salary3 + (I - 400000) * 0.03;//多出40万的按比例计算,加上40w的奖金
    	}else if (I > 600000 && I <= 1000000) {
    		salary = salary4 + (I - 600000) * 0.015;//多出60万的按比例计算,加上60w的奖金
    	}else if (I > 1000000){
    		salary = salary5 + (I - 1000000) * 0.01;//多出100万的按比例计算,加上100w的奖金
    	}
    	printf("salary:%f\n", salary);
    	system("pause");
    	return 0;
    }
    

    C语言程序设计第五版课后答案谭浩强

    (2) 使用switch语句编写程序。

    解题思路: 与第一题思路没有太大差别,区别在于switch语句的case子句中需要是一个常量整数,并且switch中若子句中没有break将循序向下执行,直到遇到break才会跳出switch语句,如果这时候将利润除以10w,则得到09的数字,其中0表示小于10w,1表示介于1020w,2、3表示介于2040w,4、5表示介于4060w,6、7、8、9表示介于60~100w,否则就是大于100w

    答案:

    #include <stdio.h>
    int main()
    {
    	double I, salary = 0;
    	printf("enter performance:");
    	scanf_s("%lf", &I);
    	if (I < 0) {
    		printf("请输入一个正数\n");
    		system("pause");
    		return -1;
    	}
    	double salary1 = 100000 * 0.1;//大于100000时0~100000的奖金
    	double salary2 = (200000 - 100000) * 0.075 + salary1;//大于200000时0~20万的奖金
    	double salary3 = (400000 - 200000) * 0.05 + salary2;//大于400000时0~40万的奖金
    	double salary4 = (600000 - 400000) * 0.03 + salary3;//大于600000时0~60万的奖金
    	double salary5 = (1000000 - 600000) * 0.015 + salary4;//大于1000000时0~100万的奖金
    	int grade = I / 100000;
    	switch(grade) {
    		case 0:
    			salary = I * 0.1; break;
    		case 1:
    			salary = salary1 + (I - 100000) * 0.075; break;
    		case 2://会顺序执行到下一个breakcase 3:
    			salary = salary2 + (I - 200000) * 0.05; break;
    		case 4:
    		case 5:
    			salary = salary3 + (I - 400000) * 0.03; break;
    		case 6:
    		case 7:
    		case 8:
    		case 9:
    			salary = salary4 + (I - 600000) * 0.015; break;
    		default:
    			salary = salary5 + (I - 1000000) * 0.01; break;
    	}
    	printf("salary:%f\n", salary);
    	system("pause");
    	return 0;
    }
    

    c语言谭浩强课后答案

    11. 输入4个整数,要求按由小到大的顺序输出。

    解题思路: 四个数中先找到最小的,剩下的三个数中找到第二小的,剩下的两个数中找到第三小的。

    答案:

    #include <stdio.h>
    int main()
    {
    	int a, b, c, d;
    	int max_num;
    	scanf_s("%d %d %d %d", &a, &b, &c, &d);
    	int tmp;
    	//找到最小的数
    	if (a > b) {
    		tmp = a; a = b; b = tmp; // a>b两个数据交换,则给a存储小的b
    	}
    	if (a > c) {
    		tmp = a; a = c; c = tmp;
    	}
    	if (a > d) {
    		tmp = a; a = d; d = tmp;
    	}
    	//找到第二小的数,不需要和最小的数比较
    	if (b > c) {
    		tmp = b; b = c; c = tmp;
    	}
    	if (b > d) {
    		tmp = b; b = d; d = tmp;
    	}
    	//找到第三小的数据,不需要和第一和第二小比较
    	if (c > d) {
    		tmp = c; c = d; d = tmp;
    	}
    	printf("%d %d %d %d\n", a, b, c, d);
    	system("pause");
    	return 0;
    }
    

    c语言程序设计第五版第11题答案

    12. 有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,见图。这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。

    第12题

    解题思路: 塔的半径为1m,则x坐标小于-3或者大于3,以及y坐标大于3或者小于-3则都是0m的建筑;其余则判断输入的坐标是否在各个圆塔的圆形范围内。该点到各个圆心的距离是否大于1,小于则是10m建筑,否则为0m建筑。

    math.h中提供了fabs(double)求一个浮点数的绝对值,输入x,y坐标

    fabs(fabs(x) - 2)得到输入坐标距离圆心的横轴距离;

    fabs(fabs(y) - 2)得到舒服坐标距离圆心的纵轴距离;

    三角形两个直角边长平方相加,然后开平方根得到第三边长,若大于1,则不再圆塔范围内。

    答案:

    #include <stdio.h>
    #include <math.h>
    void main()
    {
    	int h;
    	double x, y, m, n, r;
    	printf("Please input a coordinate (x,y):");
    	scanf_s("%lf,%lf", &x, &y);
    	if (fabs(x) > 3 || fabs(y) > 3) {
    		h = 0;
    		printf("The height of the coordinate(%f,%f):h=%d\n", x, y, h);
    		return 0;
    	}
    	m = fabs(x) - 2; n = fabs(y) - 2;
    	r = sqrt(m * m + n * n);
    	if (r > 1)
    		h = 0;
    	else
    		h = 10;
    	printf("The height of the coordinate(%f,%f):h=%d\n", x, y, h);
    	system("pause");
    	return 0;
    }
    

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

    点我看视频讲解+可运行源码
    记得一键三连哦

    更多相关文章

    C语言程序设计第五版 谭浩强 第五章 课后习题 答案

    展开全文
  • Visual Studio 2017 C语言程序(vs2017 c语言)

    万次阅读 多人点赞 2018-09-16 17:33:41
    Visual Studio 2017 编写C语言程序(vs2017 c语言)

    最新版的Visual Studio 2017在新建项上有改变,接下来介绍最新版本如何编写C语言程序。

     

    1. 文件>>新建>>项目

    a) 左边选择Visual C++下的Windows桌面选项,然后选择Windows桌面向导。

    b) 在名称处可以选择项目文件夹名称(如我填写的是Test C),然后选择文件夹位置(本例中为E盘)。

    c) 注意右下角的可选项,都不要勾选。

     

    2.  单击确定后,出现Windows桌面项目选项。

    勾选空项目,并取消安全开发生命周期(SDL)检查的勾选,并确定。

     

    3. 几秒钟后完成新建项目,然后进行下一步操作,新建源文件。

    在解决方案资源管理器中,右键单击源文件>>添加>>新建项

    选中C++文件(.cpp),注意,此时名称为源.cpp,因为是写C程序,所以需要对名称进行修改(后缀改为.c)。

    此时位置为之前选择的项目位置。

    这里我将名称改为helloworld.c,单击添加。弹出界面如下图。

    此时左侧解决方案资源管理器中,源文件内出现helloworld.c代码文件,在右边可以开始写代码啦!

     

    4. 效果测试

    快捷键Ctrl+F5编译运行,结果如下图(getchar()为了防止结果窗口一闪而过)。

     

    5. 希望小伙伴们都能够迅速上手Visual Studio 2017!

     

    问题:

    看到有不少同学问到,visual studio 提示找不到 #cinlude <stdio.h> 头文件路径,其实是没有安装C++工具。如下所示,勾选

    “使用C++的桌面开发”,就能正常运行了。

     

    展开全文
  • 文章目录20201015-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises02成信大-C语言程序设计上机作业-参考**20201学期《C语言程序设计B》C-trainingExercises02**P134P710P733P259P711 ...
  • 文章目录20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises10P125P127P232P753P716P724 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises10 P125 /* ...
  • 课程内容:C基础课程大纲、什么是IDE、IDE的汉化、源程序和可执行程序、关键字、类型、变量、数据、main函数、自定义函数、程序中标点符号和注释、c语言程序的开发步骤。
  • Linux环境编译运行C语言程序

    万次阅读 多人点赞 2019-04-15 12:57:44
    linux环境下编译并运行C语言程序 打开安装好的Linux系统(ubuntu18.04) 1.安装编辑器 使用语句:sudo apt-get install vim安装vim,可以在安装前查看是否安装vim编辑器。(特别提示:在安装vim前最好将软件更新,...
  • 二、简单了解C语言程序的基本结构 在上一节学习中,复制了一段HelloWorld代码并且运行了该程序。接下来通过上一节的代码来学习一般情况下C语言代码的结构组成。 2.1 了解C语言代码编写区域 如下图,紫色框所示意的...
  • C语言程序设计(全程实践)

    万人学习 2019-07-09 06:31:20
    C语言是非常流行的高级编程语言之一,是很多同学的入门编程语言,是建立编程思想的基础课程。 本视频课程是配合学生在学习了基本的理论课程的同时,进行编程实践,帮助初学者有效的进行上机实践,视频主要通过实例...
  • C语言程序设计视频

    千次阅读 热门讨论 2018-10-14 11:04:11
    C语言程序设计的明码:【苏小红】 09461268081145416196 下载链接的解压码见评论区。
  • C语言程序换图标

    2020-04-06 23:40:05
    目录在vs2010中给C语言程序换图标在vc 6.0中给C语言程序换图标 平常我们编译运行后生成的exe程序的图标是这样的: 那么如何把图标弄成我们想要的图标呢? 接下来我就和各位说一说。 我们首先要知道: 图标格式的...
  • 一个简单的C语言程序HelloWorld!

    万次阅读 多人点赞 2018-06-29 21:27:09
    所谓万事开头难嘛,我们就先写一个最简单的C语言程序来认识C语言吧!万能的HelloWorld!#include &lt;stdio.h&gt; int main(void) { printf("HelloWorld!"); return 0; }下面进行讲解上面的程序...
  • 判断素数的c语言程序_C素数程序

    千次阅读 2020-09-09 10:10:44
    判断素数的c语言程序Here you will get program for prime number in C. 在这里,您将获得C中素数的程序。 A number that is only divisible by 1 or itself is called prime number. 仅可被1整除的数字或本身...
  • 详解VS 2019中怎么运行C语言程序

    万次阅读 多人点赞 2020-04-14 18:20:24
    解决VS 2019中怎么运行C语言程序 在使用VS的时候,只有C ++项目没有C项目,经过查找资料后,我能在VS里运行C程序了。具体步骤如下所示 1.打开Visual Studio 2019 后,选择创建新项目 2.点击创建空项目 3.选择存放...
  • ubuntu下编写C语言程序

    千次阅读 2020-09-30 10:54:24
    一.gcc编译C语言程序 二.makefile编译C语言程序 三.编译过程中遇到的问题 题目:编写一个主程序文件main1.c和一个子程序文件sub1.c,有如下要求:子程序sub1.c包含一个算术运算函数float x2x(int a,int b),此函数...
  • 在 Mac OS X 下学习C语言使用 Xcode。Xcode 是由Apple官方开发的IDE,支持C、C++、Objective-C、Swift等,可以用来开发 Mac OS X 和 iOS 上的...在 Xcode 上运行C语言程序需要先创建工程,再在工程中添加源代码。 ...
  • C语言程序设计学习总结

    千次阅读 2019-01-04 18:04:35
    C语言程序设计学习总结 我接触C语言真的是从我开学开始的,在这之前我从来没有想过我会与写程序代码有渊源,这一学期,准确的说我是从零基础的程序设计者一步一步走下来的,刚开始接触C语言的时候,我感到了无助,...
  • C语言程序的开发过程

    千次阅读 2019-12-12 14:37:00
    C语言程序的开发过程 一个C语言程序从编写到获得运算结果,一般会经历四个过程。这四个阶段是: 编辑,编辑源程序。一般会得到一个扩展名为.c的文件 编译,生成二进制的目标代码,即机器代码,由众多个0和1组成的...
  • 用cLion编写运行c语言程序

    千次阅读 2020-02-21 18:29:22
    用CLion编写运行c语言程序 朝闻道,夕可死矣! 哈哈哈哈
  • C语言程序调试一闪而过C语言程序调试一闪而过C语言程序调试一闪而过
  • C语言程序设计 课程设计报告

    千次阅读 多人点赞 2020-06-17 17:39:14
    C语言程序设计课程设计报告 一、 系统简介 学生成绩管理系统简介:一个简易的学生成绩管理系统,它包括并可以实现:“录入并保存学生信息、打印学生信息、读取学生信息、查找学生信息、删除学生信息、修改学生信息、...
  • C语言程序设计》专升本考试大纲

    千次阅读 多人点赞 2019-05-13 09:35:01
    C语言程序设计》专升本考试大纲 一、总要求 本课程地位:本课程是计算机专业的核心课程之一。 本课程性质:本课程是计算机专业的专业基础课程 本课程了解、熟悉、掌握的主要内容:了解C语言的主要特征、常用算法...
  • 在Linux(Ubuntu版)下编写运行C语言程序

    万次阅读 多人点赞 2018-02-21 21:16:42
    但在Linux系统里,需要熟练掌握在Terminal里编写C语言程序,进行编译调试。本章主要介绍在Linux的终端下编写C程序并编译运行。一,编写C时需要掌握的一些Linux操作(1)文件管理相关的命令Linux命令名称作用使用举例...
  • C语言程序组成

    千次阅读 多人点赞 2018-03-21 17:50:18
    Linux操作系统上大部分应用程序都是基于C语言开发的(其实,Linux操作系统也是用C语言开发的)。本篇博客将简单介绍Linux平台上常用的C语言开发程序。一、C程序的结构1.函数必须有一个且只能有一个主函数main(),...
  • 用MAC系统写C语言程序

    千次阅读 2020-02-23 17:31:56
    下面废话不多说,就来记录一下如何在mac系统中编写第一个c语言程序——hello world。 大致了解了一下,mac中可编写c语言的软件有:Xcode(AppStore下载)、Clion、CodeRunner、终端 等等。 因为我电脑内存不够下不了...
  • 根据c语言程序转换成汇编程序

    千次阅读 2016-03-04 14:23:26
    gcc编译器可以将c语言程序转换为对应的汇编程序,只要在编译时候添加-S选项即可: gcc -S main.c 这时候会默认生成main.s汇编程序文件。
  • C语言程序设计第四版谭浩强课后习题答案 完整版

    万次阅读 多人点赞 2017-12-14 15:31:23
    C语言程序设计第四版谭浩强课后习题答案 完整版下载地址:http://download.csdn.net/download/xw791488540/3778054?utm_source=blogseo第一章 程序设计和C语言 【第15页】 1-5 #include

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 165,914
精华内容 66,365
关键字:

c语言程序

c语言 订阅