《C语言程序设计》谭浩强 第五版 编程10题解答2

11.素数计算
编写程序计算500~800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔减、加之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值sum。

#include “stdio.h”
#include “math.h”
int main()
{
int s=0,cnt=0,f=1,i,j;
for (i=800;i>=500;i–){
for (j=2;j <=sqrt(i);j++)
if (i%j==0) break;
if (j>sqrt(i)){
cnt++;
s=s+f*i;
f=-f;
}
}
printf(“%d %d”,cnt,s);
return 0;
}

12.素数计算
编写程序计算500~800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔减、加之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值sum。

#include “stdio.h”
#include “math.h”
int main()
{
int s=0,cnt=0,f=1,i,j;
for (i=800;i>=500;i–){
for (j=2;j <=sqrt(i);j++)
if (i%j==0) break;
if (j>sqrt(i)){
cnt++;
s=s+f*i;
f=-f;
}
}
printf(“%d %d”,cnt,s);
return 0;
}

13.显示金额
编写程序从键盘上输入一个指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张,要求钱的张数最少。

#include “stdio.h”
#include “math.h”
int main()
{
double m;
scanf(“%lf”,&m);
int c100,c50,c10,c5,c2,c1,c01,c005,c001;
c100=m/100;
c50=(m-c100100)/50;
c10=(m-c100
100-c5050)/10;
c5=(m-c100
100-c5050-c1010)/5;
c2=(m-c100100-c5050-c1010-c55)/2;
c1=(m-c100100-c5050-c1010-c55-c22)/1;
c01=(m-c100
100-c5050-c1010-c55-c22-c1)/0.1;
c005=(m-c100100-c5050-c1010-c55-c22-c1-c010.1)/0.05;
c001=(m-c100100-c5050-c1010-c55-c22-c1-c010.1-c005*0.05)/0.01;
printf(“100元:%d 50元:%d 10元:%d 5元:%d 2元:%d 1元:%d 1角:%d 5分:%d 1分:%d\n”,c100,c50,c10,c5,c2,c1,c01,c005,c001);
return 0;
}

14.求整数的任意次方

编写程序求一个整数的任意次方的最后三位数。即求xa 的最后三位数,其中x,a从键盘上输入。

#include “stdio.h”
int main()
{
int x,a,mul=1;
scanf(“%d%d”,&x,&a);
for (int i=0;i<a;i++){
mul=x*mul%1000; //防止溢出,每次只取后3位进行累乘
}
printf(“%d”,mul);
return 0;
}

15.埃及分数
分子为1 的分数称为埃及分数,现输入一个真分数,编写程序将该分数分解为埃及分数。如:8/11=1/2+1/5+1/55+1/110。

#include “stdio.h”
int main()
{
long int a, b, c;
scanf(“%ld/%ld”, &a, &b); /输入分子a和分母b/
printf(“%ld/%ld=”, a, b);
while(1){
if(b%a) /若分子不能整除分母,则分解出一个分母为b/a+1的埃及分数/
c = b/a + 1;
else {/否则,输出化简后的真分数(埃及分数)/
c = b / a;
a = 1;
}
if(a1){
printf(“1/%ldn”, c);
break; /a为1标志结束/
}else
printf(“1/%ld+”, c);
a = a * c - b; /求出余数的分子/
b = b * c; /求出余数的分母/
if(a3 && b%2==0){ /若余数分子为3,分母为偶数,输出最后两个埃及分数/
printf(“1/%ld+1/%ld\n”, b/2, b);
break;
}
}
return 0;
}

16.亲密数

两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。

#include <stdio.h>

int main()
{
int i, j;
for (i = 1; i <= 3000; i++)
{
int b = 0, n = 0;
for (j = 1; j < i; j++)
if (i % j == 0)
b += j;
for (j = 1; j < b; j++)
if (b % j == 0)
n += j;
if (n == i && i < b)
printf(“(%d,%d)”, i, b);
}

return 0;

}

17.三天打鱼两天晒网
中国有句俗语叫“三天打鱼两天晒网”。某人从2000年1月1日起开始“三天打鱼两天晒网”,编写程序判断这个人在以后的某一天中是“打鱼”还是“晒网”。

