当前位置: 首页 > wzjs >正文

如何做一个门户网站企业网络规划和设计方案

如何做一个门户网站,企业网络规划和设计方案,学校网站建设介绍,济南 营销型网站片头 嗨!小伙伴们,大家好~今天我们来学习蓝桥杯基础篇(十),练习相关函数的习题,准备好了吗?咱们开始咯! 第1题 绝对值 本题很简单,让我们模拟abs函数,如果这…
片头

嗨!小伙伴们,大家好~今天我们来学习蓝桥杯基础篇(十),练习相关函数的习题,准备好了吗?咱们开始咯!


第1题  绝对值

本题很简单,让我们模拟abs函数,如果这个数小于0,就在这个数前面添加负号;如果这个数大于0,则输出该数字即可。

代码如下:

//绝对值
//输入一个整数x,请你编写一个函数,int abs(int x),输出x的绝对值,
//输入共一行,包含一个整数x。
//输出共一行,包含x的绝对值。
//数据范围 - 100 < x < 100
//输入样例: -3
//输出样例:  3int abs1(int x) {if (x < 0) return -x;return x;
}int main() {int x;cin >> x;int ret = abs1(x);cout << "绝对值为: " << ret << endl;return 0;
}

第2题  两个数的和

这道题,求2个数之和,用一个函数实现即可。最后将结果保留2位小数。

代码如下:

//两个数的和
//输入两个浮点数x和y,请你编写一个函数,double add(double x,double y),计算并输出x与y的和。
//输入共一行,包含两个浮点数x和y。
//输出共一行,包含一个浮点数,表示两个数的和,结果保留2位小数。
//数据范围  - 1000 ≤ x, y≤ 1000double add(double x, double y) {return x + y;
}int main() {double x, y;cin >> x >> y;double ret = add(x, y);printf("2个数之和为: %.2lf\n", ret);return 0;
}

第3题  区间求和

本题需要求出区间[l,r]内所有整数的和,很简单,代码如下:

//区间求和
//输入两个整数l和r,请你编写一个函数,int sum(intl,intr),计算并输出区间1,内所有整数的和。
//输入格式共一行,包含两个整数 l 和r。
//输出共一行,包含一个整数,表示所求的和。
//数据范围 1≤l≤r < 1000int sum(int l, int r) {int ret = 0;for (int i = l; i <= r; i++) {ret += i;}return ret;
}int main() {int l, r;cin >> l >> r;int ret = sum(l, r);cout << "所求的和为: " << ret << endl;return 0;
}

第4题  最小公倍数

求最小公倍数,就是找出一个数能同时整除a和b,并且这个数在所有公倍数中是最小值

代码如下:

//最小公倍数
//输入两个整数a和b,请你编写一个函数,int lcm(int a,int b),计算并输出a和b的最小公倍数。
//输入共一行,包含两个整数a和b。
//输出共一行,包含一个整数,表示a和b的最小公倍数。
//数据范围 1 ≤ a, b≤ 1000
//输入样例:
//6  8
//输出样例 :
//24int lcm(int a, int b) {for (int i = 1; i <= a * b; i++) {     //最小公倍数不可能超过2个数相乘if (i % a == 0 && i % b == 0) {return i;}}return -1; //一定不会执行
}int main() {int a, b;cin >> a >> b;int ret = lcm(a, b);cout << "最小公倍数为: " << ret << endl;return 0;
}

第5题  复制数组

 所谓复制数组,就是将a数组里面的数据拷贝到b数组里面。

代码如下:

void copy(int a[], int b[], int size) {for (int i = 0; i < size; i++) {b[i] = a[i];}
}int main() {int a[100];int b[100];int n, m, size;			//n:a数组的长度//m:b数组的长度//size:前size个数字cin >> n >> m >> size;for (int i = 0; i < n; i++) {cin >> a[i];}for (int j = 0; j < m; j++) {cin >> b[j];}copy(a, b, size);for (int i = 0; i < m; i++) {cout << b[i] << " ";}cout << endl;return 0;
}

使用memcpy函数也可以:

void copy(int a[], int b[], int size) {memcpy(b, a, sizeof(int) * size);    //总共拷贝4*size个字节
}int main() {int a[100];int* p = a; //使用p指针指向数组aint b[100];int* q = b; //使用q指针指向数组bint n, m, size;			//n:a数组的长度//m:b数组的长度//size:前size个数字cin >> n >> m >> size;for (int i = 0; i < n; i++) {cin >> a[i];}for (int j = 0; j < m; j++) {cin >> b[j];}copy(p, q, size);for (int i = 0; i < m; i++) {cout << b[i] << " ";}cout << endl;return 0;
}

第6题  打印字符串

代码如下:

void print(char str[]) {//puts(str);         //2种方法均可printf("%s", str);
}int main() {char str[101];fgets(str, 101, stdin); //因为可能输入100个有效数字,最后一位给'\0'print(str);return 0;
}

第7题  数组翻转

这道题,考的是翻转数组。其实就是双指针。定义变量 i 和变量 j,变量 i 指向下标为0的位置,变量 j 指向 size-1 的位置,交换它们之间的值,交换完毕后,i++,j--,当变量 i 和变量 j 错过时,循环结束。

代码如下:

//数组翻转
//给定一个长度为n的数组a和一个整数size,请你编写一个函数,
//void reverse(int a[],int size)
//实现将数组a中的前size个数翻转。
//输出翻转后的数组a。
//输入第一行包含两个整数n和size。
//第二行包含n个整数,表示数组a。
//输出共一行,包含n个整数,表示翻转后的数组a。
//数据范围 1≤ size < n < 1000const int N = 1000;void reverse(int a[], int size) {for (int i = 0, j = size - 1; i < j; i++, j--) {swap(a[i], a[j]);}
}int main() {int a[N];int n, size;	 //长度为n的数组acin >> n >> size;for (int i = 0; i < n; i++) {cin >> a[i];}reverse(a, size);for (int i = 0; i < n; i++) {cout << a[i] << " ";}cout << endl;return 0;
}

第8题  数组去重

去重之后的数组长度  = 前size个数中的不同数的个数 + 剩余的数(n-size)

数组去重,顾名思义,去掉重复出现的数。

①我们可以定义2个for循环,外层是下标 i 从0~size-1,也就是所有数,内层下标 j 从当前的下标 i 的下一个位置开始,一直到size-1结束,寻找后面的数是否与 a[i] 的值相同。

②定义bool型变量flag,假设每个数都只出现1次,flag初始值为true。当出现与 a[i] 的值相同的情况,flag的值为false。跳出当前循环,不再执行后续代码。

③如果遍历完整个数组,发现没有和 a[i] 的值相同的情况,flag的值仍然为true,那么count++; (count变量表示前size个数中的不同数的个数)

④去重之后的数组总长度 = 前size个数中的不同数的个数(count)+ 剩余的数(n-size)

代码如下:

//数组去重
//给定一个长度为n的数组a,请你编写一个函数:
//int unique(int a[],int size);//返回数组前size个数中的不同数的个数。
//输入第一行包含两个整数n和size,
//第二行包含n个整数,表示数组a。
//输出共一行,包含一个整数表示去重完成之后的数组长度。
//数据范围 1 < size < n < 1000int unique(int a[], int size) {int count = 0;//前size个数中的不同数的个数for (int i = 0; i < size; i++) {bool flag = true;//假设每个数只出现1次for (int j = i + 1; j < size; j++) {if (a[j] == a[i]) //如果后面的数和当前的数重复{flag = false; //表明这个数不止出现1次break;		  //不再执行后面的循环}}if (flag) count++;    //如果这个数唯一,那么count++;}return count;
}int main() {int a[1000];int n, size;cin >> n >> size;for (int i = 0; i < n; i++) {cin >> a[i];}int ret = unique(a, size);cout << "去重完成之后的数组长度为: " << ret + (n - size) << endl;return 0;
}

第9题  数组排序

 这里考一个排序算法,我们就选择排序吧~

代码如下:

//数组排序
//给定一个长度为n的数组a以及两个整数l和r,请你编写一个函数,
// void sort(int a[],int l,int r),将a[l]~a[r]从小到大排序。
//输出排好序的数组a。
//输入第一行包含三个整数n,l,r。
//第二行包含n个整数,表示数组a。
//输出共一行,包含n个整数,表示排序完成后的数组a。
//数据范围 0≤l≤r < n≤1000//选择排序
//将a[l]~a[r]从小到大排序
void sort(int a[], int l, int r) {for (int i = l; i <= r - 1; i++) {for (int j = i + 1; j <= r; j++) {if (a[i] > a[j]) swap(a[i], a[j]);}}
}int main() {int a[1000];int n, l, r;       //长度为n的数组a以及两个整数l和rcin >> n >> l >> r;for (int i = 0; i < n; i++) {cin >> a[i];}sort(a, l, r);for (int i = 0; i < n; i++) {cout << a[i] << " ";}cout << endl;return 0;
}

第10题  跳台阶

emmm,举个例子呗~

5 = 1 + 1 + 1 + 1 + 1

   = 1 + 1 + 1 + 2

   = 1 + 1 + 2 + 1

   = 1 + 2 + 1 + 1

   = 2 + 1 + 1 + 1

   = 1 + 2 + 2

   =  2 + 1 + 2

   =  2 + 2 + 1

