【sshcrm项目源码】【防伪溯源 php源码】【saas餐饮源码交付】象棋闯关源码_象棋闯关源码大全

2024-12-26 04:51:43 来源:三者共振买入源码 分类:综合

1.VB中国象棋源代码
2.出色的象棋象棋开源中国象棋棋谱APP-Chess
3.C语言综合设计

象棋闯关源码_象棋闯关源码大全

VB中国象棋源代码

       一、VB中国象棋源代码

       中国象棋程序一般是闯关闯关通过穷举法,列出人脑接下来可能走的源码源码棋,然后列出各种可能的大全应对方案,然后选择胜率较大的象棋象棋方案进行走棋,其实就是闯关闯关sshcrm项目源码把策略的思考转化为了概率的计算。

       当然,源码源码中国象棋软件也要具有一定的大全策略思考能力、棋局的象棋象棋分析能力。其次是闯关闯关要有效率,像人一样要“背”一些棋谱!源码源码

       至于源码,大全不用我发了吧,象棋象棋以上已经讲得很清楚了,闯关闯关刚学编程的源码源码防伪溯源 php源码都会写了。

       (仅供参考)

二、中国象棋的源代码

        中国象棋源代码blackleft(){  int x,y,n;  if(blackcurpos.y>0)  {    blackcurposition[blacktemppos.x][blacktemppos.y].x;      y=position[blacktemppos.x][blacktemp      if(board[b.x][blacktemppos.y]==0)        drawbmp(xfile[blacblacktemppos.ylacktemppos.x==blackoldpos.x        drawbmp(x);      }      if(blacktemppos.x==blackoldpos.x      drawcursor(blackcurpos);      blacktemppos.x=blackcuemppos.y=blackcurpos.y;  }}blackright()lackcurpos.y<8)  {    blackcurpos.tion[blacktemppktemppos.ysition[blacktemppos.x][blacktemppos.y].y;      if(board[blacktemppos.x][blacktemppos.y]==0)        drawbmp(x,y,boardfile[blacktemppos.x][blacktemppos.y]);      else if(.x==blackoldpos.x        drawbhessfile[ncktemppos.x==blackoldpos.x      drawcursor(blackcurpos);      blacktemppos.x=blactemppos.ys.y;  }}blackdon;  if(blackstate==SELECT      drawselecursor(blackcurpos);      blackoldpos.x=blackcurpos.x;      blackoldpos.y=blackcurpos.y;    }  }  else if(blackstate==MOVE    y=position[blackoldpos.x][blackoldpos.y].y;    drawbmp(x,y,boardfile[blackoldpos.x][blackoldpos.y]);    x=position[blackcurpos.x][blackcurpos.y].x;    y=position[blackcurpos.x][blackcurpos.y].y;    n=board[blackoldpos.x][blackoldpos.y];    drawbmp(x,y,chessfile[n]);    if(board[blackcurpos.x][blackcurpos.y]==RED_JIANG)    {      winner=BLACK;      finish=1;      return;    }    board[blackcurpos.x][blackcurpos.y]=n;    board[blackoldpos.x][blackoldpos.y]=0;    for(i=0;i<=2;i)      for(j=3;j<=5;j)        if(board[i][j]==BLACK_JIANG)          { x=i;y=j;}    for(i=x1,j=y,n=0;i<=9;i)    {      if(board[i][j]==RED_JIANGfinish=1;break;}      else if(board[i][j]!=0) n;    }       turn=RED;    redstate=SELECT;    drawcursor(redcurpos);    drawbmp(,,"bmp\.wfb");               /转交控制权给红方/  } }blackundo(){  int x,y,n;  if(blackstate==MOVE)  {    x=position[blackoldpos.x][blackoldpos.y].x;    y=position[blackoldpos.x][blackoldpos.y].y;    n=board[blackoldpos.x][blackoldpos.y];    drawbmp(x,y,chessfile[n]);    blackoldpos.x=blackcurpos.x;    blackoldpos.y=blackcurpos.y;    drawcursor(blackcurpos);    blackstate=SELECT;  }}/----------------------------------------------------/start(){  drawcursor(blackcurpos);  drawbmp(,,"bmp\.wfb");  while(!finish)  {    key=getkey();    switch(key){      case RED_UP:           if(turn==RED)      redup();    break;      case RED_DOWN:           if(turn==RED)      reddown();    break;      case RED_LEFT:           if(turn==RED)      redleft();    break;      case RED_RIGHT:           if(turn==RED)      redright();    break;      case RED_DO:           if(turn==RED)      reddo();    break;      case RED_UNDO:           if(turn==RED)      redundo();    break;         case BLACK_UP:           if(turn==BLACK)      blackup();    break;      case BLACK_DOWN:           if(turn==BLACK)      blackdown();    break;      case BLACK_LEFT:           if(turn==BLACK)      blackleft();    break;      case BLACK_RIGHT:           if(turn==BLACK)      blackright();    break;      case BLACK_DO:    if(turn==BLACK)      blackdo();    break;      case BLACK_UNDO:    if(turn==BLACK)      blackundo();    break;      case ESCAPE:  finish=1;break;    }     }}main(){  init();  initpos();  initchesap();  drawbmp(0,0,"bmp\.wfb");  initdrawchess();  /初始化光标位置/  redcurpos.x=redoldpos.x=redtemppos.x=9;  redcurpos.y=redoldpos.y=redtemppos.y=8;  blackcurpos.x=blackoldpos.x=blacktemppos.x=0;  blackcurpos.y=blackoldpos.y=blacktemppos.y=0;/开始/  start();  if(winner==RED)    drawbmp(,,"bmp\.wfb");  else if(winner==BLACK)    drawbmp(,,"bmp\.wfb");  else    drawbmp(,,"bmp\.wfb");  getch();  end();}

三、中国象棋的源代码

       中国象棋源代码blackleft(){  int x,y,n;  if(blackcurpos.y>0)  {    blackcurpos.y--;         x=position[blacktemppos.x][blacktemppos.y].x;      y=position[blacktemppos.x][blacktemppos.y].y;      if(board[blacktemppos.x][blacktemppos.y]==0)        drawbmp(x,y,boardfile[blacktemppos.x][blacktemppos.y]);      else if(!(blacktemppos.x==blackoldpos.x        drawbmp(x,y,chessfile[n]);      }      if(blacktemppos.x==blackoldpos.x      drawcursor(blackcurpos);      blacktemppos.x=blackcurpos.x;      blacktemppos.y=blackcurpos.y;  }}blackright(){  int x,y,n;  if(blackcurpos.y<8)  {    blackcurpos.y;         x=position[blacktemppos.x][blacktemppos.y].x;      y=position[blacktemppos.x][blacktemppos.y].y;      if(board[blacktemppos.x][blacktemppos.y]==0)        drawbmp(x,y,boardfile[blacktemppos.x][blacktemppos.y]);      else if(!(blacktemppos.x==blackoldpos.x        drawbmp(x,y,chessfile[n]);      }      if(blacktemppos.x==blackoldpos.x      drawcursor(blackcurpos);      blacktemppos.x=blackcurpos.x;      blacktemppos.y=blackcurpos.y;  }}blackdo(){  int i,j,x,y,n;  if(blackstate==SELECT      drawselecursor(blackcurpos);      blackoldpos.x=blackcurpos.x;      blackoldpos.y=blackcurpos.y;    }  }  else if(blackstate==MOVE    y=position[blackoldpos.x][blackoldpos.y].y;    drawbmp(x,y,boardfile[blackoldpos.x][blackoldpos.y]);    x=position[blackcurpos.x][blackcurpos.y].x;    y=position[blackcurpos.x][blackcurpos.y].y;    n=board[blackoldpos.x][blackoldpos.y];    drawbmp(x,y,chessfile[n]);    if(board[blackcurpos.x][blackcurpos.y]==RED_JIANG)    {      winner=BLACK;      finish=1;      return;    }    board[blackcurpos.x][blackcurpos.y]=n;    board[blackoldpos.x][blackoldpos.y]=0;    for(i=0;i<=2;i)      for(j=3;j<=5;j)        if(board[i][j]==BLACK_JIANG)          { x=i;y=j;}    for(i=x1,j=y,n=0;i<=9;i)    {      if(board[i][j]==RED_JIANGfinish=1;break;}      else if(board[i][j]!=0) n;    }       turn=RED;    redstate=SELECT;    drawcursor(redcurpos);    drawbmp(,,"bmp\\rzq.wfb");               /转交控制权给红方/  } }blackundo(){  int x,y,n;  if(blackstate==MOVE)  {    x=position[blackoldpos.x][blackoldpos.y].x;    y=position[blackoldpos.x][blackoldpos.y].y;    n=board[blackoldpos.x][blackoldpos.y];    drawbmp(x,y,chessfile[n]);    blackoldpos.x=blackcurpos.x;    blackoldpos.y=blackcurpos.y;    drawcursor(blackcurpos);    blackstate=SELECT;  }}/----------------------------------------------------/start(){  drawcursor(blackcurpos);  drawbmp(,,"bmp\\bzq.wfb");  while(!finish)  {    key=getkey();    switch(key){      case RED_UP:           if(turn==RED)      redup();    break;      case RED_DOWN:           if(turn==RED)      reddown();    break;      case RED_LEFT:           if(turn==RED)      redleft();    break;      case RED_RIGHT:           if(turn==RED)      redright();    break;      case RED_DO:           if(turn==RED)      reddo();    break;      case RED_UNDO:           if(turn==RED)      redundo();    break;         case BLACK_UP:           if(turn==BLACK)      blackup();    break;      case BLACK_DOWN:           if(turn==BLACK)      blackdown();    break;      case BLACK_LEFT:           if(turn==BLACK)      blackleft();    break;      case BLACK_RIGHT:           if(turn==BLACK)      blackright();    break;      case BLACK_DO:    if(turn==BLACK)      blackdo();    break;      case BLACK_UNDO:    if(turn==BLACK)      blackundo();    break;      case ESCAPE:  finish=1;break;    }     }}main(){  init();  initpos();  initchesap();  drawbmp(0,0,"bmp\\board.wfb");  initdrawchess();  /初始化光标位置/  redcurpos.x=redoldpos.x=redtemppos.x=9;  redcurpos.y=redoldpos.y=redtemppos.y=8;  blackcurpos.x=blackoldpos.x=blacktemppos.x=0;  blackcurpos.y=blackoldpos.y=blacktemppos.y=0;/开始/  start();  if(winner==RED)    drawbmp(,,"bmp\\redwin.wfb");  else if(winner==BLACK)    drawbmp(,,"bmp\\blackwin.wfb");  else    drawbmp(,,"bmp\\exit.wfb");  getch();  end();}

出色的开源中国象棋棋谱APP-Chess

       推荐一款名为“Chess中国象棋”的开源小游戏APP,适合中国象棋爱好者。这款软件由一位热爱象棋和编程的大佬制作,界面简洁大气,功能齐全,saas餐饮源码交付帮助棋友们打谱学习和休闲娱乐。

       项目设计借鉴国内知名象棋软件,采用C#语言开发,适合大众使用。软件架构使用Visual Studio /和C#,配合NET5.0/6.0以及WPF,SQLite3.0等技术,量能蓄势源码公式使得代码管理高效。目前,开发者计划使用Prism框架重构代码,采用MVVM模式,降低模块间耦合度,增强扩展性。

       功能方面,价格笼子指标源码Chess中国象棋提供了多种实用功能,方便用户享受游戏和学习。安装步骤简单,使用源码时需在Visual Studio中通过NuGet安装Newtonsoft.Json和System.Data.SQLite两个包,系统会自动根据依赖关系安装所需组件。

       软件操作说明和代码示例可以参考文档,通过实际操作来熟悉各项功能。绝杀算法流程图直观展示了棋局的关键操作步骤,便于玩家理解和应用。

       Chess中国象棋项目还提供了丰富的古棋谱共享资源,包括少林派和武当派等不同风格的棋谱,满足棋友们对历史文化的兴趣。项目源代码全部开放,用户不仅可下载使用,还可以深入学习编程技巧。

       加入程序员了不起读者交流群,与志同道合的伙伴交流技术、分享资源。群内提供简历模板、技术面试资料等G资源,助你快速成长。关注公众号《程序员了不起》,回复特定代码加入交流群,期待你的加入。

C语言综合设计

       å¦‚果对楼主有帮助,给个采纳好不,谢谢啦

       1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去

       æŽ‰ä¸æ»¡è¶³æ¡ä»¶çš„排列。 

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int i,j,k;

       printf("\n");

       for(i=1;i<5;i++) /*以下为三重循环*/

       for(j=1;j<5;j++)

       for (k=1;k<5;k++)

       {

       if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/

       printf("%d,%d,%d\n",i,j,k);

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åº2】

       é¢˜ç›®ï¼šä¼ä¸šå‘放的奖金根据利润提成。利润(I)低于或等于万元时,奖金可提%;利润高

       äºŽä¸‡å…ƒï¼Œä½ŽäºŽä¸‡å…ƒæ—¶ï¼Œä½ŽäºŽä¸‡å…ƒçš„部分按%提成,高于万元的部分,可可提

       æˆ7.5%;万到万之间时,高于万元的部分,可提成5%;万到万之间时高于

       ä¸‡å…ƒçš„部分,可提成3%;万到万之间时,高于万元的部分,可提成1.5%,高于

       ä¸‡å…ƒæ—¶ï¼Œè¶…过万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

       1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。      

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       long int i;

       int bonus1,bonus2,bonus4,bonus6,bonus,bonus;

       scanf("%ld",&i);

       bonus1=*0. 1;

       bonus2=bonus1+*0.;

       bonus4=bonus2+*0.5;

       bonus6=bonus4+*0.3;

       bonus=bonus6+*0.;

       if(i<=)

       bonus=i*0.1;

       else if(i<=)

       bonus=bonus1+(i-)*0.;

       else if(i<=)

       bonus=bonus2+(i-)*0.;

       else if(i<=)

       bonus=bonus4+(i-)*0.;

       else if(i<=)

       bonus=bonus6+(i-)*0.;

       else

       bonus=bonus+(i-)*0.;

       printf("bonus=%d",bonus);

       getch(); 

       }

       ==============================================================

       ã€ç¨‹åº3】

       é¢˜ç›®ï¼šä¸€ä¸ªæ•´æ•°ï¼Œå®ƒåŠ ä¸ŠåŽæ˜¯ä¸€ä¸ªå®Œå…¨å¹³æ–¹æ•°ï¼Œå†åŠ ä¸Šåˆæ˜¯ä¸€ä¸ªå®Œå…¨å¹³æ–¹æ•°ï¼Œè¯·é—®è¯¥æ•°æ˜¯å¤šå°‘?

       1.程序分析:在万以内判断,先将该数加上后再开方,再将该数加上后再开方,如果开方后

       çš„结果满足如下条件,即是结果。请看具体分析:

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "math.h"

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       long int i,x,y,z;

       for (i=1;i<;i++)

       {

       x=sqrt(i+); /*x为加上后开方后的结果*/

       y=sqrt(i+); /*y为再加上后开方后的结果*/

       if(x*x==i+&&y*y==i+) /*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/

       printf("\n%ld\n",i);

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åº4】

       é¢˜ç›®ï¼šè¾“入某年某月某日,判断这一天是这一年的第几天?

       1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊

       æƒ…况,闰年且输入月份大于3时需考虑多加一天。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int day,month,year,sum,leap;

       printf("\nplease input year,month,day\n");

       scanf("%d,%d,%d",&year,&month,&day);

       switch(month) /*先计算某月以前月份的总天数*/

       {

       case 1:sum=0;break;

       case 2:sum=;break;

       case 3:sum=;break;

       case 4:sum=;break;

       case 5:sum=;break;

       case 6:sum=;break;

       case 7:sum=;break;

       case 8:sum=;break;

       case 9:sum=;break;

       case :sum=;break;

       case :sum=;break;

       case :sum=;break;

       default:printf("data error");break;

       }

       sum=sum+day; /*再加上某天的天数*/

       if(year%==0||(year%4==0&&year%!=0)) /*判断是不是闰年*/

       leap=1;

       else

       leap=0;

       if(leap==1&&month>2) /*如果是闰年且月份大于2,总天数应该加一天*/

       sum++;

       printf("It is the %dth day.",sum);

       getch(); 

       }

       ==============================================================

       ã€ç¨‹åº5】

       é¢˜ç›®ï¼šè¾“入三个整数x,y,z,请把这三个数由小到大输出。

       1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,

       ç„¶åŽå†ç”¨x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int x,y,z,t;

       scanf("%d%d%d",&x,&y,&z);

       if (x>y)

       { t=x;x=y;y=t;} /*交换x,y的值*/

       if(x>z)

       { t=z;z=x;x=t;} /*交换x,z的值*/

       if(y>z)

       { t=y;y=z;z=t;} /*交换z,y的值*/

       printf("small to big: %d %d %d\n",x,y,z);

       getch(); 

       }

       ==============================================================

       ã€ç¨‹åº6】

       é¢˜ç›®ï¼šç”¨*号输出字母C的图案。

       1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       printf("Hello C-world!\n");

       printf(" ****\n");

       printf(" *\n");

       printf(" * \n");

       printf(" ****\n");

       getch(); 

       }

       ==============================================================

       ã€ç¨‹åº7】

       é¢˜ç›®ï¼šè¾“出特殊图案,请在c环境中运行,看一看,Very Beautiful!

       1.程序分析:字符共有个。不同字符,图形不一样。      

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       char a=,b=;

       printf("%c%c%c%c%c\n",b,a,a,a,b);

       printf("%c%c%c%c%c\n",a,b,a,b,a);

       printf("%c%c%c%c%c\n",a,a,b,a,a);

       printf("%c%c%c%c%c\n",a,b,a,b,a);

       printf("%c%c%c%c%c\n",b,a,a,a,b);

       getch(); 

       }

       ==============================================================

       ã€ç¨‹åº8】

       é¢˜ç›®ï¼šè¾“出9*9口诀。

       1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int i,j,result;

       printf("\n");

       for (i=1;i<;i++)

       {

       for(j=1;j<;j++)

       {

       result=i*j;

       printf("%d*%d=%-3d",i,j,result); /*-3d表示左对齐,占3位*/

       }

       printf("\n"); /*每一行后换行*/

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åº9】

       é¢˜ç›®ï¼šè¦æ±‚输出国际象棋棋盘。

       1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int i,j;

       for(i=0;i<8;i++)

       {

       for(j=0;j<8;j++)

       if((i+j)%2==0)

       printf("%c%c",,);

       else

       printf("  ");

       printf("\n");

       }

       getch(); 

       }

       ============================================================== 

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šæ‰“印楼梯,同时在楼梯上方打印两个笑脸。 

       1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int i,j;

       printf("\1\1\n"); /*输出两个笑脸*/

       for(i=1;i<;i++)

       {

       for(j=1;j<=i;j++)

       printf("%c%c",,);

       printf("\n");

       }

       getch(); 

       }

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šå¤å…¸é—®é¢˜ï¼šæœ‰ä¸€å¯¹å…”子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月

       åŽæ¯ä¸ªæœˆåˆç”Ÿä¸€å¯¹å…”子,假如兔子都不死,问每个月的兔子总数为多少?

       1.程序分析: 兔子的规律为数列1,1,2,3,5,8,,....

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       long f1,f2;

       int i;

       f1=f2=1;

       for(i=1;i<=;i++)

       {

       printf("%ld %ld",f1,f2);

       if(i%2==0) printf("\n"); /*控制输出,每行四个*/

       f1=f1+f2; /*前两个月加起来赋值给第三个月*/

       f2=f1+f2; /*前两个月加起来赋值给第三个月*/

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šåˆ¤æ–­-之间有多少个素数,并输出所有素数。

       1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

       åˆ™è¡¨æ˜Žæ­¤æ•°ä¸æ˜¯ç´ æ•°ï¼Œåä¹‹æ˜¯ç´ æ•°ã€‚       

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       #include "math.h"

       main()

       {

       int m,i,k,h=0,leap=1;

       printf("\n");

       for(m=;m<=;m++)

       {

       k=sqrt(m+1);

       for(i=2;i<=k;i++)

       if(m%i==0)

       {

       leap=0;

       break;

       }

       if(leap)

       {

       printf("%-4d",m);

       h++;

       if(h%==0)

       printf("\n");

       }

       leap=1;

       }

       printf("\nThe total is %d",h);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šæ‰“印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数

       æœ¬èº«ã€‚例如:是一个“水仙花数”,因为=1的三次方+5的三次方+3的三次方。

       1.程序分析:利用for循环控制-个数,每个数分解出个位,十位,百位。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int i,j,k,n;

       printf("'water flower'number is:");

       for(n=;n<;n++)

       {

       i=n/;/*分解出百位*/

       j=n/%;/*分解出十位*/

       k=n%;/*分解出个位*/

       if(i*+j*+k==i*i*i+j*j*j+k*k*k)

       printf("%-5d",n);

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šå°†ä¸€ä¸ªæ­£æ•´æ•°åˆ†è§£è´¨å› æ•°ã€‚例如:输入,打印出=2*3*3*5。

       ç¨‹åºåˆ†æžï¼šå¯¹n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

       (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

       (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,

       é‡å¤æ‰§è¡Œç¬¬ä¸€æ­¥ã€‚

       (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       /* zheng int is divided yinshu*/

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int n,i;

       printf("\nplease input a number:\n");

       scanf("%d",&n);

       printf("%d=",n);

       for(i=2;i<=n;i++)

       while(n!=i)

       {

       if(n%i==0)

       {

       printf("%d*",i);

       n=n/i;

       }

       else

       break;

       }

       printf("%d",n);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šåˆ©ç”¨æ¡ä»¶è¿ç®—符的嵌套来完成此题:学习成绩>=分的同学用A表示,-分之间的用B表示,

       åˆ†ä»¥ä¸‹çš„用C表示。

       1.程序分析:(a>b)?a:b这是条件运算符的基本例子。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int score;

       char grade;

       printf("please input a score\n");

       scanf("%d",&score);

       grade=score>=?'A':(score>=?'B':'C');

       printf("%d belongs to %c",score,grade);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šè¾“入两个正整数m和n,求其最大公约数和最小公倍数。

       1.程序分析:利用辗除法。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int a,b,num1,num2,temp;

       printf("please input two numbers:\n");

       scanf("%d,%d",&num1,&num2);

       if(num1<num2)/*交换两个数,使大数放在num1上*/

       {

       temp=num1;

       num1=num2;

       num2=temp;

       }

       a=num1;b=num2;

       while(b!=0)/*利用辗除法,直到b为0为止*/

       {

       temp=a%b;

       a=b;

       b=temp;

       }

       printf("gongyueshu:%d\n",a);

       printf("gongbeishu:%d\n",num1*num2/a);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šè¾“入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

       1.程序分析:利用while语句,条件为输入的字符不为'\n'.

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       char c;

       int letters=0,space=0,digit=0,others=0;

       printf("please input some characters\n");

       while((c=getchar())!='\n')

       {

       if(c>='a'&&c<='z'||c>='A'&&c<='Z')

       letters++;

       else if(c==' ')

       space++;

       else if(c>='0'&&c<='9')

       digit++;

       else

       others++;

       }

       printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,

       space,digit,others);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šæ±‚s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2++++(此时

       å…±æœ‰5个数相加),几个数相加有键盘控制。

       1.程序分析:关键是计算出每一项的值。

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       int a,n,count=1;

       long int sn=0,tn=0;

       printf("please input a and n\n");

       scanf("%d,%d",&a,&n);

       printf("a=%d,n=%d\n",a,n);

       while(count<=n)

       {

       tn=tn+a;

       sn=sn+tn;

       a=a*;

       ++count;

       }

       printf("a+aa+...=%ld\n",sn);

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šä¸€ä¸ªæ•°å¦‚果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程

       æ‰¾å‡ºä»¥å†…的所有完数。

       1. 程序分析:请参照程序<--上页程序.

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "conio.h"

       main()

       {

       static int k[];

       int i,j,n,s;

       for(j=2;j<;j++)

       {

       n=-1;

       s=j;

       for(i=1;i<j;i++)

       {

       if((j%i)==0)

       {

       n++;

       s=s-i;

       k[n]=i;

       }

       }

       if(s==0)

       {

       printf("%d is a wanshu",j);

       for(i=0;i<n;i++)

       printf("%d,",k);

       printf("%d\n",k[n]);

       }

       }

       getch();

       }

       ==============================================================

       ã€ç¨‹åºã€‘

       é¢˜ç›®ï¼šä¸€çƒä»Žç±³é«˜åº¦è‡ªç”±è½ä¸‹ï¼Œæ¯æ¬¡è½åœ°åŽåè·³å›žåŽŸé«˜åº¦çš„一半;再落下,求它在

       ç¬¬æ¬¡è½åœ°æ—¶ï¼Œå…±ç»è¿‡å¤šå°‘米?第次反弹多高?

       1.程序分析:见下面注释

       2.程序源代码:

       å¤åˆ¶ä»£ç ä»£ç å¦‚下:

       #include "stdio.h"

       #include "stdio.h"

       main()

       {

       float sn=.0,hn=sn/2;

       int n;

       for(n=2;n<=;n++)

       {

       sn=sn+2*hn;/*第n次落地时共经过的米数*/

       hn=hn/2; /*第n次反跳高度*/

       }

       printf("the total of road is %f\n",sn);

       printf("the tenth is %f meter\n",hn);

       getch();

       }

本文地址:http://581.net.cn/html/13c220497782.html 欢迎转发