#include “stdio.h”
int main()
{
int y,m,d,days=0;
scanf(“%d/%d/%d”,&y,&m,&d);
days=365*(y-2000);//计算整年的天数
for (int i=2000;i <y;i++) //修正闰年的366天
if((i%4000)||((i%100!=0)&&(i%40)))
days++;
for (int i=1;i <m;i++){ //计算整月的天数
switch (i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=days+31;break;
case 4:
case 6:
case 9:
case 11:
days=days+30;break;
case 2:
days=days+28;
if((y%4000)||((y%100!=0)&&(y%40))) days++;
break;
}
}
days=days+d; //计算当月已经过去的天数
if (days%51||days%52||days%5==3)
printf(“fishing\n”);
else
printf(“sleeping\n”);
return 0;
}

18.捕鱼
A、B、C、D、E五个人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。到了早上,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿走鱼。编写程序求他们合伙至少捕了多少条鱼?

#include “stdio.h”
int main()
{
int s1,s2,s3,s4,s5;
for (s5=16;;s5=s5+5){
int cnt=0;
s4=(s5-1)*4/5;
if ((s4-1)%50) {
s3=(s4-1)*4/5;
cnt++;
}
else continue;
if ((s3-1)%50){
s2=(s3-1)*4/5;
cnt++;
} else continue;
if ((s2-1)%50) {
s1=(s2-1)*4/5;
cnt++;
}
else continue;
if ((s1-1)%50) {
cnt++;
}
else continue;
if (cnt==4) {
printf(“%d\n”,s5);
break;
}
}
return 0;
}

19.两面族
两面族是荒岛上的一个新民族,他们的特点是说话真
一句假一句且真假交替。如果第一句为真,则第二句是假的;如果第一句为假的,则第二句就是真的,但是第一句是真是假没有规律。迷语博士遇到三个人,知道他们分别来自三个不同的民族:诚实族、说谎族和两面族。三人并肩站在博士前面,博士问左边的人:“中间的人是什么族的?”,左边的人回答:“诚实族的”。博士问中间的人:“你是什么族的?”,中间的人回答:“两面族的”。博士问右边的人:“中间的人究竟是什么族的?”,右边的人回答:“说谎族的”。编写程序判断这三个人是哪个民族的?

#include “stdio.h”
int main()
{
int s1,s2,s3,flag=0;//0-诚实族、1-说谎族和2-两面族
for (s1=0;s1 <=2;s1++){
for (s2=0;s2 <=2;s2++){
for (s3=0;s3 <=2;s3++){
int ss1=s1,ss2=s2,ss3=s3;
if (ss10) ss2=0;
if ((ss11)&&(ss20)) ss3=1;
if (ss30) ss2=1;
if(ss1!=ss2&&ss2!=ss3&&ss1!=ss3){
printf(“%d %d %d”,ss1,ss2,ss3);
flag=1;
break;
}
}
if (flag1) break;
}
if (flag1) break;
}
return 0;
}

20.SIN函数曲线
编写程序在屏幕上打印如下的SIN函数曲线。


