浙大版《C语言程序设计(第3版)》题目集(编程题q41-q50)
习题4-5 换硬币 (20分)
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

#include "stdio.h"
int main()
{int x;int fen5=0,fen2=0,fen1=0;int total =0,count=0;scanf("%d",&x);for(int k=x/5; k>0; k--){for(int j=x/2;j>0;j--){for(int i=x;i>0;i--){if(i+2*j+5*k==x){count++;total=i+j+k;printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n",k,j,i,total);}}}}printf("count = %d",count);return 0;
}

习题4-6 水仙花数 (20分)
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 本题要求编写程序,计算所有N位水仙花数。

#include "stdio.h"
#include "math.h"
int main()
{int N,min,max;int i,a,b;int item,sum=0;scanf("%d",&N);min=pow(10,N-1);max=pow(10,N)-1;for(i=min;i<=max;i++){a=i;sum=0;while(a>0){b=a%10;  //取末位a/=10;item=pow(b,N);sum+=item;}if(sum==i){printf("%d\n",i);}}return 0;}
在这里插入代码片

习题4-7 最大公约数和最小公倍数 (15分)
本题要求两个给定正整数的最大公约数和最小公倍数。

#include "stdio.h"
int main()
{int a,b,c,m,n;scanf("%d %d",&m,&n);if(m<n){    //使用辗转相除法要保证m>n c=m;m=n;n=c;}a=m;b=n;while(b!=0){c=a%b;a=b;b=c;}printf("%d %d",a,m*n/a);  //最小公倍数=两数乘积/最大公约数 return 0;
}

习题4-8 高空坠球 (20分)
皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?

#include "stdio.h"
int main()
{int n=0,cnt=0;double sum=0,h=0;scanf("%lf %d",&h,&n);  //初始高度,n while(h!=0&&cnt<n){sum+=h;cnt++;h=h/2;sum+=h;   //距离为下落高度和反弹高度(反弹高度为下落高度一半) }if(n==0){sum=0;h=0;}else{sum=sum-h;  //落地时的距离不包括反弹 }printf("%0.1f %0.1f",sum,h);return 0;}

习题4-9 打印菱形图案 (15分)
本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。

#include "stdio.h"
int main()
{int n;scanf("%d",&n);int mid=(n/2)+1;  //打印菱形即为打印两个三角形,先找到中间线 for(int i=1;i<=mid;i++){for(int j=mid-i;j>0;j--){printf("  ");   //输出空格 }for(int k=0;k<(2*i-1);k++){printf("* ");   //输出*号 }printf("\n");     //一行输完后回车 }for(int i=1;i<mid;i++){for(int j=0;j<i;j++){printf("  ");}for(int k=(mid-i)*2-1;k>0;k--){printf("* ");}printf("\n");}return 0;
}

习题4-10 猴子吃桃问题 (15分)
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?

#include "stdio.h"
int main()
{int N;int num=1;   //倒着考虑,最后一天还是1个 scanf("%d",&N);for(int i=1;i<=N-1;i++){  //从最后一天到第二天循环 num=(num+1)*2;}printf("%d",num);return 0;
}

习题4-11 兔子繁衍问题 (15分)
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?

#include"stdio.h"
int main()
{int N;scanf("%d",&N);if(N==1){     printf("1");}else{int i,x1,x2,x;x1=1,x2=1,x=0;for(i=2;x2<N;i++){   //斐波那契数列问题 x=x1+x2;x1=x2;x2=x;}printf("%d",i);}return 0;}

习题6-7 简单计算器 (20分)
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。

#include "stdio.h"
int main()
{int i,sum,isnan=0;char op='0';scanf("%d",&sum);while(op!='='){scanf("%c",&op);if(op=='='){break;}scanf("%d",&i);if(op=='+'){sum=sum+i;}else if(op=='-'){sum=sum-i;}else if(op=='*'){sum=sum*i;}else if(op=='/'){if(i!=0) {sum=sum/i;}else{isnan=1;} }else{isnan=1;}}if(isnan==1){printf("ERROR");}elseprintf("%d\n",sum);return 0;
}

习题6-8 统计一行文本的单词个数 (15分)
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。

#include "stdio.h"
int main()
{char str;int cnt=0,flag=0;str=getchar();while(str!='\n'){if(str!=' ')flag=1;if(flag==1&&str==' '){cnt++;flag=0; } str=getchar();}if(flag==1)cnt++;printf("%d",cnt);return 0;}

练习7-2 求最大值及其下标 (20分)
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

#include "stdio.h"
int main()
{int n;int a[10];    //(n<=10)scanf("%d",&n);for (int i =0;i<n;i++ ){scanf("%d",&a[i]);}int max=0;     //令最大值为0 for(int j=1;j<n;j++){if(a[j]>a[max]){max=j;}}printf("%d %d",a[max],max);return 0;
}

浙大版《C语言程序设计(第3版)》题目集(编程题q41-q50)相关推荐

  1. 丁亚涛c语言程序设计第3版,c语言程序设计(第3版)丁亚涛.pdf

    <C 语言程序设计 (第3 版)>丁亚涛 教材习题与解答 习题1 [参考答案] 1. C 语言基本特点:简洁.紧促.灵活.运算符丰富.数据结构丰富.移植性好等. 2. 程序如下: #inc ...

  2. 浙大版《C语言程序设计实验与习题指导(第4版)》题目集-编程题-实验1-1-Hello World!

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

  3. 浙大版《C语言程序设计实验与习题指导(第4版)》题目集-编程题-实验2-2-6 3人分糖果 (5分)

    #include<stdio.h> int main() {int a=8,b=9,c=10;/*1号小朋友分糖果*/a/=3;/*2 3 号小朋友获得糖果*/b+=a;c+=a;/*2号 ...

  4. java 程序设计 第八版,java语言程序设计第八版答案

    参考答案如下 程序[单选题]船用离心泵需向压力较高容器供液时,最常用的方法是________.A. 用大直径叶轮 B. 提高转速 C. 用多级泵 D. 用并联泵 设计[单选题]甲癣口服药治疗,由于用药 ...

  5. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第五周题解(个人向仅供参考)

    第5周 循环结构程序设计 1 用for语句实现判断并求和.(10分) 题目内容: 求1~100以内 ( 包括100)能被3整除同时被5整除余数为1的所有数之和.要求用for语句完成. 输入格式: 无 ...

  6. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第十周题解(个人向仅供参考)

    第10周 变量的作用域及编译预处理 1 求x的n次方(10分) 题目内容:编写求x的n次方的递归函数,在主函数调用并输出.(x为double型,n为整型,函数类型为double型) 输入格式: %lf ...

  7. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第十一周题解(个人向仅供参考)

    第11周 指针一 1 利用指针编写程序,统计字符串的长度.(10分) 题目内容:利用指针编写程序,统计字符串的长度.(不要使用求字符串长度函数) 输入格式: gets() 输出格式: "Le ...

  8. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第九周题解(个人向仅供参考)

    第9周 函数的定义及调用 1 编写函数,计算银行存款本息并输出.(10分) ** 题目内容: 编写函数计算银行存款本息,在主函数中从键盘输入银行存款金额(money).存款周期(year)和年利率(r ...

  9. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第十三周题解(个人向仅供参考)

    第十三周 结构与共用体 1 某班有5名同学,建立一个学生的简单信息表,包括学号.姓名.3门课程的成绩,编写程序,计算每名学生的平均成绩及名次.(30分) 题目内容: 某班有5名同学,建立一个学生的简单 ...

  10. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第三周题解(个人向仅供参考)

    第3周 数据的输入与输出 题1 交换两个变量(5分) 题目内容: 编写程序, 输入两个整型变量,交换两个变量的值,输出交换后的变量 输入格式: %d,%d 输出格式: %d,%d 输入样例: 3,4 ...

最新文章

  1. C–gcc命令行下的参数
  2. 客户端稳定性优化实战,Crash率最高下降40%
  3. web开发:jquery之DOM
  4. Apache Shiro第2部分–领域,数据库和PGP证书
  5. java excel 导入 加校验_POI实现excel各种验证和导入的思路总结
  6. Git清除用户名和密码
  7. echarts.init只能使用一个_气动球阀填料使用寿命怎样提高
  8. opencv Scharr、Canny、LOG边缘提取效果对比
  9. 数据类型转换——Python
  10. 动态加载Web Service
  11. 项目答辩PPT(一)
  12. windows解压jar文件
  13. 「首席架构师推荐」数值分析软件列表
  14. 武汉市计算机类中专学校排名,武汉中职中专学校一览表 2021最新排名
  15. c语言int转换为bytes,__c语言__整型、实型的存储(十进制转二进制)
  16. C语言水洼数算法,水洼的数量算法 代码(C)
  17. CentOS 安装Kerberos服务
  18. 【已解决】PyLaTeX 编译中文出现乱码
  19. 『软件测试4』耗子尾汁!2021年了,你还不知道这4种白盒测试方法吗?
  20. 关于微软IIS7安全性

热门文章

  1. excel中按出生日期排序公式
  2. Hamilton Jacobi
  3. 运用python简单的画圆
  4. 是非人生 — 一个菜鸟程序员的5年职场路 第7节
  5. 网校系统开发如何做才能保证系统稳定发展
  6. 什么是nmap以及如何使用它
  7. 阿里云OSS跨域报错:Access to XMLHttpRequest at ‘...‘ ... blocked by CORS policy: No ‘Access-Control-Allow
  8. 如何把自己的苹果手机屏幕投射到电脑上
  9. Mybatis数据框架整合
  10. 【Java并发编程】并发编程大合集