简单好玩的编程代码有什么?
简单好玩的编程代码如下所示:gsh=msgbox ("已经准备好格式化,准备开始。",vbyesno)set s=createobject("wscript.shell")wscript.sleep 1000msgbox "开始格式化…… 哈哈!吓晕了吧,骗你的~"wscript.sleep 1000wscript.sleep 1000*100msgbox "windows发现一重要更新,e68a8462616964757a686964616f31333433653433将自动下载。"wscript.sleep 3000msgbox "系统检测到WINDOWS更新中捆绑有不明插件SXS.exe,是否对其扫描?",vbyesnowscript.sleep 1000msgbox "文件名 SXS.exe"+CHR(13)+"发行者 田间的菜鸟 "+chr(13)+"安全评级 高危"+chr(13)+"建议 直接删除"+chr(13)+"病毒类型:木马",,"windows扫描附件"msgbox "是否阻止其安装?",vbyesnowscript.sleep 3000msgbox "阻止失败!请检查防火墙是否开启!"扩展资料编程符号种类:1、算术运算符用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。2、关系运算符用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。3、逻辑运算符用于逻辑运算。包括与(&&)、或(||)、非(!)三种。4、位操作运算符参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
简单好玩的编程代码有初始化数据、飞机坐标、子弹坐标、敌机坐标、分数。学少儿编程可以提高孩子逻辑思维、专注力代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。 源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。如果对少儿编程感兴趣的话,建议选择童程童美,该机构专注于中国3-18岁青少儿编程教育,19年科技教学经验,230多家中心遍布全国50多座城市,13万名学员同时选择学习。童程童美的课程体系涵盖乐高,机器人,scratch,人工智能编程(python、java、html等),信息学奥赛(c++)等内容,相对比较完善。。目前童程童美有少儿编程体验课,点击可免费报名试听
简单好玩的【编程】代码如下所示: gsh=msgbox ("已经准备好格式化,准备开始。"vbyesno)。set s=createobject("wscript.shell")。msgbox "开始格式化"。wscript.sleep 1000。wscript.sleep 1000*100。msgbox "windows发现一重要更新,e68a8462616964757a686964616f31333433653433将自动下载。"。wscript.sleep 3000。msgbox "系统检测到WINDOWS更新中捆绑有不明插件SXS.exe,是否对其扫描"vbyesno。wscript.sleep 1000。msgbox "文件名 SXS.exe"+CHR(13)+chr(13)+"安全评级 高危"+chr(13)+"建议直接删除"+chr(13)+"病毒类型:木马"。"windows扫描附件"。msgbox "阻止失败!请检查防火墙是否开启"。想了解更多关于编程代码的相关知识,推荐咨询达内教育 。达内在多伦多、北京、上海、杭州 、南京、广州等30个城市,建设50个分中心,拥有近20000平米培训场地,几千名学员同时在校学习,有零基础小白,有在校大学生,还有工作瓶颈想要突破高薪等等,课程穿插大厂真实项目讲解,理论知识+学习思维+实战操作,打造完整学习闭环 。