#include “stdio.h”
#include “math.h”
int main(){
printf(“************************************************\n");
for (int i=0;i <=330;i=i+15){
double t=sin(2
3.1415926
i/360);
printf(“sin(%3d)=%+.4lf”,i,t);
if (t>0){
for (int i=0;i <24;i++)
printf(" “);
printf(”
");
for (int i=0;i <t
16;i++)
printf(" “);
printf(”
");
}
if (t <0){
for (int i=0;i <24+t
16;i++)
printf(" “);
printf(”
");
for (int i=0;i <-t
16-2;i++)
printf(" “);
printf(”
“);
}
if (t==0) {
for (int i=0;i <24;i++)
printf(” “);
printf(”
”);
}
printf(“\n”);

}
return 0;

}

《C语言程序设计》谭浩强 第五版 编程10题解答2相关推荐

  1. C语言程序设计谭浩强第五版复习梳理2

    第2章 算法--程序的灵魂 前言:前两章都是c语言基础知识,软考还有考研笔试可能会考,下一章开始学的才是真正的编程. 2.1程序=算法+数据结构 算法+数据结构=程序 数据结构: 对数据的描述.在程序 ...

  2. C程序设计谭浩强第五版课后答案 第三章习题答案

    C语言程序设计谭浩强第五版课后答案第三章 1.假如我国国民生产总值的年增长率为7%, 计算10年后我国国民生产总值与现在相比增长多少百分比.计算公式为p=(1+r)np = (1+r)^np=(1+r ...

  3. C程序设计(谭浩强第五版)总结

    C程序设计(谭浩强第五版)总结 本篇文章主要是总结谭浩强第五版C语言书上的重点和易漏点的知识点,其目的主要是给高校期末考试的同学们点参考.本文所参考的书籍是谭浩强的<C程序设计(第五版)> ...

  4. 《C语言程序设计》(谭浩强第五版) 第2章 算法——程序的灵魂

    <C语言程序设计>(谭浩强第五版) 第2章 算法--程序的灵魂 习题解析与答案 你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解 ...

  5. C语言程序设计(谭浩强第五版)——习题

    C语言程序设计(谭浩强第五版)--习题 第3章 最简单的C程序设计--顺序程序设计 第4章 选择结构程序设计 第5章 循环结构程序设计 第6章 利用数组处理批量数据 第3章 最简单的C程序设计--顺序 ...

  6. 自学c程序设计之路,谭浩强第五版,(一)程序设计与c语言

    由于本人提升技能需求,开始自学c语言程序设计,教材为<c程序设计>第五版谭浩强著.该系列为本人的学习笔记,记录的是知识点与例题,学到哪里,更到哪里.也希望能对正在学c程序设计的朋友有帮助. ...

  7. C语言(谭浩强第5版)课后习题知识总结

    目录 第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章 第一章 1.程序:就是一组计算机能够识别和执行的指令集合,每一条指令使计算机执行特定操作. 程序设计:从确定任务到 ...

  8. 《C语言程序设计》(谭浩强第五版) 第8章 善于利用指针 习题解析与答案

    你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解,还可以在线答题. 本章习题均要求用指针方法处理. 题目1:输入3个整数,按由小到大的顺序输 ...

  9. 《C语言程序设计》(谭浩强第五版) 第6章 利用数组处理批量数据 习题解析与答案

    你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解,还可以在线答题. 题目1:用筛选法求100 之内的素数. 解: 所谓"筛选法&q ...

最新文章

  1. 忽略NVRAM的config,修改cisco密码
  2. Android之webview与js交互
  3. 教你设置eclipse自动生成的author等注释
  4. _beginthreadex 一定要自己写 CloseHandle 可以不用 _endthreadex
  5. Python操作Jira提交BUG
  6. 商业智能常见名词浅释(转载)
  7. 我帮公司财务写了个“群发工资条”的Python脚本!
  8. Vue Devtools 安装
  9. (转载)解决eclipse安装maven的问题:Unable to update index for central|http://repo1.maven.org/maven2...
  10. 从svn下载下来的项目遇到的问题
  11. uniapp ---- 树组件
  12. java动态数组_Java实现动态数组
  13. “阿喀琉斯之踵”与“零缺陷”管理
  14. ESD笔记(三)_常用ESD保护电路优缺点
  15. CF342E Xenia and Tree
  16. Swift-Tips之rounded(_:)
  17. J2EE高级开发框架小课程之Spring框架1——Spring创建三种方式:使用无参构造器创建对象(bean标签的方式),使用静态方法创建对象,使用实例方法创建对象(非静态方法)
  18. 概率复习 第一章 基本概念
  19. redmine 的安装步骤
  20. 编写一个判别素数(质数)的函数 int isPrime(int x)。在 main 函数中,输入一个正整数 n,输出 1~n 之间的所有素数以及素数的个数

热门文章

  1. 跑DRC 验证出现specify layout cell报错
  2. Ribbon和Feign区别在哪
  3. VBA 学习笔记 Wrod表格设置
  4. 考研扩招!报考这些大学的,太幸运啦!
  5. [BUUCTF][HITCON 2017]SSRFme
  6. 礼物包装 括号匹配 C语言栈操作
  7. 互信息(一)信息与信息熵
  8. macOS关闭检查更新的方法
  9. 【spring】Bean的Scope与自定义Scope
  10. 力扣第257周赛T4数组的最大公因数排序(并查集+质因数分解)