作业
xiaodeng011003
这个作者很懒,什么都没留下…
展开
-
求1+2+…+n c++
求 1+2+…+n1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C)。(即本题不能用常规思路,可以用函数的递归,这样就可以避免使用循环,然后可以利用&&运算符,如果第一个条件为true,则继续执行,否则往下执行,有判断作用,可以充当if。数据范围1≤n≤1000。样例#include<iostream>using namespace std;int getSum(in..原创 2022-03-13 16:18:29 · 2000 阅读 · 0 评论 -
学校选择判断
1.设x=1.2,y=2.0,则语句z=(int )x+y:执行后,x的结果为( )A. 3.2 B. 1 C. 3.0 D. 1.2 B(int) x之后有强制类型转换,把1.2变成1; 2.(单选题)下面对于指针的描述不正确的是() A. 指针是地址变量 B. 指针不能用除0以外的常量赋值 C. 两个指针变量的加减法无意义 D. 指针指向不同基类型的变量长度不同 D:指针指向所有类型的长度都一样 3.(单选题)在16位机中,int...原创 2022-03-11 23:39:23 · 845 阅读 · 0 评论 -
c++ 深度优先搜索树dfs
排列给定一个整数 nn,将数字 1∼n1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 nn。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤91≤n≤9输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1#include<iostream>using namespace std;const int N=10;..原创 2022-03-06 23:20:37 · 170 阅读 · 0 评论 -
跳台阶 c++
#include<iostream>using namespace std;void f(int k);int n;int cnt;int main(){ cin>>n; f(0); cout<<cnt;}void f(int k){ if(k==n) {cnt++; return;} else if(k<n) { f(k+1); f(k+2); }.原创 2022-03-05 21:47:08 · 536 阅读 · 0 评论 -
选择排序 c++
#include<iostream>using namespace std;void sort(int *a,int l,int r);int main(){ int a[1000],l,r,n; cin>>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<.原创 2022-03-05 21:06:57 · 302 阅读 · 0 评论 -
字符串最大跨距 (c++)
有三个字符串 S,S1,S2S,S1,S2,其中,SS 长度不超过 300300,S1S1 和 S2S2 的长度不超过 1010。现在,我们想要检测 S1S1 和 S2S2 是否同时在 SS 中出现,且 S1S1 位于 S2S2 的左边,并在 SS 中互不交叉(即,S1S1 的右边界点在 S2S2 的左边界点的左侧)。计算满足上述条件的最大跨距(即,最大间隔距离:最右边的 S2S2 的起始点与最左边的 S1S1 的终止点之间的字符数目)。如果没有满足条件的 S1S1,S2S2 存在,则输出 −1原创 2022-02-22 17:45:07 · 1272 阅读 · 0 评论 -
折叠方阵c++
【问题描述】给定一个起始数(大于等于1,小于等于20)和方阵的阶数(大于等于1,小于等于20),编程求得并输出该折叠方阵。一个起始数为10,4阶折叠方阵为: 10 11 14 19 13 12 15 20 18 17 16 21 25 24 23 22【输入形式】从标准输入中输入两个正整数分别表示起始数和方阵的阶数,以一个空格分隔这两个数字。【输出形式】将生成的折叠方阵按行输出到标准输出上,每个数字占4个字符的宽度,...原创 2022-02-21 17:18:20 · 629 阅读 · 0 评论 -
求两组整数集的“或”集
【问题描述】从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,每个整数只出现一次(重复整数只保留一个),并从小到大排序输出(即两组整数集“或”)。【输入形式】首先输入第一组整数的个数,再输入第一组整数,整数间以空格分隔;然后输入第二组整数的个数,再输入第二组整数,整数间以空格分隔。【输出形式】按从小到大顺序排序输出合并后的整数,并不含重复整数。【样例输入】85 1 4 3 8 7 9 645 2 8 10【样例输出】1 2 3 4 5 6 7 8 9 10原创 2021-12-23 20:59:31 · 936 阅读 · 2 评论 -
字符串左子串
【问题描述】输入一个字符串,输出左边n个字符组成的字符串。要求:不影响原串,自定义左取字符串函数char *left(char * s,int n);【输入形式】输入分为两行:第一行:输入一个任间长度的字符串,字符串中无空格,以回车结束。第二行:输入一个整数n【输出形式】两行,第一行为原串;第二行为左子串(输出字符串左边n个字符,如果n大于等于原串长度,则左子串与原串相同)。【样例输入】abcdefghijk3【样例输出】abcdefghijkabc#i原创 2021-12-23 20:57:36 · 355 阅读 · 0 评论 -
链表中的节点删除(c++)
【问题描述】输入n个数据,建立带有头结点的单链表,并将建立好的单链表中的数据从头至尾遍历输出,再输入一个数据,如果在该单链表中有该数据则删除该数据(假设数据不重复),再输出链表中的内容。【输入形式】输入有三行第一行为整数n;第二行为n个整数,整数与整数之间用一个空格隔开。第三行为一个整数。【输出形式】分两行输出,第一行为与输入顺序相同的原数据,数据与数据之间用空格隔开。第二行为删除上述第三行输入的数据之后链表中剩下的内容。【样例输入】51 2 3 4 53原创 2021-12-14 19:10:57 · 2993 阅读 · 0 评论 -
c++矩阵旋转
【问题描述】输入矩阵阶数n,给n阶矩阵的元素按行序由1到n*n顺序赋值,然后将其向右旋转90度,输出旋转后的矩阵。【输入形式】控制台输入阶数n。【输出形式】输出旋转90度后的矩阵,其中每个数字占4位字符的宽度,向右对齐。【样例输入】4【样例输出】 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4#include<iostream>#include<iomanip>using...原创 2021-12-04 16:27:03 · 2431 阅读 · 0 评论 -
c++循环移位(一维数组)
用的一维数组和指针结合以下是完整的代码#include<iostream>using namespace std;int main(){ int n, a[10] = {0,1,2,3,4,5,6,7,8 ,9},j,*p,b=1; cin >> n; p = &a[0]; a[n ] = 0; j = 0; for (int i = 0; i < n; i++) { if (b == 1) { for (int j = 0;原创 2021-12-04 14:06:25 · 2236 阅读 · 0 评论