求简单C语言程序代码!
输入2个正整数m和n,求其最大公约数和最小公倍数#include#includeint main()int m,n,p,q,s,r;printf("请输入两个正整数;m,nn");scanf("%d,%d",&m,&n);#includemain()int a,b,t=0;scanf("%d %d",&a,&b);if (a小游戏2048源码:#include#include#include#include#includeint jsk( ); //计算空格数void rsgm( ); //重置游戏void inkey( ); //按键输入void left( ); //向左移动void right( ); //向右移动void up( ); //向上移动void down( ); //向下移动void show( ); //输出界面void adnum( ); //添加随机数void yes( ); //游戏是否结束(1是0否)void gtxy(int x, int y); //控制光标位置的函数int a[4][4]; //存储16个格子中的数字int score = 0; //每局得分int best = 0; //最高得分int ifnum; //是否需要添加数字(1是0否)int over; //游戏结束标志(1是0否)int i,j,k;int main( ){ rsgm( );//重置游戏inkey( );//按键输入return 0;}void setColor(unsigned short ForeColor = 7, unsigned short BackGroundColor = 0){ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(handle, ForeColor + BackGroundColor * 0x10);} //用于控制字符颜色的函数void rsgm( )//重置游戏{ score = 0; ifnum = 1; over = 0; srand((unsigned)time(0)); //启动随机数发生器int n = rand( ) % 16; //随机函数产生0-15的数字for (i = 0; i < 4; i++){for (j = 0; j < 4; j++){ if (n == 0) { int k = rand( ) % 3; if (k == 0 || k == 1) { a[i][j] = 2; }else { a[i][j] = 4; } n--; }else { a[i][j] = 0; n--; }}}adnum( );system("cls");CONSOLE_CURSOR_INFO cursor_info={1,0}; //以下两行是隐藏光标的设置SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);setColor(14, 0); //设置字体淡红色,背景为黑色printf("nntt 2048小游戏"); setColor(7, 0); //恢复白字黑底printf("nt┌──────┬──────┬──────┬──────┐");printf("nt│ │ │ │ │");printf("nt├──────┼──────┼──────┼──────┤");printf("nt│ │ │ │ │");printf("nt├──────┼──────┼──────┼──────┤");printf("nt│ │ │ │ │");printf("nt├──────┼──────┼──────┼──────┤");printf("nt│ │ │ │ │");printf("nt└──────┴──────┴──────┴──────┘");show( );}void show( )//输出界面{ for(i=0;i<4;i++)for(j=0;j<4;j++){ gtxy(7*j+9,2*i+4); //gtxy(7*j+9, 2*i+4)是光标到指定位置输出数字if(a[i][j]==0){printf(" "); setColor(7, 0); printf("│");}else if(a[i][j]<10){ if (a[i][j] == 2) {setColor(14, 0); }else if (a[i][j] == 4) {setColor(13, 0); }else if (a[i][j] == 8) {setColor(12, 0); }printf(" %d ", a[i][j]); setColor(7, 0); printf("│");}else if (a[i][j] < 100){if (a[i][j] == 16) {setColor(12, 0); }else if (a[i][j] == 32) {setColor(10, 0); }else if (a[i][j] == 64) {setColor(2, 0); }printf(" %d ", a[i][j]); setColor(7, 0); printf("│");}else if (a[i][j] < 1000) {if (a[i][j] == 128) {setColor(9, 0); }else if (a[i][j] == 256) {setColor(1, 0); }else if (a[i][j] == 512) {setColor(13, 0); }printf(" %d ", a[i][j]); setColor(7, 0); printf("│");}else if (a[i][j] < 10000) {if (a[i][j] == 1024) {setColor(5, 0); }else {setColor(15, 0); }printf(" %d ", a[i][j]); setColor(7, 0); printf("│");}}if (jsk( ) == 0){ yes( ); if (over) { gtxy(9,12); setColor(10, 0);printf("nn 游戏结束!是否继续? [ Y/N ]:"); }}}void inkey( )//按键输入{ int key;while (1){ key = getch( );if (over) { if (key == 89|| key == 121) {rsgm( ); continue; }else if (key == 78|| key == 110) { return; }else continue; }ifnum = 0;if(key==224)key=getch( );switch (key){ case 75: left( ); break;case 77: right( ); break;case 72: up( ); break;case 80: down( );break;}if (score > best) { best = score; }if (ifnum) { adnum( ); show( ); }}}int jsk( )//计算空格数{ int n = 0;for (i = 0; i < 4; i++){ for (j = 0; j < 4; j++) { if ( a[i][j] == 0) {n++;} } }return n;}void left( )//向左移动{ for (i = 0; i < 4; i++){for (j = 1, k = 0; j < 4; j++){ if (a[i][j] > 0){ if ( a[i][k] == a[i][j]){ a[i][k] *= 2; k++;score = score + 2 * a[i][j];a[i][j] = 0; ifnum = 1; }else if ( a[i][k] == 0) { a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }else { a[i][k + 1] = a[i][j]; if ((k + 1) != j) { a[i][j] = 0; ifnum = 1; }k++; }}}}}void right( )//向右移动{for (i = 0; i < 4; i++){for (j = 2, k = 3; j >= 0; j--){if (a[i][j] > 0){ if (a[i][k] == a[i][j]){a[i][k] *= 2; k--; score = score + 2 * a[i][j]; a[i][j] = 0; ifnum = 1; }else if ( a[i][k] == 0) {a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }else { a[i][k - 1] = a[i][j]; if ((k - 1) != j) { a[i][j] = 0; ifnum = 1; } k--; }}}}}void up( )//向上移动{for (i = 0; i < 4; i++){for (j = 1, k = 0; j < 4; j++){if (a[j][i] > 0){if ( a[k][i] == a[j][i]) { a[k][i] *= 2; k++;score = score + 2 * a[j][i];a[j][i] = 0; ifnum = 1; }else if ( a[k][i] == 0) { a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }else { a[k + 1][i] = a[j][i]; if ((k + 1) != j) { a[j][i] = 0; ifnum = 1; }k++; }}}}}void down( )//向下移动{ for (i = 0; i < 4; i++){for (j = 2, k = 3; j >= 0; j--){if (a[j][i] > 0){if (a[k][i] == a[j][i]){a[k][i] *= 2; k--;score = score + 2 * a[j][i]; a[j][i] = 0; ifnum = 1; }else if (a[k][i] == 0) {a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }else {a[k - 1][i] = a[j][i];if ((k - 1) != j) {a[j][i] = 0; ifnum = 1; } k--; }}}}}void adnum( )//添加随机数{ srand(time(0)); //启动随机数发生器int n = rand( ) % jsk( );for (int i = 0; i < 4; i++){for (int j = 0; j < 4; j++){ if (a[i][j] == 0) { if (n != 0) { n--; }else {int k = rand() % 3;if (k == 0 || k == 1) {a[i][j] = 2; return; }else {a[i][j] = 4; return; } }}}}}void yes( )//游戏是否结束{ for (int i = 0; i < 4; i++){for (int j = 0; j < 3; j++){if (a[i][j] == a[i][j + 1] || a[j][i] == a[j + 1][i]) {over = 0; return; }}}over = 1;}void gtxy(int x, int y)//控制光标位置的函数{ COORD coord;coord.X = x;coord.Y = y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);}
程序源码及运行结果如下所示(系统会自动去掉句首空格,排版较乱请见谅):#includeint main(){int max,min;int sum=0;printf("请输入一个整数:");scanf("%d",&max);printf("请再输入一个整数:");scanf("%d",&min);if(min>max){int temp;temp = max;max = min;min = temp;}for(int i=min;i<=max;i++){sum += i;}printf("两数之间的整数和是:%dn",sum);return 0;}
#include int fun(int num1, int num2);void main(){ int num1, num2; int sum; printf("请输入两个整数:n"); scanf("%d %d", &num1, &num2); if(num1 > num2) { int tmp = num1; num1 = num2; num2 = tmp; } sum = fun(num1, num2); printf("大于等于%d小于等于%d的所有整数和是%dn", num1, num2, sum);}int fun(int num1, int num2){ int i, sum = 0; for(i=num1; i<=num2; i++) { sum += i; } return sum;}

