[c/c++] programming之路(11)、顺序分支

一、模块化设计

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<windows.h>
 4 
 5 void openbaidu(){
 6     ShellExecuteA(0,"open","https://www.baidu.com",0,0,3);
 7 }
 8 void closebaidu(){
 9     system("taskkill /f /im 360se.exe");
10 }
11 void clickbaidu(){
12     /*SetWindowPos
13         MOUSE_EVENT*/
14     SetCursorPos(36,116);//设置鼠标位置
15     mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//鼠标左键按下
16     mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//鼠标左键抬起
17     //mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//鼠标左键按下
18     //mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//鼠标左键抬起    
19 }
20 
21 //模块化设计:1.打开浏览器(百度)    2.打开网页    3.关闭浏览器
22 void main(){
23     while(1){
24         openbaidu();
25         Sleep(5000);//休眠5秒钟
26         clickbaidu();
27         Sleep(2000);
28         closebaidu();
29         Sleep(1000);
30     }
31 }

二、顺序结构

打开屏幕左上角的计算器,等待2秒,关闭计算器

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<windows.h>
 4 
 5 void main(){
 6     SetCursorPos(40,30);
 7     Sleep(200);
 8     //双击左键
 9     mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//鼠标左键按下
10     mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//鼠标左键抬起
11     mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
12     mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
13     Sleep(2000);
14     system("taskkill /f /im calc.exe");
15     system("pause");
16 }

 三、分支结构

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<windows.h>
 4 
 5 void main0(){
 6     if(-1){//0不执行,非0执行块语句
 7         //0隐藏  1正常  3最大化  6最小化
 8         ShellExecuteA(0,"open","http://www.taobao.com",0,0,1);
 9     }
10     printf("hello taobao");
11     system("pause");
12 }
13 
14 void main1(){
15     int i=0;
16     //每7秒打开百度,每11秒打开淘宝
17     while(1){
18         if(i%7==0){
19             ShellExecuteA(0,"open","http://www.baidu.com",0,0,1);
20         }
21         if(i%11==0){
22             ShellExecuteA(0,"open","http://www.taobao.com",0,0,1);
23         }
24         if(i%13==0){
25             system("taskkill /f /im 360se.exe");
26         }
27 
28         Sleep(1000);
29         i++;
30         printf("第%d秒\n",i);
31     }
32 }
33 
34 void main(){
35     int num;
36     scanf("%d",&num);
37     if(num){//判断num是否为0
38         printf("gogogogo");
39     }
40     system("pause");
41 }

三个数,按从大到小排列

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 
 4 void main(){
 5     //从大到小,a最大,c最小
 6     double a,b,c,temp;
 7     //scanf("%f%f%f",&a,&b,&c);
 8     scanf("%lf%lf%lf",&a,&b,&c);//double类型数据,需要用 %lf 格式符
 9     printf("a=%f,b=%f,c=%f",a,b,c);
10     if(a<b){
11         temp=a;
12         a=b;
13         b=temp;
14     }
15     if(a<c){
16         temp=a;
17         a=c;
18         c=temp;
19     }
20     if(b<c){
21         temp=b;
22         b=c;
23         c=temp;
24     }
25     printf("\n%f,%f,%f",a,b,c);
26     system("pause");
27 }

输出绝对值大的数

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 
 4 void main(){
 5     int x,y;
 6     unsigned int x1,y1;
 7     scanf("%d%d",&x,&y);
 8     if(x>=0){
 9         x1=x;
10     }else
11     {
12         x1=-1*x;
13     }
14     if(y>=0)    y1=y;
15     else
16     {
17         y1=-1*y;
18     }
19     printf("%d",x1>y1?x:y);
20 
21     system("pause");
22 }

 四、逻辑嵌套(求解一元二次方程)

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<math.h>
 4 void main(){
 5     int a,b,c;
 6     double delt;
 7     printf("请输入a,b,c的值:");
 8     scanf("%d%d%d",&a,&b,&c);
 9     printf("%d*x*x+%d*x+%d=0\n",a,b,c);
10     //逻辑嵌套
11     if(a==0){
12         if(b==0){
13             if(c==0){
14                 printf("x为任意解");
15             }else
16             {
17                 printf("无解");
18             }
19         }else{
20             printf("x= %f",-1.0*c/b);//一元一次方程
21         }
22     }else{
23         delt=b*b-4*a*c;
24         if(delt<0){
25             printf("方程只有两个虚根:x1=%f+%fi,x2=%f-%fi",-1.0*b/2/a,sqrt(-delt)/2/a,-1.0*b/2/a,sqrt(-delt)/2/a);
26         }else{
27             printf("方程有两个实根:x1=%f,x2=%f",(-b+sqrt(delt))/2/a,(-b-sqrt(delt))/2/a);
28         }
29     }
30     system("pause");
31 }

四、switch语句

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 void main(){
 4     int num;
 5     scanf("%d",&num);
 6     printf("%d",num);
 7     switch (num)
 8     {
 9     case 10://几个case分支没有顺序区别
10         printf("司令");
11         break;
12     case 9:
13         printf("军长");
14         break;
15     case 8:
16         printf("师长");
17         break;
18     case 7:
19         printf("旅长");
20         break;
21     case 6:
22         printf("团长");
23         break;
24     case 5:
25         printf("营长");
26         break;
27     case 4:
28         printf("连长");
29         break;
30     case 3:
31         printf("排长");
32         break;
33     case 2:
34         printf("班长");
35         break;
36     case 1:
37         printf("小组长");
38         break;
39     case 0:
40     case -1://共用语句
41         printf("大兵阿飞");
42         break;
43     default://switch语句中可以不含default分支
44         printf("输入错误");
45         break;
46     }
47     system("pause");
48 }

 

posted @ 2017-08-03 16:37  进击的小猴子  阅读(382)  评论(0编辑  收藏  举报