C程序设计谭浩强_第五章课后练习题

2024-06-03 02:44

本文主要是介绍C程序设计谭浩强_第五章课后练习题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一题

第二题

第三题

#include<stdio.h>
#include<math.h>
int main(){int m,n;scanf("%d,%d",&m,&n);int temp;if(m>n) {temp = m;m = n;n = temp;}int n1,n2;for(int i = m;i>0;i--){if(m%i==0 && n%i==0){n1 = i;break;}}printf("最大公约数为:%d\n",n1);for(int i = n;i<=n*m;i++){if(i%m==0 && i%n==0){n2 = i;break;}}printf("最小公倍数为:%d\n",n2);return 0;
}

第四题

#include<stdio.h>
#include<math.h>
int main(){char c;int n1=0,n2=0,n3=0,n4=0;while((c = getchar()) != '\n'){if(c>='a'&&c<='z' || c>='A'&&c<='Z') n1++;else if(c>='0'&&c<='9') n2++;else if(c == ' ') n3++;else n4++;}printf("英文字母总共%d个\n",n1);printf("数字总共%d个\n",n2);printf("空格总共%d个\n",n3);printf("其他字符总共%d个\n",n4);return 0;
}

第五题

#include<stdio.h>
#include<math.h>
int main(){int a,n;int sum = 0;int temp = 0;printf("请按照该格式输入:数字,位数\n");scanf("%d,%d",&a,&n); for(int i = 1;i<=n;i++){temp = temp*10+a;sum += temp;printf("%d\n",temp);}printf("求和结果为:%d\n",sum);return 0;
}

第六题

#include<stdio.h>
#include<math.h>
int main(){double s = 1,sum = 0;for (int i = 1;i<=20;i++){s = 1;for (int j = 1;j<=i;j++){s *= j;}sum += s;}printf("所求结果为: %lf\n",sum);return 0;
}

第七题

#include<stdio.h>
#include<math.h>
int main(){double sum = 0;double s1=0,s2=0,s3=0;for(int i = 1;i<=100;i++){s1 += i;}for (int i = 1;i<=50;i++){s2 += i*i;}for (int i = 1;i<=10;i++){s3 += 1.0/i;}sum = s1+s2+s3;printf("所求结果为:%lf\n",sum);return 0;
}

第八题

#include<stdio.h>
#include<math.h>
int main(){for(int i = 111;i<=999;i++){int k = i;int sum = 0;while(k>0){int m = k%10;sum += m*m*m;k /= 10;}if(sum == i) printf("%d为水仙花数\n",i);}return 0;
}

第九题

#include<stdio.h>
#include<math.h>
int main(){for (int i = 2;i<=1000;i++){int s = 0;for(int j = 1;j<=i/2;j++){if(i%j == 0) s += j;}if(s == i) {printf("%d its factors are 1,",i);for(int n = 2;n<=i/2;n++){if(i%n == 0) printf("%d,",n);}printf("\n");}}return 0;
}

第十题

#include <stdio.h>
int main()
{double a = 2, b = 1, sum = 0;double temp;for (int i = 0; i < 20; i++){sum += a / b;temp = a;a = a + b;b = temp;}printf("前20项之和为:sum=%9.7f\n",sum);return 0;
}

第十一题

#include <stdio.h>
int main()
{double H = 100;int count = 0;double h,sum = 0;while(count < 10){H /= 2.0;h = H;sum += h*2;count ++;}printf("共经过%lf米,第十次反弹%lf米\n",sum+100,h);return 0;
}

第十二题

#include <stdio.h>
int main()
{int sum = 1;for(int i =0;i<9;i++){sum = (sum+1)*2;}printf("一共有%d个桃子\n",sum);return 0;
}

第十三题

#include <stdio.h>
#include <math.h>int main()
{float a, x0, x1;printf("请输入一个正数: ");scanf("%f", &a);x0 = a / 2;x1 = (x0 + a / x0) / 2;do{x0 = x1;x1 = (x0 + a / x0) / 2;} while (fabs(x0 - x1) >= 1e-5);printf("[%f] 的平方根为 [%f]\n", a, x1);return 0;
}

第十四题

#include <stdio.h>
#include <math.h>int  main()
{double x1, x0, f, f1;x1 = 1.5;do{x0 = x1;f = ((2 * x0 - 4) * x0 + 3) * x0 - 6;f1 = (6 * x0 - 8) * x0 + 3;x1 = x0 - f / f1;} while (fabs(x1 - x0) >= 1e-5);printf("方程在1.5附近的根为:%lf\n", x1);return 0;
}

第十五题

#include <stdio.h>
#include <math.h>int  main()
{double left = -10,right = 10,mid;double temp=10;while(fabs(temp)>1e-5){mid = (left+right)/2;temp = 2*mid*mid*mid-4*mid*mid+3*mid-6;if(temp>0){right = mid;}else if(temp<0){left = mid;}}printf("在(10,-10)中的根为%lf\n",mid);return 0;
}

第十六题

#include <stdio.h>
#include <math.h>int  main()
{for(int i = 1;i<=4;i++){for(int k = 1;k<=4-i;k++){printf(" ");}for (int j = 1;j<=2*i-1;j++){printf("*");}printf("\n");}for(int i = 4;i>=1;i--){for(int k = 1;k<=4-i;k++){printf(" ");}for (int j = 2*i-1;j>=1;j--){printf("*");}printf("\n");}return 0;
}

