C++
忘川Lethe
很懒 不想写个人简介
展开
-
【C++】对随机生成的有向图进行强连通分支分解
强连通分量. 有向图强 连通分量 :在 有向图 G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点 强连通 (strongly connected)。. 如果有向图G的每两个顶点都强连通,称G是一个 强连通图 。. 有向图的极大强连通 子图 ,称为强连通分量。步骤1:在有向图上运行带时间戳的DFS;步骤2:在翻转的有向图上按照post值的大小运行DFS原创 2022-10-09 22:56:26 · 969 阅读 · 4 评论 -
【C++】:有N个人围成一圈,且按顺序编号,从第一个人开始按1,2,3顺序报数,凡是报到3的人退出圈子,然后从出圈的下一个人开始重复此过程,使用指针编程输出出圈序列
#include<iostream>#define N 100using namespace std;int main(){ int a[N]; int* p; int n = 0; //n表示一共多少人 int m = 0; //m表示被淘汰的人数 int i = 1; //每轮循环中的计数器 int k = 0; //用来表示报数的数 int j = 0; //用于循环的计数器 p = a;原创 2022-03-20 20:51:04 · 3705 阅读 · 0 评论 -
【C++】某学校有8名学生参加100米短跑比赛,每个运动员的编号的成绩如表所示,请按照比赛成绩从高到低进行排序并输出结果。
#include<iostream>using namespace std;struct Student { char number[10]; char name[10]; double score;};int main(){ Student temp; Student array[10] = { {"001","李建华",13.6}, {"002","张岩",14.8}, {"010","胡晓强",12.0}, {"013","马万驰",12.9},原创 2022-03-17 21:57:22 · 1773 阅读 · 1 评论 -
【C++】实现简单的计算功能
#include <iostream>using namespace std;//实现一个简单的计算器int main(){ char op; float num1, num2; cout << "输入运算符:+、-、*、/ : "; cin >> op; cout << "输入两个数: "; cin >> num1 >> num2; switch (op)原创 2022-03-15 12:04:12 · 759 阅读 · 0 评论 -
【C++】删除数组中重复的数字
#include<iostream>#include<stdio.h>#define N 10using namespace std;void order(int a[], int size);int main(){ int myarray[N]; cout << "输入10个数:" << endl; for (int i = 0; i < N; i++) { cin >> myarray[i]; } ord原创 2022-03-11 11:14:59 · 4419 阅读 · 0 评论 -
【C++】编写程序,将输入的一个十进制数转换为二进制,八进制和十六进制数。
#include<iostream>using namespace std;int main(){ int i, x, k = 1, m, j = 0; int array[20] = { 0 }; cout << "请输入需要转化的十进制数" << endl; cin >> x; i = x; while (x != 0) { m = x % 2; k = x / 2; array[j] = m; if (k == 1)原创 2022-03-11 10:59:13 · 2964 阅读 · 5 评论 -
【C++】有一个数列,他的第一项为0,第二项为1,以后每一项都是它前两项之和,输出此序列的前20项并按逆序显示。
#include<iostream>using namespace std;int main(){ int array[20] = { 0 }; array[1] = 1; for(int n=2;n<20;n++) array[n] = array[n - 1] + array[n - 2]; for (int i = 19; i >= 0; i--) { cout<< array[i] << " "; } return 0;}原创 2022-03-10 17:50:07 · 2436 阅读 · 0 评论 -
【C++】定义一个求绝对值函数的模板,实现对不同数据类型的数求绝对值。
#include<iostream>using namespace std;template<typename T>T Abs(T x){ if (x >= 0) return x; else return -x;}int main(){ double c; cout << "请输入一个数" << endl; cin >> c; cout << "绝对值为:" << Abs(c)&l原创 2022-03-10 17:48:29 · 3336 阅读 · 0 评论 -
【C++】用递归的方法编写函数,求Fibonacci级数,公式fib(n)=fib(n-1)+fib(n-2),n>2;fib(1)=fib(2)=1
#include<iostream>using namespace std;int fib(int a);int main(){ int n;cout << "请输入n" << endl; cin >> n; fib(n); cout << fib(n) << endl;}int fib(int a){ if (a ==1) return 1; if (a ==2) return 1; if (原创 2022-03-10 17:46:47 · 3333 阅读 · 0 评论 -
【C++】 应用指针,编写一个函数strcmp()实现两个字符串s1和s2的比较。如果s1=s2,则返回值为0,如果s1不等于s2,返回它们两者第一个不同的字符的ASC II码差值,并且若s1>s2,
#include<iostream> using namespace std;int strlen(char str){ int i=0, len = 0; while (str != '/0') { len++; i++; } return len;}int strcmp(char str1[], char str2[], int lenth){ int i; char* p1,*p2;原创 2022-03-09 17:11:56 · 1867 阅读 · 1 评论 -
【C++】C++ 输入10个国家名称,用指针数组实现排序。
#include <iostream>#include <string>using namespace std;int str_cmp(string str1, string str2){ int len1 = str1.length(); int len2 = str2.length(); for (int i = 0; i < len1 && i < len2; i++) if (str1[i] != str2[i]) return s.原创 2022-03-09 17:03:58 · 2707 阅读 · 0 评论 -
【C++】编写一个用二分法解方程的通用函数,并对下列方程求解。 1+x+x^3=0 Sin(x)-x=0
#include <iostream>#include <math.h>using namespace std;int main(){ int k; double m, n; double i, sum; double eps = 1e-6; double a, b, c, d; double f1, f2; double * p=&i; cout << "求解形如ax^3+bx^2+cx+d=0方程请输入1\n求解形如asin(x)+bx原创 2022-03-09 17:00:15 · 639 阅读 · 1 评论 -
【C++】从键盘上输入一个字符串,假定该字符串的长度不超过30,统计出该字符串中所以的十进制数字字符个数。
#include<iostream>using namespace std;int main(){ char ch[30];cout<<”输入字符串以@结尾”<<endl; gets_s(ch); int digit = 0, i=0; while (ch[i] != '\0') { if ('0' <= ch[i]&& ch[i] <= '9') digit++; i++; } cout <&l原创 2022-03-08 17:34:56 · 2945 阅读 · 0 评论