以上情况就是台阶数为“5” ,有8种情况。

代码如下:

//跳台阶
//1个楼梯共有n级台阶,每次可以走一级或者两级,问从第0级台阶走到第n级台阶一共有多少种方案。
//输入共一行,包含一个整数n。
//输出共一行,包含一个整数,表示方案数。
//数据范围 1 < n < 15int n1;
int ans1;void Stairs(int k) {if (k == n1) ans1++;else if (k < n1) {Stairs(k + 1);Stairs(k + 2);}
}int main() {cin >> n1;Stairs(0);  //每次k的初始值均为0cout << ans1 << endl;return 0;
}

第11题  走方格

画个图~

代码如下:

//走方格
//给定一个n*m的方格阵,沿着方格的边线走,从左上角(0,0)开始,
//每次只能往右或者往下走一个单位距离,问走到右下角(n, m)一共有多少种不同的走法。
//输入共一行,包含两个整数n和m。
//输出共一行,包含一个整数,表示走法数量。
//数据范围  1 < n, m < 10int ans;
int n, m;void dfs(int x, int y) {if (x == n && y == m) ans++;else {if (y < m) dfs(x, y + 1);if (x < n) dfs(x + 1, y);}
}int main() {cin >> n >> m;dfs(0, 0);cout << ans << endl;return 0;
}

片尾

今天我们学习了关于函数相关知识,希望看完这篇文章能对友友们有所帮助!!!

点赞收藏加关注!!!

谢谢大家!!!


文章转载自:

http://PBTFAKN9.ymprn.cn
http://OIqlMZnl.ymprn.cn
http://EKTgzxPp.ymprn.cn
http://Rv3lOM7z.ymprn.cn
http://dvAb0ncb.ymprn.cn
http://KPvYfA31.ymprn.cn
http://lTJ7ya0n.ymprn.cn
http://zYy8Zbkc.ymprn.cn
http://jFIq24lt.ymprn.cn
http://owTjcdvK.ymprn.cn
http://AHn0DId4.ymprn.cn
http://MNsrB3JG.ymprn.cn
http://9HCKBF7f.ymprn.cn
http://g3e8ua6G.ymprn.cn
http://ioSNgAKG.ymprn.cn
http://Jvp5bhKi.ymprn.cn
http://S5yOLlpf.ymprn.cn
http://Vo6amKaA.ymprn.cn
http://4XUL78ph.ymprn.cn
http://59J652YI.ymprn.cn
http://1Tmo9yPW.ymprn.cn
http://MMoyhjdB.ymprn.cn
http://bLLf920H.ymprn.cn
http://m1QVZ3eS.ymprn.cn
http://YRAvKp1T.ymprn.cn
http://9ghW6nmi.ymprn.cn
http://nLJQ5Z86.ymprn.cn
http://Hmymiwzu.ymprn.cn
http://jZHZwMHk.ymprn.cn
http://MuRkOWF1.ymprn.cn
http://www.dtcms.com/wzjs/645337.html

相关文章:

  • 使用unity做网站宝塔安装wordpress不成功
  • php 企业网站多少钱莲湖微网站建设
  • 西安做网站建设的网站建设开票多少个点
  • 织梦dede建站教程视频代理公司名字取什么名
  • 单位做员工招退工在什么网站wordpress建站配置
  • 德阳百度网站建设网站域名怎么选择
  • 网站建设5个whywordpress 提交
  • 网站建设公司发展wordpress 百万
  • 密云住房和城乡建设部网站首页wordpress响应式主题制作教程
  • 网站正在努力建设中国际购物网站
  • 网站域名注册基本流程网页游戏在线玩不用实名
  • 企业网站建设公wordpress 微信公众平台
  • 网站开发上证k线网页制作个人简历教程
  • 给手机做网站的公司公司网站建站流程
  • 出口网站怎么做江苏五星建设网站
  • wordpress网站主机名随州网站建设便宜
  • 一对一做的好的网站东莞市专注网站建设平台
  • 网站建设中最重要的环节是什么视频制作软件电脑版
  • 手机网站建设机构宝塔做两个网站
  • 淘宝客网站html广州网站建设正
  • 外贸品牌网站建设电子商务平台建设预算
  • 婚纱摄影网站应该如何做优化泉州网站建设外包
  • 怎么创建免费网站微网站建设包含哪些内容
  • 有哪些做ae小动效的网站资源网站的建设
  • 可以直接进入网站的正能量群晖nas做网站
  • 公司网站首页大图怎么做新网站如何做排名
  • 在哪做网站专业营销型网站建设原则
  • 千图网解析网站怎么做阅读网站建设规划书
  • 400选号网站源码教育类网站策划书
  • 手机怎么创建自己的网站平台建筑材料价格信息网