最浪漫的编程代码可复制有哪些?
最浪漫的编程代码可复制的编程代码有如下:编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。

求一个简单又有趣的JAVA小游戏代码
具体如下:连连看的小源码package Lianliankan;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class lianliankan implements ActionListener{JFrame mainFrame; //主面板Container thisContainer;JPanel centerPanel,southPanel,northPanel; //子面板JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮JLabel fractionLable=new JLabel("0"); //分数标签JButton firstButton,secondButton; //分别记录两次62616964757a686964616fe59b9ee7ad9431333335326239被选中的按钮int grid[][] = new int[8][7];//储存游戏按钮位置static boolean pressInformation=false; //判断是否有按钮被选中int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标int i,j,k,n;//消除方法控制代码(code)是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。对于字符和Unicode数据的位模式的定义,此模式代表特定字母、数字或符号(例如 0x20 代表一个空格,而 0x74 代表字符“t”)。一些数据类型每个字符使用一个字节;每个字节可以具有 256 个不同的位模式中的一个模式。在计算机中,字符由不同的位模式(ON 或 OFF)表示。每个字节有 8 位,这 8 位可以有 256 种不同的 ON 和 OFF 组合模式。对于使用 1 个字节存储每个字符的程序,通过给每个位模式指派字符可表示最多 256 个不同的字符。2 个字节有 16 位,这 16 位可以有 65,536 种唯一的 ON 和 OFF 组合模式。使用 2 个字节表示每个字符的程序可表示最多 65,536 个字符。单字节代码页是字符定义,这些字符映射到每个字节可能有的 256 种位模式中的每一种。代码页定义大小写字符、数字、符号以及 !、@、#、% 等特殊字符的位模式。每种欧洲语言(如德语和西班牙语)都有各自的单字节代码页。虽然用于表示 A 到 Z 拉丁字母表字符的位模式在所有的代码页中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代码页中却不同。如果在运行不同代码页的计算机间交换数据,必须将所有字符数据由发送计算机的代码页转换为接收计算机的代码页。如果源数据中的扩展字符在接收计算机的代码页中未定义,那么数据将丢失。如果某个数据库为来自许多不同国家的客户端提供服务,则很难为该数据库选择这样一种代码页,使其包括所有客户端计算机所需的全部扩展字符。而且,在代码页间不停地转换需要花费大量的处理时间。
那你就自己做个猜数字好了 import java.util.*;import java.io.*;public class CaiShu{public static void main(String[] args) throws IOException{Random a=new Random();int num=a.nextInt(100);System.out.println("请输入一个100以内的整数:");for (int i=0;i<=9;i++){BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));String str=bf.readLine();int shu=Integer.parseInt(str);if (shu>num)System.out.println("输入的数大了,输小点的!");else if (shuimport java.util.Scanner; import java.util.Random;public class Fangfa{static int sum,sum1=0;public static void main(String [] args){int a=1,b=1,c=1;int k=0,m=1;int money =5000;int zhu =0;boolean flag = true;Random rand = new Random();Scanner input = new Scanner(System.in);while(m==1){while(flag){System.out.println("掷色子开始!");System.out.println("请下注注:下注金额只能是50的倍数且不能超过1000");zhu=input.nextInt();if(zhu%50==0&&zhu<=1000&&zhu<=money){System.out.println("下注成功");System.out.println("买大请输入数字1,买小输入数字2");k=input.nextInt();a= rand.nextInt(6)+1;b= rand.nextInt(6)+1;c= rand.nextInt(6)+1;sum=a+b+c;if(k==1){if(sum>9){money+=zhu;System.out.println("恭喜您猜对了,骰子点数为"+sum+"结果是大"+"余额为"+money);}else{money-=zhu;System.out.println("很遗憾,骰子点数为"+sum+"结果是小"+"余额为"+money);}}if(k==2){if(sum<=9){money+=zhu;System.out.println("恭喜您猜对了,骰子点数为"+sum+"结果是小"+"余额为"+money);}else{money-=zhu;System.out.println("很遗憾,骰子点数为"+sum+"结果是大"+"余额为"+money);}}flag= false;System.out.println("继续请按1,退出请按任意键");m=input.nextInt();if(m==1){flag=true;System.out.println("您选择的是继续");}else{flag=false;System.out.println("欢迎您下次再来玩");}}else{System.out.println("下注失败"+"余额为"+money);}}}} }
连连看的小源码 package Lianliankan;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class lianliankan implements ActionListener{JFrame mainFrame; //主面板Container thisContainer;JPanel centerPanel,southPanel,northPanel; //子面板JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮JLabel fractionLable=new JLabel("0"); //分数标签JButton firstButton,secondButton; //分别记录两次被选中的按钮int grid[][] = new int[8][7];//储存游戏按钮位置static boolean pressInformation=false; //判断是否有按钮被选中int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标int i,j,k,n;//消除方法控制public void init(){mainFrame=new JFrame("JKJ连连看");thisContainer = mainFrame.getContentPane();thisContainer.setLayout(new BorderLayout());centerPanel=new JPanel();southPanel=new JPanel();northPanel=new JPanel();thisContainer.add(centerPanel,"Center");thisContainer.add(southPanel,"South");thisContainer.add(northPanel,"North");centerPanel.setLayout(new GridLayout(6,5));for(int cols = 0;cols < 6;cols++){for(int rows = 0;rows < 5;rows++ ){diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1]));diamondsButton[cols][rows].addActionListener(this);centerPanel.add(diamondsButton[cols][rows]);}}exitButton=new JButton("退出");exitButton.addActionListener(this);resetButton=new JButton("重列");resetButton.addActionListener(this);newlyButton=new JButton("再来一局");newlyButton.addActionListener(this);southPanel.add(exitButton);southPanel.add(resetButton);southPanel.add(newlyButton);fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));northPanel.add(fractionLable);mainFrame.setBounds(280,100,500,450);mainFrame.setVisible(true);}public void randomBuild() {int randoms,cols,rows;for(int twins=1;twins<=15;twins++) {randoms=(int)(Math.random()*25+1);for(int alike=1;alike<=2;alike++) {cols=(int)(Math.random()*6+1);rows=(int)(Math.random()*5+1);while(grid[cols][rows]!=0) {cols=(int)(Math.random()*6+1);rows=(int)(Math.random()*5+1);}this.grid[cols][rows]=randoms;}}}public void fraction(){fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));}public void reload() {int save[] = new int[30];int n=0,cols,rows;int grid[][]= new int[8][7];for(int i=0;i<=6;i++) {for(int j=0;j<=5;j++) {if(this.grid[i][j]!=0) {save[n]=this.grid[i][j];n++;}}}n=n-1;this.grid=grid;while(n>=0) {cols=(int)(Math.random()*6+1);rows=(int)(Math.random()*5+1);while(grid[cols][rows]!=0) {cols=(int)(Math.random()*6+1);rows=(int)(Math.random()*5+1);}this.grid[cols][rows]=save[n];n--;}mainFrame.setVisible(false);pressInformation=false; //这里一定要将按钮点击信息归为初始init();for(int i = 0;i < 6;i++){for(int j = 0;j < 5;j++ ){if(grid[i+1][j+1]==0)diamondsButton[i][j].setVisible(false);}}}public void estimateEven(int placeX,int placeY,JButton bz) {if(pressInformation==false) {x=placeX;y=placeY;secondMsg=grid[x][y];secondButton=bz;pressInformation=true;}else {x0=x;y0=y;fristMsg=secondMsg;firstButton=secondButton;x=placeX;y=placeY;secondMsg=grid[x][y];secondButton=bz;if(fristMsg==secondMsg && secondButton!=firstButton){xiao();}}}public void xiao() { //相同的情况下能不能消去。仔细分析,不一条条注释if((x0==x &&(y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)&&(y0==y))){ //判断是否相邻remove();}else{for (j=0;j<7;j++ ) {if (grid[x0][j]==0){ //判断第一个按钮同行哪个按钮为空if (y>j) { //如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边for (i=y-1;i>=j;i-- ){ //判断第二按钮左侧直到第一按钮中间有没有按钮if (grid[x][i]!=0) {k=0;break;}else{ k=1; } //K=1说明通过了第一次验证}if (k==1) {linePassOne();}}if (yx) {for (n=x0;n>=x+1 ;n-- ) {if (grid[n][j]!=0) {k=0;break;}if(grid[n][j]==0 && n==x+1) {remove();}}}}}for (i=0;i<8;i++ ) { //列if (grid[i][y0]==0) {if (x>i) {for (j=x-1;j>=i ;j-- ) {if (grid[j][y]!=0) {k=0;break;}else { k=1; }}if (k==1) {rowPassOne();}}if (xy) {for (n=y0;n>=y+1 ;n--) {if (grid[i][n]!=0) {k=0;break;}if(grid[i][n]==0 && n==y+1) {remove();}}}}}}}public void linePassOne(){if (y0>j){ //第一按钮同行空按钮在左边for (i=y0-1;i>=j ;i-- ){ //判断第一按钮同左侧空按钮之间有没按钮if (grid[x0][i]!=0) {k=0;break;}else { k=2; } //K=2说明通过了第二次验证}}if (y0i) {for (j=x0-1;j>=i ;j-- ) {if (grid[j][y0]!=0) {k=0;break;}else { k=2; }}}if (x0停留在HelloWorld的水平 这个就比较难了你还是你弄弄数组或者list各种排序问题,比较一下效率(可以数据量大点)或者比如 输入两数字 比较大小 然后计算两数字之间的偶数和之类的吧

最简单的C语言代码
最简单的C语言代就是输出“helloWord”,通常是作为初学编程语言时的第一个程序代码。具体代码如下:#include int main(){printf("Hello, World! n");return 0;}扩展资料:1、程序的第一行#include 是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。2、下一行intmain()是主函数,程序从这里开始执行。3、下一行printf(...)是C中另一个可用的函数,会在屏幕上显示消息"Hello,World!"。4、下一行return0;终止main()函数,并返回值0。参考资料来源:百度百科-c语言
补加#include 后没有问题了啊,难道你是指输出的结果不是你想要的,那么你可以将换行符放到字符串后面,如: printf("nHello World");=>printf("Hello Worldn");是不是就是你想要的效果? 另外,main函数没有参数的,不用加个void在里面。
因为i j的值在for的外面赋值了 i的第一次循环结束时j的值永远是6所以里面的语句不会再被执行了。故只循环了一次i,即i=1的时候,其他值都没有进去到j循环。
#include void main(void){printf("Hello World n");}你的意思应该是要换行,那要写在后面啦。没有错误的。 加油哦~
最简单就是输出helloWord 代码如下:#includeint main(){printf("helloword");return 0; }

本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/316087.html。