• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            千里暮云平

            常用鏈接

            統計

            最新評論

            學c++一段時間了,開博第一天,附上C的二分法的源碼和帶參數宏的使用代碼

            #include <stdio.h>
            #include <string.h>
            void main()
            {
             int search(int [],int);
             int num,result;
             int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
             printf("請輸入要查找的元素:\n");
             scanf("%d",&num);
             result = search(a,num);
            if(result == -999)
             printf("該元素不存在。\n");
            else
             printf("該元素在第%d位置。\n",result);
            }
            int search(int b[],int n)
            {
             int low=0,high=14,mid;
             while(low<=high)
             {
              mid = (low + high)/2;
              if(n<b[mid])
               high = mid - 1;
              else if(n>b[mid])
               low = mid + 1;
              else
               return mid;
             }
             return -999;
            }

             


            #include <stdio.h>
            #define swap(a,b,k) k=a;a=b;b=k;
            void main()
            {
             int x,y,k;
             printf("請輸入要交換的兩個值:\n");
             scanf("%d%d",&x,&y);
             printf("交換后,值為:\n");
             swap(x,y,k);
             printf("%d,%d\n",x,y);

             

             #include <stdio.h>
            #define divide(a,b) a%b
            void main()
            {
             int x,y,k; 
             printf("請輸入兩個相除的數:\n");
             scanf("%d%d",&x,&y);
             printf("相除后,余數的值為:\n");
             k=divide(x,y);
             printf("%d\n",k);
            }

            #include <stdio.h>
            #include <math.h>
            #define area(s,a,b,c) sqrt(s*(s-a)*(s-b)*(s-c));
            void main()
            {
             float x,y,k;
             float s,are;
             printf("請輸入三角形的三條邊:\n");
             scanf("%f%f%f",&x,&y,&k);
             printf("面積為:\n");
             s = 0.5*(x+y+k);
             are=area(s,x,y,k);
             printf("%5.2f\n",are);
            }
             



            #include <stdio.h>
            #include <math.h>
            #define LEAPYEAR(y) y%4
            void main()
            {
             int y;
            scanf("%d",&y);
            if(LEAPYEAR(y)) printf("%d is a not leap year\n",y);
            else printf("%d is a leap year\n",y);
            }






            #include <stdio.h>
            void main()
            {
             int a,b,c,*p1,*p2,*p3;
             int temp;
                printf("請輸入3個整數:\n");
             scanf("%d%d%d",&a,&b,&c);
                p1 = &a; p2 = &b ; p3 = &c;
             if(*p1>*p2)
             {  
              temp = *p1 ;
              *p1 = *p2;
              *p2 = temp;
             }
             if (*p1>*p3)
             {
              temp = *p1 ;
              *p1 = *p3;
              *p3 = temp;
             }
             if (*p2>*p3)
             {
              temp = *p2 ;
              *p2 = *p3;
              *p3 = temp;
             }
             printf("排序后的數為:%d,%d,%d\n",*p1,*p2,*p3);

            }









            #include <stdio.h>
            #define MAX 20
            void main()
            {
             char str1[MAX],str2[MAX],str3[MAX];
             char *s1=str1,*s2=str2,*s3=str3;
             char *temp;
                printf("Please enter tree strings divided by Enter:\n");
             scanf("%s%s%s",s1,s2,s3);  //不在使用換行符,多此一舉

             printf("after sorting:\n");

             if(*s1>*s2)
             {    
              temp = s1;
              s1 = s2;
              s2 = temp;
             }
             if(*s1>*s3)
             {    
              temp = s1;
              s1 = s3;
              s3 = temp;
             }
             if(*s2>*s3)
             {    
              temp = s2;
              s2 = s3;
              s3 = temp;
             }
             printf("these strings are :\n%s\n%s\n%s\n\n",s1,s2,s3);
            }







            #include <stdio.h>
            void main()
            {
             int arr[10];
             void input(int *,int );
             void handling(int *,int );
             void display(int *,int );
             input(arr,10);
             handling(arr,10);
             display(arr,10);

            }
            void input(int *p,int n)
            {
             int *po = p;
                printf("請輸入10個整數:\n");
             for(;p<po+n;p++)
              scanf("%d",p);
            }
            void handling(int *p,int n)
            {
             int *po = p,min=*po,max=*po;
             for(po=p+1;po<p+n;po++)
             {
              if(min > *po)
               min = *po;
             }
             for(po=p+1;po<p+n;po++)
             {
              if(max < *po)
               max = *po;
             }
             
             for(po = p;po<p+n;po++)
             {
              if(*po == min)
              {
               *po = max;
              }

             }
              for(po = p+1;po<p+n;po++)
             {
              if(*po == max)
               *po = min;
             }
              
            }
            void display(int *p,int n)
            {
             int *po = p;
                printf("10個整數為:\n");
             for(;p<po+n;p++)
              printf("%d ",*p);
            }


            #include <stdio.h>
            void main()
            {
             bool move(int *p,int m);
             int a[10]={1,2,3,4,5,6,7,8,9,10},m,isT;
             printf("請輸入要移動前面的幾個數:\n");
             scanf("%d",&m);
                isT = move(a,m);
             if(isT)
             {
              for(int i=0;i<10;i++)
               printf("%d ",*(a+i));
             }
            }
            bool move(int *p,int m)
            {
             int *po = p,n = 10-m;
             int a[10];
             for(int i=n;i<10;i++)
             {
              *(a+i)=*(po+i);
             }
             for(i=9;i>=m;i--)
             {
              *(po+i)=*(po+i-m);
             }
             for(i=0;i<m;i++)
             {
                    *(po+i)=*(a+i+n);
             }
             return true;
            }








            #include <stdio.h>
            void main()
            {
             int length(char *str);
             int len;
             char *pstr = "abc";
                len = length(pstr);
             printf("字符串的長度為:%d\n",len);
            }

            int length(char *str)
            {
             int count = 0;
             while(*str!='\0')
             {
              count++;
              str++;
             }
             return count;
            }













            #include <stdio.h>
            struct
            {
             int year;
             int month;
             int day;
            }date;
            void main()
            {
             int days;
             printf("Input year,month,day:");
                scanf("%d%d%d",&date.year,&date.month,&date.day);
             switch(date.month)
             {
             case 1: days = date.day; break;
             case 2: days = 31+date.day; break;
             case 3: days = 59+date.day; break;
             case 4: days=date.day+90; break;
                case 5: days=date.day+120; break;
                case 6: days=date.day+31; break;
                case 7: days=date.day+181; break;
                case 8: days=date.day+212; break;
                case 9: days=date.day+243; break;
                case 10: days=date.day+273; break;
                case 11: days=date.day+304; break;
                case 12: days=date.day+334; break;
             }
             if((date.year%400==0)&&(date.year%4==0)&&date.month>=3)
              days+=1;
             printf("你所輸入的日期是這一年的%d天。",days);
            }







            #include <stdio.h>
            struct student
            {
             int num;
             char name[10];
             int score[3];
            }stu[3];
            void main()
            {
             printf("請輸入學生信息:\n");
             for(int i=0;i<3;i++)
              scanf("%d%s%d%d%d",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
             printf("打印學生信息:\n");
             for( i=0;i<3;i++)
              printf("學生%d的信息是:%d\t%s\t%d %d %d\n",i,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]);

            }


            #include <stdio.h>
            struct student
            {
             int num;
             char name[10];
             int score[3];
            }stu[3];
            void main()
            {
             void input(struct student []);
             input(stu);
             printf("打印學生信息:\n");
             for(int i=0;i<3;i++)
              printf("學生%d的信息是:%d\t%s\t%d %d %d\n",i,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]);

            }
            void input(struct student stu[])
            {
             printf("請輸入學生信息:\n");
              for(int i=0;i<3;i++)
              scanf("%d%s%d%d%d",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
            }


            #define NEWSIZE 1000//定義初始空間大小
            char newbuf[NEWSIZE];//先在內存中定義一塊區域供使用
            char *newp=newbuf;//定義字符指針變量newp,并令其指向剛才定義的區域開始位置
            char *new(int n)//定義函數new,其返回值為一字符指針
            {
            if(newp+n<=newbuf+NEWSIZE)//判斷所開辟區域大小在先前定義的范圍內
            {
            newp=newp+n;//使new到new+n范圍內的內存空間供程序使用
            return newp-n;//返回newp-n,即newbuf位置,newbuf到newbuf+n區域即已開辟成功
            }
            else
            return NULL;//若要開辟的空間過大,則返回NULL
            }



            //通過while循環一行行取,讀到文件末尾就是NULL了 ----讀取整個文件
            #include <stdio.h>

            void main( void )
            {
            FILE *stream;
            char line[100];

            if( (stream = fopen( "file.txt", "r" )) != NULL )
            {
            while( fgets( line, 100, stream ) != NULL)
            printf( "%s", line);
            fclose( stream );
            }
            }


            提問:茉莉花、太陽花、玫瑰花哪一朵花最沒力?
            回答:茉莉花。
            原因:好一朵美麗(沒力)的茉莉花。

            提問:猩猩最討厭什么線?
            回答:平行線。
            原因:平行線沒有相交(香蕉)。

            提問:橡皮、老虎皮、獅子皮哪一個最不好?
            回答:橡皮。
            原因:橡皮擦(橡皮差)。
            提問:布和紙怕什么?
            回答:布怕一萬,紙怕萬一。
            原因:不(布)怕一萬,只(紙)怕萬一。

            提問:鉛筆姓什么?
            回答:蕭。
            原因:削(蕭)鉛筆。

            提問:麒麟到了北極會變成什么?
            回答:冰淇凌。
            原因:冰淇凌(冰麒麟)。

            提問:哪位歷史人物最欠扁?
            回答:蘇武。
            原因:蘇武牧羊北海邊(被海扁)。

            提問:從1到9哪個數字最勤勞,哪個數字最懶惰?
            回答:1懶惰;2勤勞。
            原因:一(1)不做二(2)不休。

            提問:怎樣使麻雀安靜下來?
            回答:壓它一下。
            原因:鴉雀無聲(壓雀無聲)。

            posted on 2010-02-02 20:22 Adam 閱讀(161) 評論(0)  編輯 收藏 引用

            久久精品无码一区二区WWW| 一本大道久久a久久精品综合| 精品久久久久久无码国产| 国产精品久久久99| 中文字幕无码久久精品青草| 久久青青草原亚洲av无码app| 国产亚洲精久久久久久无码| 久久99久久无码毛片一区二区| 99久久这里只精品国产免费| 91久久精一区二区三区大全| 亚洲伊人久久综合影院| 性高湖久久久久久久久| 久久国产免费直播| 91精品国产乱码久久久久久| 亚洲?V乱码久久精品蜜桃| 久久久九九有精品国产| 无码人妻久久一区二区三区蜜桃| 色综合久久综精品| 久久久无码精品亚洲日韩按摩| 中文成人无码精品久久久不卡 | 热99re久久国超精品首页| 一级做a爰片久久毛片看看| 久久国产精品久久国产精品| 久久精品国产精品亚洲精品| 久久综合成人网| 久久av免费天堂小草播放| 久久青青草原国产精品免费| 亚洲成色WWW久久网站| 国产精品99久久久久久宅男小说| 国产精品一区二区久久精品无码 | 久久91精品综合国产首页| 久久久无码精品亚洲日韩蜜臀浪潮 | 久久人人爽人人爽人人片AV东京热| 久久久久久a亚洲欧洲aⅴ| 久久精品国产亚洲AV无码偷窥| 国产精品一区二区久久精品涩爱| 免费一级做a爰片久久毛片潮| 久久青青国产| 91麻豆国产精品91久久久| 午夜精品久久久久| 香蕉久久夜色精品升级完成|