以前写的一些小程序总结

eg 1:
   1:  // small program.cpp : 定义控制台应用程序的入口点。
   2:  //
   3:   
   4:  #include "stdafx.h"
   5:  #include <stdio.h>
   6:   
   7:  //输出100-200以内所有的素数
   8:  int main()
   9:  {
  10:   
  11:     int flag = 1,count = 0;
  12:     for(int m = 101; m < 200 ;m++)
  13:     {
  14:         int k = m/2;
  15:         for(int i = 2;i < k; i++)
  16:         {
  17:             if(m % i == 0)
  18:             {
  19:                 printf("%d 为合数",m);
  20:                 flag = 0;
  21:                 break;
  22:             }
  23:         }
  24:         if(flag == 1)
  25:         {
  26:             printf("%d 为素数    ",m);
  27:             count++;
  28:         }
  29:         flag = 1;
  30:     }
  31:     printf("\n");
  32:     printf("总共有 %d 个素数    ",count);
  33:     return 0;
  34:  }
  35:   

 

image

eg 2:

   1:  // small program.cpp : 定义控制台应用程序的入口点。
   2:  //
   3:   
   4:  #include "stdafx.h"
   5:  #include <stdio.h>
   6:   
   7:  //冒泡排序
   8:  int main()
   9:  {
  10:        int a[10]={1,7,8,3,2,6,5,0,4,9};
  11:      int i,j,t;
  12:      for( i= 0; i < 10; i++) //控制次数
  13:      {
  14:          for( j = 0;j < 10 - i;j ++)//两两交换
  15:          {
  16:             if(a[j] < a[j+1])
  17:                 
  18:             {
  19:                 t = a[j+1];
  20:                 a[j+1] = a[j];
  21:                 a[j] = t;
  22:             }
  23:          }
  24:      }
  25:          for(i = 0; i < 10; i++)
  26:          printf("%d ",a[i]);
  27:          printf("\n");
  28:     
  29:     return 0;
  30:  }
  31:   

 

image

 

eg 3:

   1:  // small program.cpp : 定义控制台应用程序的入口点。
   2:  //
   3:   
   4:  #include "stdafx.h"
   5:  #include <stdio.h>
   6:   
   7:  /*有3个学生,每个学生有3门课的成绩,
   8:  从键盘输入以上数据(包括学生号,姓名,一门课成绩),并输出*/
   9:  typedef struct Stu
  10:  {
  11:      int number;   //这里面有一个bug,当我定义char[]时,输入数字会出现问题。理论上讲,数字也是字符才是呀
  12:      char name[3];
  13:      int score;
  14:  } Stu;
  15:   
  16:  int main()
  17:  {
  18:     Stu  stu[3];
  19:     printf("请输入3名学生的学号,姓名,成绩\n");
  20:     for(int i = 0; i < 3; i++)
  21:     {
  22:         scanf("%d",&stu[i].number);   
  23:         scanf("%s",&stu[i].name);  
  24:         scanf("%d",&stu[i].score);  
  25:     }
  26:      for(int i = 0; i < 3; i++)
  27:     {
  28:         printf("%d",stu[i].number);
  29:         printf("%s",stu[i].name);
  30:         printf("%d",stu[i].score);
  31:         printf("\n");
  32:     }
  33:     printf("\n");
  34:     return 0;
  35:  }
  36:   

 

   1:  /*********************************************************
   2:  函数作用:  1、查找中心点的位置,8位AD,共91个点。
   3:                 计算偏差,偏右为负,偏左为正
   4:                 规定abs(vedio[i]-vedio[i-1])>80为黑白交汇处。
   5:              2、统计黑区数目,宽度,并保存
   6:              3、发现意外情况,返回出错标志供主程序查询
   7:              4、规定黑点<2,白点>80
   8:              5、假定黑区是连着的。
   9:  **********************************************************/
  10:   
  11:   
  12:   
  13:   
  14:  #include <stdio.h>
  15:  #include <math.h>
  16:   
  17:  main()
  18:  {
  19:      int vedio[91]={0},i,j,m,x,y;
  20:      int l_edge=0,r_edge=0; 
  21:      int blackcount=0;    //数黑区数 规定若blackcount大于8为一块黑区。
  22:      int flag,flag2;
  23:      int l[90]={0},r[90]={0};
  24:      printf("请输入91个数:\n");
  25:      for (i=0;i<13;i++)
  26:      {    
  27:          scanf("%d",&vedio[i]);
  28:          printf("%d",vedio[i]);
  29:      }
  30:     
  31:    for(j=0;j<13;j++)
  32:    {
  33:       
  34:        if(vedio[j]-vedio[j+1]>80)//白到黑
  35:        {
  36:            flag=1;
  37:            flag2=0;
  38:            l_edge=j+1;
  39:            r_edge=l_edge;
  40:            
  41:              
  42:        }
  43:         else if(vedio[j]-vedio[j+1]<-80)//黑到白
  44:        {
  45:             flag=0;
  46:             flag2=1;
  47:        }
  48:         else
  49:         {
  50:             if(flag==1)
  51:             {
  52:                 blackcount++;
  53:                 l_edge++;
  54:             }
  55:             if(flag2==1)
  56:             {
  57:                for(m=0;m<90;m++)
  58:                {  l[m]=r_edge;
  59:                   r[m]=l_edge;}
  60:             }
  61:                
  62:         }
  63:    }
  64:  printf("\n输出blackcount:%d\n",blackcount);
  65:  //计算中心点,及黑区的个数。
  66:    if (blackcount<8)
  67:         printf("没有黑区\n");
  68:    else if(blackcount>=8&&blackcount<15)
  69:    {
  70:        printf("只有一块黑区\n");
  71:        x=(l[0]+r[0])/2;
  72:        y=45-x;
  73:      printf("此黑线的中心点为%d\n",y);
  74:    }
  75:   
  76:    else if(blackcount>=15&&blackcount<24)
  77:        printf("有两块黑区\n");
  78:    else if(blackcount>=24&&blackcount<32)
  79:        printf("有三块黑区\n");
  80:    else printf("出错了\n");
  81:  }
posted on 2014-03-03 23:21  zhuxuekui3  阅读(240)  评论(0)    收藏  举报