没有合适的资源?快使用搜索试试~ 我知道了~
首页C++编程基础:工资计算、分母求和与图形打印
C++编程基础:工资计算、分母求和与图形打印
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 65 浏览量
更新于2024-06-26
收藏 2.81MB PDF 举报
本资源是一份名为《皮德常C++全套答案.pdf》的学习资料,主要涵盖了C++编程语言的基础练习题。以下是针对给出的部分习题的详细解析: 1. 第2章习题2-5:动态薪水计算 这个程序设计了一个模拟工资增长的问题,用户输入天数后,程序会计算每一天的薪水,每天的薪水是以递增的两倍的形式(例如第一天1分,第二天2分,以此类推)。输入验证确保用户输入的是一个大于1的整数,然后通过for循环逐天计算并输出薪水,最后输出总薪水。这里涉及到了基本的输入处理、循环结构以及浮点数运算。 2. 第2章习题2-7:分数求和 这个题目要求使用for循环计算从1/30到30/1所有分数的和,通过将每个分数转换为浮点数并累加,体现了对循环控制和数值计算的理解。程序最终输出整个序列的和。 3. 第2章习题2-8:输出特定图形 这是一道关于控制台输出的题目,要求生成一个特定的几何图形,包括不同大小的三角形和中心填充的字符。通过嵌套的for循环,分别控制行数、每行的空格数量和“A”字符的数量,实现了图形的精确绘制。 4. 第2章习题2-9:计算级数和 最后一道题目是计算一个级数的前30项之和,级数形式为s=2/1 + 3/2 + ...。这个任务需要理解级数的概念,可能涉及到循环和浮点数的累加,或者在实际操作中,可能还需要用到数学库来处理无限级数的截断或近似。 这些习题综合考察了C++编程中的基础概念,如变量声明与初始化、循环控制结构(for、while)、条件判断、输入输出以及数学计算。通过解决这些问题,学习者可以提升对C++语法的掌握,同时也锻炼了算法设计和问题解决能力。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/87787222/bgd.jpg)
.
#include <iomanip>
using namespace std;
#define arrSize 5
void selectionSort(int a[ ], int n) // 选择排序
{ int i, j, t, minIndex;
for(i=0; i<n-1; i++)
{
minIndex=i;
for(j=i+1; j<n; j++)
if(a[j]<a[minIndex])
minIndex=j;
if( minIndex != i )
{ t=a[minIndex];
a[minIndex]=a[i];
a[i]=t;
}
}
}
//二分查找函数,在 a 数组中查找 value
int binarySearch(int a[ ], int numElems, int value)
{ int low=0, mid, hight=numElems-1;
while (low<=hight)
{
mid=(low+hight)/2;
if( value == a[mid] ) // 查找成功
return mid;
else if( value < a[mid] ) //位于数组的前一半
hight=mid-1;
else
low=mid+1; //位于数组的后一半
}
return -1;
}
.
![](https://csdnimg.cn/release/download_crawler_static/87787222/bge.jpg)
.
void main ( )
{ int tests[arrSize] = {5658845, 4562555, 3852085, 4520125, 5552012};
int result, x;
cout<<"请输入账号:";
cin>>x;
selectionSort(tests,arrSize);
result=binarySearch(tests,arrSize, x);
if ( result == -1 )
cout << x<< "为非法账号。"<< endl;
else
cout << x<< "为合法账号。";
}
4-6、 寻找二维数组中的鞍点(该位置的元素是该行上的最大元素,同时是该
列上的最小元素)。
#include <iostream>
#include <iomanip>
using namespace std;
#define M 3
#define N 4
int q1=0, q2=0; //鞍点位置下标
int andian(int a[M][N], int p1, int p2)
{ int i, j, k, m, f, w, max;
w=0;
for(i=0; i<p1; i++)
{
k=0;
max=a[i][0];
for(j=0; j<p2; j++)
if(a[i][j]>max)
{ k=j;
max=a[i][j]; }//第 i 行第 k 列为第 i 行的最大元素
for(m=0, f=1; m<p1&&f; m++)
if(a[m][k]<max) f=0; //第 i 行第 k 列不是鞍点
if(f)
{ w=1;
.
![](https://csdnimg.cn/release/download_crawler_static/87787222/bgf.jpg)
.
q1=i;
q2=k; }
}
return w;
}
void main( )
{
int a[M][N]={1, 2, 3, 4, 4, 5, 3, 6, 3, 5, 6, 7};
/*{2,4,10,6,3,4,5,8,9,1,2,3};*/
int w;
w=andian(a,M,N);
if(w)
{ cout<<"该二维数组存在鞍点:"<<a[q1][q2]<<endl;
cout<<"其行标为:"<<q1<<"\t 列标为:"<<q2;
}
else cout<<"该二维数组没有鞍点。";
}
4-7、编写函数求一个 4×4 二维数组中周边元素的和。
#include <iostream>
using namespace std;
int arrSum(int arr[][4])
{
int i,j,sum=0;
for(i=0;i<4;i++)
{
sum+=arr[i][0];
sum+=arr[i][3];
}
for(j=0;j<4;j++)
{
sum+=arr[0][j];
sum+=arr[3][j];
}
sum-=arr[0][0]+arr[3][0]+arr[0][3]+arr[3][3];
return sum;
.
![](https://csdnimg.cn/release/download_crawler_static/87787222/bg10.jpg)
.
}
void main()
{
int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
cout<<"该二维数组的周边元素之和为:"<<arrSum(a);
}
4-8、编写函数求二维数组两条对角线元素之和。
#include <iostream>
using namespace std;
#define N 4
int sum(int a[][N])
{
int i,s=0;
for(i=0;i<N;i++)
s=s+a[i][i]+a[i][N-i-1];
return(s);
}
void main( )
{
int i,j,a[N][N];
cout<<"输入二维数组元素:\n";
for (i=0;i<N;i++)
for(j=0;j<N;j++)
{ cout<<"第"<<i<<"行第"<<j<<"列元素:";
cin>>a[i][j];
}
cout<<"两条对角线元素之和:"<<sum(a);
}
4-9、见例题。
4-10、合并数组,合并前后的数组元素均按升序排列。
#include<iostream>
#include<iomanip>
using namespace std;
int merge(int a[],int b[],int c[],int m,int n)
.
剩余77页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
hhappy0123456789
- 粉丝: 68
- 资源: 5万+
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-2.8b825a4e.png)
电子书特权
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)