第十七题

#include <stdio.h>int main()
{int A, B, C;for (A = 'X'; A <= 'Z'; A++){for (B = 'X'; B <= 'Z'; B++){for (C = 'X'; C <= 'Z'; C++){//去除限制条件if (A == 'X' || C == 'X' || C == 'Z' || B == A || B == C || A == C){continue;}printf("A对%c\tB对%c\tC对%c", A, B, C);}}}return 0;
}

这篇关于C程序设计谭浩强_第五章课后练习题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1025810

相关文章

C语言程序设计(数据类型、运算符与表达式)

一、C的数据类型 C语言提供的数据类型: 二、常量和变量 2.1常量和符号常量 在程序运行过程中,其值不能被改变的量称为常量。 常量区分为不同的类型: 程序中用#define(预处理器指令)命令行定义变量将代表常量,用一个标识符代表一个常量,称为符合常量。 2.2变量 变量代表内存中具有特定属性的一个存储单元,用来存放数据,在程序运行期间,这些值是可以 改变的。 变

C语言程序设计(选择结构程序设计)

一、关系运算符和关系表达式 1.1关系运算符及其优先次序 ①<(小于) ②<=(小于或等于) ③>(大于) ④>=(大于或等于 ) ⑤==(等于) ⑥!=(不等于) 说明: 前4个优先级相同,后2个优先级相同,关系运算符的优先级低于算术运算符,关系运算符的优先级高于赋值运算符 1.2关系表达式 用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符

智能工厂程序设计 之1 智能工厂都本俱的方面(Facet,Aspect和Respect)即智能依赖的基底Substrate 之1

Q1、昨天分别给出了三个智能工厂的 “面face”(里面inter-face,外面outer-face和表面surface) 以及每个“面face” 各自使用的“方”(StringProcessor,CaseFilter和ModeAdapter)  。今天我们将继续说说三个智能工厂的“方面” 。在展开之前先看一下三个单词:面向facing,取向oriented,朝向toword。理解这三个词 和

React第五章(swc)

swc 什么是swc? SWC 既可用于编译,也可用于打包。对于编译,它使用现代 JavaScript 功能获取 JavaScript / TypeScript 文件并输出所有主流浏览器支持的有效代码。 SWC在单线程上比 Babel 快 20 倍,在四核上快 70 倍。 简单点来说swc实现了和babel一样的功能,但是它比babel快。 FAQ为什么快? 编译型 Rust 是

C语言程序设计 笔记代码梳理 重制版

前言 本篇以笔记为主的C语言详解,全篇一共十章内容,会持续更新基础内容,争取做到更详细。多一句没有,少一句不行!  形而上学者谓之道,形而下学者谓之器 形而上学者谓之道,形而下学者谓之器 第1章 C语言的流程 1.C程序经历的六个阶段 编辑(Edit)预处理(Preprocess)编译(Compile)汇编(Assemble)链接(Link)执行(Execute)  2.

ACM东北地区程序设计大赛

不得不说随着参赛级别的提高,题目真的是越来越难啊,不过队长真是给力啊,在我们三个共同努力之下拿下了地区赛三等奖,哈哈我们可是大一唯一一只获奖队,终于在这次比赛打败了田大神。。。大神是失手了,俺和他差距还是挺大的。。。队友陈彤马上要去服兵役了,他说这是我们送给他最好的离别礼物,希望那家伙在部队好好干,以后谁干揍我!!!东北地区赛结束后,今年已经估计没机会参加亚洲区比赛了,赶紧补高数和线数啊!!别挂了

pta-2024年秋面向对象程序设计实验一-java

文章申明:作者也为初学者,解答仅供参考,不一定是最优解; 一:7-1 sdut-sel-2 汽车超速罚款(选择结构) 答案: import java.util.Scanner;         public class Main { public static void main(String[] arg){         Scanner sc=new Scanner(System

C语言程序设计(算法的概念及其表示)

一、算法的概念 一个程序应包括两个方面的内容: 对数据的描述:数据结构 对操作的描述:算法 著名计算机科学家沃思提出一个公式: 数据结构 +算法 =程序 完整的程序设计应该是: 数据结构+算法+程序设计方法+语言工具 广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。 对同一个问题,可有不同的解题方法和步骤。为了有效地进行解题,不仅需要保证算法正确,还要考虑算

高级编程--第五章 多线程

1、目标 理解线程的概念 掌握线程的创建和启动 了解线程的状态 掌握线程调度的常用方法 掌握线程的同步 理解线程安全的类型 2、进程 3、多线程 3.1 什么是多线程 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 如果一个进程中同时运行了多个线程,用来完成不同的工作,则称之为多线程 多线程交替占用CPU资源,而非

嵌入式开发高频面试题——第五章 Linux操作系统常见面试题(上)

目录 5.1.1 Linux内核的组成5.1.2 用户空间与内核通信方式有哪些?5.1.3 系统调用read()/write(),内核具体做了哪些事情5.1.4 系统调用的作用5.1.5 内核态,用户态的区别5.1.6 Bootloader、内核、根文件系统的关系5.1.7 Bootloader多数有两个阶段的启动过程5.1.8 Linux的内核是由Bootloader装载到内存中的?5.1