《C语言程序设计第三版》(苏小红)习题九 课后答案
9.2 一一对换两数组元素值
利用函数swap(),用函数编程实现两个数组中对应元素值的交换
#include<stdio.h>
#define n 5
void Swap(int *x,int *y){int temp;temp=*x;*x=*y;*y=temp;
}
int main()
{int a[n],b[n];int i,j;printf("输入第一个数组元素:\n");for(i=0;i<n;i++)scanf("%d",&a[i]);printf("输入第二个数组元素:\n");for(i=0;i<n;i++)scanf("%d",&b[i]);for(i=0;i<n;i++){Swap(&a[i],&b[i]); }printf("交换后第一个数组为:\n");for(i=0;i<n;i++){printf("%d ",a[i]);}printf("\n");printf("交换后第二个数组为:\n");for(i=0;i<n;i++){printf("%d ",b[i]);}printf("\n");}
9.3 互换最大最小值
从键盘输入10个整数,用函数编程实现计算其最大值和最小值,并互换它们所在数组中的位置。
#include<stdio.h>
#define n 10
void Swap(int *x,int *y){int temp;temp=*x;*x=*y;*y=temp;
}
void Find(int *a,int *max,int *min) {int i,j,k;*max=a[0],*min=a[0];for(i=0;i<n;i++){if(a[i]>*max){*max=a[i];j=i;}if(a[i]<*min){*min=a[i];k=i;}}Swap(&a[j],&a[k]);
}int main()
{int a[n],b[n];int i,j;int max,min;printf("输入数组元素:\n");for(i=0;i<n;i++)scanf("%d",&a[i]);Find(a,&max,&min);printf("最大值 %d,最小值 %d\n",max,min);for(i=0;i<n;i++){printf("%d ",a[i]);}
}
9.4 日期转换
按如下函数原型用函数编程解决如下的日期转换问题(要求考虑闰年的问题):
(1)输入年月日,计算是这一年的哪一天
(2)输入某一年的第几天,计算并输出它是这一年的第几月第几日。
#include<stdio.h>
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};int DayofYear(int year,int month,int day){int sum=0,i;if((year%4==0&&year%100!=0)||year%400==0){for(i=0;i<month-1;i++){sum+=b[i];}}else{for(i=0;i<month-1;i++){sum+=a[i];} } printf("这天是这一年的第%d天\n",sum+day);
}
void MonthDay(int year,int yearday,int *pMonth,int *pDay){int i;if((year%4==0&&year%100!=0)||year%400==0){for(i=0;yearday>b[i];i++){yearday-=b[i];}} else{for(i=0;yearday>a[i];i++){yearday-=a[i];} }*pMonth=i+1;*pDay=yearday;
}int main()
{int year,month,day;int yearday,pMonth,pDay ;printf("*****************\n");printf("1.year/month/day --> yearday\n");printf("2.yearday --> year/month/day\n");printf("3.Exit\n");printf("Please enter your choice:\n");int n;scanf("%d",&n) ;switch (n){case 1:printf("依次输入年 月 日(用空格隔开,并保证在数值有效):\n");scanf("%d %d %d",&year,&month,&day);DayofYear(year,month,day);break;case 2:printf("依次输入年份,以及第几天(保证数值有效)\n");scanf("%d %d",&year,&yearday);MonthDay(year,yearday,&pMonth,&pDay);printf("是%d年的%d月%d日\n",year,pMonth,pDay);break;case 3:printf("退出\n");break;default:printf("输入错误\n");break; }return 0;
}
9.5 计算定积分
按如下函数原型,采用梯形法编程实现,在积分区间[a,b]内计算函数.
的定积分。其中,指向函数的指针变量f用于接收被积函数的入口地址。
Integral(float(*f)(float),float a,float b)
#include<stdio.h>
float fun1(float x){return 1+x*x;
}
float fun2(float x){return x/(1+x*x);
}
float Integral(float(*f)(float),float a,float b){float h,s;//h:自变量 s 函数值 int n=1000,i;h=(b-a)/n;//分为1000份 s=((*f)(a)+(*f)(b))/2;for(i=0;i<n;i++){//定义法 , △x *f(x)再累加 s+=(*f)(a+i*h);}return s*h; }int main()
{float y1,y2;y1=Integral(fun1,0.0,1.0);y2=Integral(fun2,0.0,3.0);printf("y1=%f y2=%f\n",y1,y2);return 0;
}
《C语言程序设计第三版》(苏小红)习题九 课后答案相关推荐
- C语言程序设计第三版苏小红习题5.8输入一个字符判断是数字、大写字母、小写字母、空格、还是其他
#include<stdio.h> int main() { char ch; printf("输入一个字符:\n"); ch=getchar(); if(ch> ...
- C语言程序设计第三版苏小红5.7键盘输入字符,字母大写改小写,小写改大写,并输出ASCII码
#include<stdio.h> int main() { char ch; printf("从键盘输入一个字符:\n"); ch=getchar(); if(ch& ...
- C语言程序设计第四版 苏小红 习题答案 3.5
使用宏定义方法时 易错点:注意宏名与字符串之间不要加等号,宏名与字符串之间可以有多个空白符即空格:代码中三分之四应该用(4.0/3)表示,或者其他形式,只要除法两边有浮点数即可(知识点:/两边都是整数 ...
- c语言程序设计第三版宁爱军答案,C语言程序设计(第3版)
C语言程序设计(第3版) 出版时间:2021年04月 定 价:64.00 I S B N :9787115554864 所属分类: 大中专教材 > 高职高专教材   标 签: ...
- c语言程序设计第三版乌云高娃答案,C语言程序设计教学课件作者第3版乌云高娃补充习题及答案C语言程序设计教学课件作者第3版乌云高娃补充习题及答案第3章补充习题及答案课件.doc...
C语言程序设计教学课件作者第3版乌云高娃补充习题及答案C语言程序设计教学课件作者第3版乌云高娃补充习题及答案第3章补充习题及答案课件.doc 第3章补充习题及答案 习题 3.1 选择题 (1)下列运算 ...
- 【个人回顾】C语言程序设计-第三版-何钦铭主编-4
写在开头:本文不以分享为目的,只是记录自己课程学习过程中觉得重要的部分知识点或者知识体系,以及可能存在的没有解决的问题,欢迎大家来进行交流和指正,其中ps部分为个人将其他学科与其构建联系的个人理解,因 ...
- 【个人回顾】C语言程序设计-第三版-何钦铭主编-3
写在开头:本文不以分享为目的,只是记录自己课程学习过程中觉得重要的部分知识点或者知识体系,以及可能存在的没有解决的问题,欢迎大家来进行交流和指正,其中ps部分为个人将其他学科与其构建联系的个人理解,因 ...
- c语言程序设计第三版杜有福,C语言程序设计习题答案 杜有福
C语言程序设计习题答案 杜有福 C语言程序设计习题答案 习题一 C语言程序设计概述 一.名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6) ...
- C语言程序设计第三版崔武子,清华大学出版社-图书详情-《C语言程序设计教程学习辅导》...
C语言是国内外广泛使用的计算机高级语言.大多数高校都开设了"C语言程序设计"课程.作者于1991年编著了<C程序设计>,由清华大学出版社出版,该书出版后,受到了广大读者 ...
- 《C语言程序设计第三版》(苏小红)习题十一 课后答案
11.3 月份的英文 从键盘输入一个整型表示的月份,用指针数组编程输出该月份对应的英文,若输入的月份值不在1~12之间,则输出"Ilegal month". #include & ...
最新文章
- JavaScript和HTML实现的简单计算机
- Acwing第 5 场周赛【未完结】
- 双系统重装windows以后修复ubuntu的引导
- linux windows文件 编码_Mac, Windows和Linux电脑之间如何快速传输文件
- document 文挡对象详解(JavaScript脚本语言描述)
- GoogleMapAPI
- 普通的PHP上传到云函数,php封装上传函数代码示例
- HTML5 Canvas(画布)
- STL map 的基本成员函数
- 2022级sdut知到/智慧树---c语言第一章测试题解
- 《普林斯顿微积分读本》学习笔记
- 固态硬盘怎么看出厂日期_如何查看SSD可以使用多长时间?固态硬盘寿命测试方法(全文)...
- oracle创建存储过程报错,oracle创建了存储过程,在PLSQL @路径 执行后报错
- Export xlsx导入
- 【第二节】HTML5小实例
- TCAM路由器查表技术分析
- 【论文笔记】匹配关系未知情况下点云配准Solving the Blind Perspective-n-Point ProblemEnd-To-End With Robust Differentiabl
- 如何读懂交易伙伴的EDI需求
- python 安装 ffmpeg包--简便方法
- Web前端期末大作业---响应式美女健身教练瑜伽馆网页设计(HTML+CSS+JavaScript+)实现