亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

第一個1000行

2019-11-10 18:03:08
字體:
來源:轉載
供稿:網友
/*Author:MrBreadIntroduction:Aim to imPRove my programming ability and record my codes.Start date:Feb 5th,2017*/#include<stdio.h>#include<math.h>#include<time.h>#include<string.h> /* 2017-02-04 //第一個c語言程序 printf("Hello,World!/n"); return 0; *//* 2017-02-04 //求n! int n,i=2; double factorial=1;//防止溢出,盡可能使能表示盡可能大的值,要賦初值1 printf("請輸入1到50之間的整數:/n"); scanf("%d",&n); //切不可忘記取地址符& if(n==1) { printf("The factorial is %d",1); return 0; } while(i<=n) { factorial*=i; //數據類型自動轉換,從低精度自動轉換成高精度 i++; } printf("The factorial is :%d!=%.0lf",n,factorial); return 0; *//*2017-02-04 //輸入三個數然后按從小到大輸出 int a,b,c,temp;//temp是在交換的中間值 printf("請輸入三個任意的整數:/n"); scanf("%d%d%d",&a,&b,&c); //scanf("%d,%d,%d/n",&a,&b,&c)在輸入數據時要用逗號分隔 if(a>b) { temp=a; a=b; b=temp; } if(a>c) { temp=a; a=c; c=temp; } if(b>c) { temp=b; b=c; c=temp; } printf("從小到大的順序輸出:%d,%d,%d/n",a,b,c); return 0; *//* //猴子吃桃 //問題描述:猴子每天吃蘋果的一半加一個,第十天只剩下了一個蘋果。求第一天的蘋果總數 int days=10,remain=1;//days代表天數,remain代表第days天剩下的蘋果 int result=remain; while(days>=1) { printf("第%d天剩下的蘋果:%d 個/n",days,result); result=(result+1)*2; days--; } return 0; *//* //陽陽買蘋果 //問題描述:陽陽每天買蘋果,每個蘋果0.8元,第一天買了兩個蘋果,之后每一天是前一天的一倍,直到總的蘋果個數為不超過100的最大值 //此時計算平均每天花多少錢買蘋果 int apple_sum=0; int everyday=2; //第一天買的蘋果個數 int day=0; while(apple_sum<=100) { day++; apple_sum=apple_sum+everyday; everyday*=2; } float average=apple_sum*0.8/day; printf("平均每天花在蘋果上的錢為:%f",average); return 0;*//* //任意次方后的最后三位 //編程求一個整數任意次方的最后三位數,即求x^y的最后三位數,x和y的值由鍵盤輸入。 int x,y; long long result=1; //sizeof(long long)=8; printf("請輸出兩個整數x和y:/n"); scanf("%d%d",&x,&y); while(y--) { result=x*result; } printf("%d%d%d/n",result%1000/100,result%100/10,result%10); return 0; //考慮到溢出問題,這里有一種方法可以避免這類問題; //for(i=1;i<=y;i++) // z=z*x%1000; //if(z>100) // printf("%d",z); //else // printf("0%d",z);*//* //計算某日是該年的第幾天 int year,month,day,i; int run[12]={ //閏年各月份天數 31,29,31,30,31,30,31,31,30,31,30,31 }; int ping[12]={ //平年各月份天數 31,28,31,30,31,30,31,31,30,31,30,31 }; int result=0; //result代表該年的第幾天 printf("按照年月日的順序輸入,以逗號隔開:/n"); scanf("%d,%d,%d",&year,&month,&day); int flag;//設置為閏年標志,若為閏年則flag=1; if(year%4==0&&year%100!=0||year%400==0) //閏年判斷條件,從左往右判斷 //若能被4整除而不能被100整除或者能被40整除 flag=1; else flag=0; if(flag)//若是閏年 { for(i=0;i<month-1;i++) result=result+run[i]; } else { for(i=0;i<month-1;i++) result=result+ping[i]; } result=result+day; printf("該日期為該年的第 %d 天/n",result); return 0; //思考:可以直接按照平年先計算天數,再判斷月份是否大于3然后閏年只需要多加上一天即可*//* //2017-02-05 //婚禮上的謊言 //問題描述:3對情侶參加婚禮,3個新郎為A,B,C,3個新娘為X,Y,Z,有人想知道究竟誰與誰 //結婚,于是就問新人中的三位,得到如下結果:A說他將和X結婚;X說她的未婚夫是C;C說他將 //和Z結婚。這人事后知道他們在開玩笑,說的全是假話。那么,究竟誰與誰結婚呢? //暴力解法 int a,b,c; for(a=1;a<=3;a++) for(b=1;b<=3;b++) for(c=1;c<=3;c++) if(a!=1&&c!=1&&c!=3&&a!=b&&a!=c&&b!=c) { printf("%c 將嫁給 A/n",'X'+a-1); printf("%c 將嫁給 B/n",'X'+b-1); printf("%c 將嫁給 C/n",'X'+c-1); } return 0;*//* 2017-02-06 //百元買百雞 //問題描述:雞翁一,值錢5,雞母一,值錢三,雞雛三,值錢一,百元買百雞求各類雞的個數? int a,b,c;//a代表雞翁,b代表雞母,c代表雞雛 for(a=0;a<20;a++) for(b=0;b<34;b++) { c=100-a-b; //if(c%3==0) 再判斷錢數是否等于100,這樣后面就不用強制類型轉換 if(a*5+b*3+(float)c/3==100) //精度的問題,c/3不一定為整數,需要將其強制轉化為float型 printf("雞翁,雞母,雞雛的個數分別為:%d,%d,%d/n",a,b,c); } return 0;*//* //打魚曬網問題 //如果一個漁夫從2011年1月一日開始每三天打一次漁,兩天曬一次網,編程實現當輸入2011年以后的任意一天 //輸出該漁夫是在打漁還是曬網。 int year,month,day,i; int result=0; int ping[12]={ 31,28,31,30,31,30,31,31,30,31,30,31 }; printf("請輸入年月日,以逗號隔開(2011年之后的任意一天):/n"); scanf("%d,%d,%d",&year,&month,&day); for(i=0;i<year-2011;i++) { if((i+2011)%4==0&&(i+2011)%100!=0||(i+2011)%400==0) //閏年判斷條件,從左往右判斷 result=result+366; else result=result+365; } for(i=0;i<month-1;i++) result=result+ping[i]; result=result+day; if((year%4==0&&year%100!=0||year%400==0)&&month>2) result=result+1; //若是閏年且月份大于2月則記上一天 //判斷打漁還是曬網:以5為周期,取余判斷余數 printf("天數=%d/n",result); if(result%5>0&&result%5<=3) //注意此處的判斷條件 printf("%d-%d-%d這一天在打漁/n",year,month,day); else printf("%d-%d-%d這一天在曬網/n",year,month,day); return 0;*//* //判斷三角形的類型 //根據輸入的三角形的三條邊判斷三角形的類型,并輸出它的面積和體積。 float a,b,c; float s,area; printf("請輸入三條邊長,以逗號隔開:/n"); scanf("%f,%f,%f",&a,&b,&c); //判斷三角形成立條件 if(a+b>c&&a+c>b&&b+c>a) { s=(a+b+c)/2; area=(float)sqrt(s*(s-a)*(s-b)*(s-c)); //需要添加頭文件math.h printf("構成的三角形的面積是:%f/n",area); if(a==b&&a==c) { printf("構成的三角形為等邊三角形/n"); } else if(a==b||a==c||b==c) { printf("構成的三角形為等腰三角形/n"); } else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) printf("構成的三角形為直角三角形/n"); else printf("構成的三角形為普通三角形/n"); } else printf("輸入的三條邊不能構成三角形/n"); return 0;*//* //直接插入排序 //插入排序是把一個記錄插入到已排序的有序序列中,使整個序列在插入該記錄之后仍然有序 //插入排序中較簡單的一種方法就是直接插入排序,其插入位置的確定方法是將待插入的記錄 //與有序區的各記錄自右向左依次比較其關鍵字的值的大小,本實例要求使用直接插入排序法將數字 //由小到大進行排序 int a[50]; int i,j,k,temp; printf("請輸入十個整數,以空格隔開:/n"); for(i=0;i<10;i++) scanf("%d",&a[i]); //進行排序 printf("原始順序:/n"); for(i=0;i<10;i++) printf("%5d",a[i]); printf("/n"); //開始排序 先就第一個元素是有序的,從第二個元素開始進行比較 int count=1; //count計算交換的次數 for(i=1;i<10;i++) //進行九輪遍歷 { //每一次遍歷之后序列都是有序的 for(j=0;j<i;j++) { if(a[j]>a[i]) //一碰到比自己大的數即進行交換 { temp=a[j]; a[j]=a[i]; a[i]=temp; } printf("第%d次交換結果:/n",count); for(k=0;k<10;k++) printf("%5d",a[k]); printf("/n"); count++; } printf("第%d輪遍歷的結果為:/n",i); for(j=0;j<10;j++) printf("%5d",a[j]); printf("/n/n/n"); } */ /*//直接插入排序 //插入排序是把一個記錄插入到已排序的有序序列中,使整個序列在插入該記錄之后仍然有序 //插入排序中較簡單的一種方法就是直接插入排序,其插入位置的確定方法是將待插入的記錄 //與有序區的各記錄自右向左依次比較其關鍵字的值的大小,本實例要求使用直接插入排序法將數字 //由小到大進行排序void insort(int s[],int n) //自定義函數insort{ int i,j,k,count=1;//count計算交換的次數 for(i=2;i<=n;i++)//數組下標從2開始,s[0]做監視哨,s[1]一個數據無可比性 { s[0]=s[i]; //給監視哨賦值 j=i-1; //確定要比較元素的最右邊的位置 while(s[0]<s[j]) { s[j+1]=s[j]; //數據右移 j--; //移向左邊的一個未比較的數 //測試結果 // printf("第%d次中間結果:/n",count); // for(k=0;k<=10;k++) // printf("%5d",s[k]); // printf("/n"); // count++; } s[j+1]=s[0]; //在確定的位置插入s[i] printf("第%d次遍歷:/n",i-1); for(k=1;k<=10;k++) printf("%5d",s[k]); printf("/n"); }}void main(){ int a[11],i; //定義數組及變量為基本類型 printf("請輸入10個數據:/n"); for(i=1;i<=10;i++) scanf("%d",&a[i]); printf("原始順序:/n"); for(i=1;i<11;i++) printf("%5d",a[i]); printf("/n"); insort(a,10); printf("/n插入數據后排序:/n"); for(i=1;i<11;i++) printf("%5d",a[i]); printf("/n");}*//* //希爾排序法 //希爾排序法又稱縮小增量法,屬于插入類排序,是將整個無序子序列分別進行插入排序的方法 //先取一個整數d1<n,把所有序號相隔d1的數組元素放一組,組內進行直接插入排序;然后取d2<d1 //重復上述分組和排序操作;直至di=1.即所有記錄放進一個組中排序為止 void shsort(int s[],int n) //自定義函數shsort { int i,j,k,d; d=n/2; //確定固定增量值 while(d>=1) { for(i=d+1;i<=n;i++) //數組下標從d+1開始進行直接插入排序 { s[0]=s[i]; //設置監視哨 j=i-d; //確定要進行比較的最右邊的元素 while((j>0)&&(s[0]<s[j])) { s[j+d]=s[j]; //數據右移 j=j-d; //向左移動固定增量的位置 } s[j+d]=s[0]; //在確定的位置插入s[i] //測試 printf("輸出中間結果:/n"); for(k=1;k<=10;k++) printf("%5d",s[k]); printf("/n"); } d=d/2; } } void main() { int a[11],i; printf("請輸入10個整數:/n"); for(i=1;i<=10;i++) scanf("%d",&a[i]); //從鍵盤中輸入十個數據 shsort(a,10); printf("排序后的順序是:/n"); for(i=1;i<=10;i++) printf("%5d",a[i]); printf("/n"); }*//*//冒泡排序就是從第一個數開始,依次與之后的數進行比較,將最大的數移到最后,就像一個氣泡一樣一點一點往上浮void main(){ int i,j,k,temp,a[11]; printf("請輸入十個數:/n"); for(i=1;i<11;i++) scanf("%d",&a[i]); for(i=1;i<11;i++) //變量i代表比較的趟數 for(j=1;j<11-i;j++) //變量j代表每趟兩兩比較的次數 { if(a[j]>a[j+1]) //如果前一個數比后一個數大則交換 { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } printf("測試中間結果:/n"); for(k=1;k<11;k++) printf("%5d",a[k]); printf("/n"); } printf("排序后的順序是:/n"); for(i=1;i<=10;i++) printf("%5d",a[i]); printf("/n");}*//* //快速排序 //快速排序法是冒泡排序法的一種改進,主要的算法思想是在待排序的n個數據中取一個數據作為基準值 //將所有記錄分為三組,使第一組各數據值均小于或等于基準值,第二組做基準值的數據 //第三組各數據值均大于或等于基準值,這便實現了第一趟分割,然后再對第一組和第三組分別重復上述 //方法,依次類推,直到每組中只有一個記錄為止void qusort(int s[],int start,int end){ int i,j; i=start; //將每組首個元素賦給i j=end; //將每組末尾元素賦給j s[0]=s[start]; //設置基準值 while(i<j) { while(i<j&&s[0]<s[j]) j--; //位置左移 if(i<j) { s[i]=s[j]; //將小于或等于基準值的s[j]放到s[i]的位置上 i++; //位置右移 } while(i<j&&s[i]<=s[0]) i++; //位置右移 if(i<j) { s[j]=s[i]; //將大于或等于基準值的s[i]放到s[j]位置 j--; //位置左移 } } s[i]=s[0]; //將基準放入指定位置 if(start<i) qusort(s,start,j-1); //將分割出的部分遞歸調用qusort函數 if(i<end) qusort(s,j+1,end);}void main(){ int a[11],i; printf("請輸入10個數:/n"); for(i=1;i<=10;i++) scanf("%d",&a[i]); qusort(a,1,10); //調用函數進行排序 printf("排序后的順序是:/n"); for(i=1;i<=10;i++) printf("%5d",a[i]); printf("/n");}*///選擇排序法/*選擇排序的基本算法是從待排序的區間中經過選擇和交換后選出最小的數值存放到a[1]中在從剩余的未排序區間中經過選擇和交換后選出最小的數值存放到a[2]中,依此類推*//*void main(){ int i,j,t,a[11]; printf("請輸入十個整數:/n"); for(i=1;i<11;i++) scanf("%d",&a[i]); for(i=1;i<=9;i++) //該循環是確定位置的,該位置是存放每次從待排序數列中經選擇和交換后所選出的最小數 for(j=i+1;j<=10;j++) //實現將確定位置上的數和后面待排序區間的數進行比較的 if(a[i]>a[j]) //如果前一個數比后一個數大,則交換 { t=a[i]; a[i]=a[j]; a[j]=t; } printf("排序后的順序是:/n"); for(i=1;i<=10;i++) printf("%5d",a[i]); printf("/n");}*///歸并排序/*要點:歸并是將兩個或多個有序記錄序列合并成一個有序數列。歸并方法有多種,一次對兩個有序記錄序列進行歸并,稱為二路歸并排序,也有三路歸并排序及多路歸并排序。本實例是二路歸并排序。基本方法是:1、將n個記錄看成是n個長度為1的有序子表2、將兩兩相鄰的有序子表進行歸并3、重復執行步驟2,知道歸并成一個長度為n的有序子表*//*void merge(int r[],int s[],int x1,int x2,int x3) //實現一次歸并排序{ int i,j,k; i=x1; //第一部分的開始位置 j=x2+1; //第二部分的開始位置 k=x1; while((i<=x2)&&(j<=x3)) //當i和j都在兩個要合并的部分中時 //篩選兩部分中較小的元素放到數組s中 if(r[i]<=r[j]) { s[k]=r[i]; i++; k++; } else { s[k]=r[j]; j++; k++; } while(i<=x2) //將x1~x2范圍內未比較的數順次加到數組r中 s[k++]=r[i++]; while(j<=x3) //將x2+1~x3范圍內未比較的數順次加到數組r中 s[k++]=r[j++];}void merge_sort(int r[],int s[],int m,int n){ int p; int t[20]; if(m==n) s[m]=r[m]; else { p=(m+n)/2; merge_sort(r,t,m,p); //遞歸調用merge_sort()函數將r[m]~r[p]歸并成有序的t[m]~t[p] merge_sort(r,t,p+1,n); //遞歸調用merge_sort()函數將r[p+1]~r[n]歸并成有序的t[p+1]~t[n] merge(t,s,m,p,n); //調用函數將前兩部分歸并到s[m]~s[n] }}void main(){ int a[11]; int i; printf("請輸入10個數:/n"); for(i=1;i<=10;i++) scanf("%d",&a[i]); merge_sort(a,a,1,10); printf("排序后的順序是:/n"); for(i=1;i<=10;i++) printf("%5d",a[i]); printf("/n");}*//* //二分查找 //二分查找就是折半查找,其基本思想就是;首先選取表中間位置的記錄,將其關鍵字與給定關鍵字key //進行比較,若相等,則查找成功;若key的值比關鍵字值大,則要找的元素一定在右子表中,則繼續對右子表進行折半查找; //若key的值比關鍵字值小,則要找的元素一定在左子表中,繼續對左子表進行查找。如此類推,直到查找成功或查找失敗 //(查找范圍為0)void binary_search(int key,int a[],int n){ int low,high,mid,count=0,count1=0; low=0; high=n-1; while(low<high) //當查找范圍不為0時執行循環體語句 { count++; //count記錄查找次數 mid=(low+high)/2; //求中間位置 if(key<a[mid]) //key小于中間值時 high=mid-1; //確定左子表范圍 else if(key>a[mid]) //key大于中間值時 low=mid+1; //確定右子表范圍 else if(key==a[mid]) //當key等于中間值時,證明查找成功 { printf("查找成功!/n查找 %d 次!a[%d]=%d/n",count,mid,key); //輸出查找次數及所查找元素在數組中的位置 count1++; //記錄查找成功的次數 break; } //缺點:這里寫的只能查找成功一次而對于出現多次并不能查找出來 } if(count1==0) //判斷是否查找失敗 printf("查找失??!/n");}void main(){ int i,key,a[100],n; printf("請輸入數組的長度:/n"); scanf("%d",&n); printf("請輸入數組元素:/n"); for(i=0;i<n;i++) scanf("%d",&a[i]); printf("請輸入你想查找的元素:/n"); scanf("%d",&key); binary_search(key,a,n); //調用函數 printf("/n");}//需要改進*//* //分塊查找 //分塊查找也稱為索引順序查找。要求將待查的元素均勻地分成塊,塊間按大小排序,塊內不排序 //所以要建立一個塊的最大(或最小)關鍵字表,稱為索引表。 //本實例將給出的15個數按關鍵字大小分成了3塊,這15個數的排列是一個有序序列,也可以給出無序序列, //但必須滿足分在第一塊中的任意數都小于第二塊中的所有數,第二塊中的所有數都小于第三塊中的所有數。 //當要查找關鍵字為key的元素時,先用順序查找在已建好的索引表中查出key所在的塊中,再在對應的塊中順序查找key, //若key存在,則輸出其相應的位置,否則輸出提示信息。 struct index //定義塊的結構 { int key; //塊的關鍵字 int start; //塊的起始值 int end; //塊的結束值 }index_table[4]; //定義結構體數組 int block_search(int key,int a[]) //自定義實現分塊查找 { int i,j; i=1; while(i<=3&&key>index_table[i].key) //確定在哪個塊中 i++; if(i>3) //大于分得的塊數,則返回0 return 0; j=index_table[i].start; //j等于塊范圍的起始值 while(j<=index_table[i].end&&a[j]!=key) //在確定的塊中順序查找 j++; if(j>index_table[i].end) //如果大于塊范圍的結束值,則說明沒有要查找的數,j置0 j=0; return j; }void main(){ int i,j=0,k,key,a[16]; printf("請輸入15個數:/n"); for(i=1;i<16;i++) scanf("%d",&a[i]); for(i=1;i<=3;i++) { index_table[i].start=j+1; //確定每個塊范圍的起始值 j=j+1; index_table[i].end=j+4; //確定每個塊范圍的結束值 j=j+4; index_table[i].key=a[j]; //確定每個塊范圍中元素的最大值 } printf("請輸入你想查找的元素:/n"); scanf("%d",&key); k=block_search(key,a); if(k!=0) { printf("查找成功,其位置是:%d/n",k); //如果找到讀數,則輸出其位置 } else printf("查找失效!/n"); //若未找到,則輸出提示信息}*//* //哈希查找 //要求如下:已知哈希表長度為11,哈希表函數為H(key)=key%11,隨機產生待散列的小于50的8個元素 //同時采用線性探測再散列的方法處理沖突。任意輸入要查找的數據,無論是否找到均給出提示信息。 #define max 11 #define N 8 int hashtable[max]; int func(int value) //用于返回哈希函數的值 { return value % max; //哈希函數 } int search(int key) //實現哈希查找 { int pos,t; pos=func(key); //哈希函數確定位置 t=pos; //t存放確定出的位置 while(hashtable[t]!=key&&hashtable[t]!=-1) //如果該位置不等于要查找的關鍵字且不為空 { t=(t+1)%max; //利用線性探測求出下一個位置 if(pos==t) //如果經多次探測又回到原來用哈希函數求出的位置,則說明要查找的數不存在 return -1; } if(hashtable[t]==-1) //如果探測的位置是-1,則說明要查找的數不存在 return NULL; else return t; } void creathash(int key) //自定義函數創建哈希表 { int pos,t; pos=func(key); //哈希函數確定元素的位置 t=pos; while(hashtable[t]!=-1) //如果該位置有元素存在,則進行線性探測再散列 { t=(t+1)%max; if(pos==t) //如果沖突處理后確定的位置與原位置相同,則說明哈希表已滿 { printf("哈希表已滿/n"); return ; } } hashtable[t]=key; //將元素放入確定的位置 } void main() { int flag[50]; int i,j,t; for(i=0;i<max;i++) hashtable[i]=-1; //在哈希表中,初始位置全置-1 for(i=0;i<50;i++) flag[i]=0; //50以內所有數未產生時,均標志為0 srand((unsigned long)time(0));//利用系統時間做種子產生隨機數 i=0; while(i!=N) { t=rand()%50; //產生一個50以內的隨機數賦給t if(flag[t]==0) //查看是否產生過t { creathash(t); //調用函數創建哈希表 printf("%2d:",t); //輸出該元素 for(j=0;j<max;j++) printf("(%2d)",hashtable[j]); //輸出哈希表的內容 printf("/n"); flag[t]=1; //將產生的這個數標志為1 i++; } } printf("請輸入你想查找的元素:"); scanf("%d",&t); if(t>0&&t<50) { i=search(t); //調用search()函數進行哈希查找 if(i!=-1) printf("查找成功!其位置是:%d/n",i); //若查找到該元素則輸出其位置 else printf("查找失??!"); } else printf("輸入有誤!/n"); }*//*哈希函數的構造方法常用的有5種,分別是數字分析法、平方取中法、分段疊加、偽隨機法和余數法,其中余數比較常用。因為本實例中已給出哈希函數所有不用構造,直接按照題中給的哈希函數來運算即可。雖然通過構造好的哈希函數可以減少沖突,但沖突是不可能完全避免的,所以就相應的產生了避免哈希沖突的常用的4種方法分別是開放定址法(包括線性探測再散列和二次探測再散列)、鏈地址法、再哈希法和建立公共溢出區。開放定址法中的線性再散列比較常用,該方法的特點是在沖突發生時,順序查看表中的下一單元,直到找出一個空單元或查遍全表。*//* //斐波那契數列 //求數列的前30個元素,每行5個數 void main() { long array[30]; array[0]=array[1]=1; int i; int count=0; //便于換行 for(i=2;i<30;i++) array[i]=array[i-1]+array[i-2]; printf("輸出斐波拉契數列的前三十個元素:/n"); for(i=0;i<30;i++) { count++; printf("%10d",array[i]); if(count==5) { printf("/n"); count=0; } } }*//* //哥德巴赫猜想 //驗證100以內的正偶數都能分解為兩個素數之和,即驗證哥德巴赫猜想對100以內(大于2)的正偶數 //成立 int ss(int i) //判斷是否為素數 { int j; if(i<=1) //小于1的數不是素數 return 0; if(i==2) //2是素數 return 1; for(j=2;j<i;j++) //對大于2的數進行判斷 { if(i%j==0) return 0; else if(i!=j+1) continue; else return 1; } } void main() { int i,j,k,flag1,flag2,n=0; for(i=4;i<100;i+=2) for(k=2;k<=i/2;k++) { j=i-k; flag1=ss(k);//判斷拆分出的數是否是素數 if(flag1) { flag2=ss(j); if(flag2) //如果拆分出的兩個數均是素數則輸出 { printf("%3d=%3d+%3d,",i,k,j); n++; if(n%5==0) printf("/n"); } } } printf("/n"); }*//* //尼科徹斯定理 //尼科徹斯定理的內容是:任何一個整數的立方都可以寫成一串連續奇數的和。編程驗證該定理 void main() { int test; int i,j,k,l,flag=1; long long sum; long long result=1; printf("請輸入一個整數:/n"); scanf("%d",&test); int count=3; while(count) { result=test*result; count--; } //result=test*test*test; printf("%d/n",result); //驗證 i=result/2; if(i%2==0) i=i+1; //當i為偶數時i值加一 while(flag==1&&i>=1) //當i大于等于1且flag=1時還行循環體語句 { sum=0; k=0; while(1) { sum+=(i-2*k); //奇數累加求和 k++; if(sum==result) //如果sum與m相等,則輸出累加過程 { printf("%d*%d*%d=%d=",test,test,test,result); for(l=0;l<k-1;l++) printf("%d+",i-l*2); printf("%d/n",i-(k-1)*2); //輸出累加求和的最后一個數 flag=0; break; } if(sum>result) break; } i-=2; //如果i等于下一個奇數,則繼續上面的過程 } }*//*// 求100到200之間的素數void main(){ int i,j,count=0; for(i=100;i<=200;i++) for(j=2;j<i;j++) //sqrt(i)可以縮短時間 { if(i%j==0) break; if(i==j+1) { printf("%5d",i); count++; if(count==5) { printf("/n"); count=0; } } }}*//*//十進制轉換為二進制void main(){ int test; int i,j,m; printf("請輸入一個十進制數(0~32767):/n"); scanf("%d",&test); int a[16]={0}; //system("cls"); //清屏 for(m=0;m<15;m++) //for循環從0位到1位,最高位為符號位,本題始終為0 { i=test%2; //取2的余數 j=test/2; //取被2整除的結果 test=j; //將得到的商賦給變量test a[m]=i; } for(m=15;m>=0;m--) { printf("%d",a[m]); if(m%4==0) printf(" "); //每輸出4個元素,輸出一個空格 } printf("/n");}*//*//n進制轉換為十進制//編程實現任意輸入一個數,并輸入幾進制,即將其轉換為十進制數并輸出void main(){ long t1; int i,n,t,t3; char a[100]; printf("請輸入數字:/n"); gets(a); //輸入n進制數存到數組a中 strupr(a); //將a中的小寫字母轉換成大寫字母 t3=strlen(a); //求數組a的長度 t1=0;//為t1賦初值0 printf("請輸入進制n(2或8或16):/n"); scanf("%d",&n); for(i=0;i<t3;i++) { if(a[i]-'0'>=n&&a[i]<'A'||a[i]-'A'+10>=n) //判斷輸入的數據與進制數是否相符 { printf("輸入有誤?。?n"); //輸出錯誤 exit(0); //退出程序 } if(a[i]>='0'&&a[i]<='9') //判斷是否為數字 t=a[i]-'0'; //求出該睡賦給t else if(n>=11&&(a[i]>='A')&&a[i]<='A'+n-10) //判斷是否為字母 t=a[i]-'A'+10; //求出字母所代表的十進制數 t1=t1*n+t; //求出最終轉換成的十進制數 } printf("十進制形式是:/n%ld/n",t1);}*//*//小球下落問題//以求從100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第十次落地時,共經過多少米?//第十次反彈多高void main(){ float high=100,sum=100; int i; for(i=1;i<=9;i++) { high=high/2; //每落地一次嘆氣高度變為原來的一半 sum+=high*2; //累積的高度和加上下一次落地后彈起與下落的高度 } printf("總長度是:%f/n",sum); printf("第十次落地后彈起的高度是:%f",high/2); printf("/n");}*///巧分蘋果/*一家農戶以果園為生,一天,父親推出一車蘋果,共2520個,準備分給他的6個兒子。父親按事先寫在一張紙上的數字把這堆蘋果分完,每個人分到的蘋果個數都不相同。他說:老大,把你分到蘋果的1/8給老二,老二拿到后,連同原來的蘋果分1/7給老三,老三拿到后,連同原來的蘋果的1/6給老四,以此類推,最后老六拿到后,連同原來的蘋果分1/3給老大,這樣,你們每個人分到的聘雇就一樣多了。問:兄弟六人原先各分到多少只蘋果?*//*void main(){ int a[6]={0}; int i; int average=2520/6; //首先計算出老六最后在給老大之前有多少蘋果 int temp=average*3/2; a[0]=(average-temp/3)*8/7; // 測試用printf("a[0]=%d/n",a[0]); a[1]=average*7/6-a[0]/8; // printf("a[1]=%d/n",a[1]); a[2]=average*6/5-average/6; a[3]=average*5/4-average/5; a[4]=average*4/3-average/4; a[5]=average*3/2-average/3; for(i=0;i<6;i++) printf("a[%d]= %d /n",i,a[i]);}*//*void main(){ int x[7],y[7],s,i; s=2520/6; //求出平均每個人要分多少個蘋果 for(i=2;i<=6;i++) //求老二到老六得到哥哥分來的蘋果卻未分給弟弟時的蘋果數 y[i]=s*(9-i)/(8-i); y[1]=x[1]=(s-y[6]/3)*8/7; //老大得到老六分來的蘋果數卻未分給弟弟時的蘋果數 for(i=2;i<=6;i++) x[i]=y[i]-y[i-1]/(10-i); //求原來每人得到的蘋果數 for(i=1;i<=6;i++) printf("x[%d]=%d/n",i,x[i]);}*/
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人精品视频| 国产免费一区视频观看免费| 欧美极品在线播放| 国模gogo一区二区大胆私拍| 精品国产31久久久久久| 日韩中文字幕在线看| 久久久久北条麻妃免费看| 成人av在线天堂| 欧美电影在线观看网站| 日韩欧美在线视频日韩欧美在线视频| 欧美理论电影在线播放| 亚洲第一区中文字幕| 深夜精品寂寞黄网站在线观看| 国产97免费视| 日韩av电影手机在线观看| 亚洲激情电影中文字幕| 欧美大片va欧美在线播放| 亚洲色图狂野欧美| 91色视频在线导航| 久久精品中文字幕电影| 国产精品久久久久久中文字| zzijzzij亚洲日本成熟少妇| 国产做受高潮69| 第一福利永久视频精品| 国产一区私人高清影院| 亚洲欧美日韩精品久久奇米色影视| 欧美午夜精品久久久久久久| 日韩精品极品视频| 国产精品视频不卡| 97不卡在线视频| 久久久久久久影视| 伊人伊成久久人综合网小说| 日韩理论片久久| 欧美午夜精品久久久久久人妖| 色爱av美腿丝袜综合粉嫩av| 97在线精品国自产拍中文| 国产在线观看不卡| 91精品久久久久久综合乱菊| 成人精品久久久| 日韩av免费网站| 国产精品美女999| 国产精品爱啪在线线免费观看| 欧美精品在线免费观看| www.日韩视频| 亚洲高清一区二| 久久久国产精彩视频美女艺术照福利| 成人写真福利网| 九九热最新视频//这里只有精品| 日韩在线免费视频观看| 亚洲精品福利视频| 亚洲精品电影网| 国产精品久久久久久五月尺| 欧美激情在线有限公司| 久久久中精品2020中文| 日韩精品中文字幕在线观看| 久久中文精品视频| 日韩久久精品电影| 综合久久五月天| 久久久久久亚洲精品中文字幕| 91精品国产91久久久| 亚洲男人的天堂在线播放| 国产精品一区二区久久久| 亚洲综合小说区| 亚洲成人激情在线| 91精品视频在线| 日韩在线免费观看视频| 国产精品嫩草影院一区二区| 亚洲欧美成人在线| 国模精品一区二区三区色天香| 欧美性生活大片免费观看网址| 久久久久久久999| 亚洲一级黄色av| 国产欧美一区二区三区在线看| 成人做爰www免费看视频网站| 久久精品国产一区二区三区| 97视频在线观看亚洲| 一区二区三区天堂av| 青青青国产精品一区二区| 亚洲最大成人在线| 亚洲人成在线一二| 国产一区二区视频在线观看| 日韩中文字幕免费视频| 久久久精品美女| 日韩成人中文字幕在线观看| 欧美亚洲视频在线看网址| 色综合伊人色综合网站| 久久精品人人做人人爽| 日韩一级黄色av| 久久精品国产免费观看| 久久亚洲精品中文字幕冲田杏梨| 情事1991在线| 欧美性高跟鞋xxxxhd| 国产精品视频大全| 亚洲国产福利在线| 精品国产91久久久久久老师| 欧美亚洲另类制服自拍| 亚洲欧美精品伊人久久| 欧美视频专区一二在线观看| 久久影院免费观看| 成人av色在线观看| 欧美国产日韩一区二区三区| 亚洲欧美色图片| 在线日韩精品视频| 91精品91久久久久久| 91精品啪aⅴ在线观看国产| 在线性视频日韩欧美| 日韩精品在线第一页| 成人精品一区二区三区电影黑人| 69影院欧美专区视频| 欧美成人免费小视频| 久久久久久久国产精品视频| 在线a欧美视频| 国产网站欧美日韩免费精品在线观看| 久久久久久久国产精品| 日韩中文字幕不卡视频| 日韩中文字幕视频在线| 亚洲一区二区三区毛片| 欧美在线日韩在线| 狠狠做深爱婷婷久久综合一区| 中文字幕日韩在线观看| 精品视频在线导航| 97av在线视频| 韩国19禁主播vip福利视频| 国产欧美最新羞羞视频在线观看| 92看片淫黄大片欧美看国产片| 国产一区二区三区四区福利| 久久精品欧美视频| 青青精品视频播放| 欧美性xxxx极品高清hd直播| 国产婷婷色综合av蜜臀av| 成人福利在线视频| 国产精品天天狠天天看| 高清一区二区三区四区五区| 久久99精品久久久久久青青91| 久久久久久国产三级电影| 国内精品久久久久| 91在线网站视频| 国产日韩欧美在线看| 亚洲精品久久久久久久久久久久久| 欧美国产在线视频| 在线视频亚洲欧美| 欧美激情va永久在线播放| 国产精品黄视频| 久久久国产一区二区三区| 亚洲aⅴ日韩av电影在线观看| 亚洲国产私拍精品国模在线观看| 亚洲高清一区二| 国产欧美日韩精品丝袜高跟鞋| 日韩有码在线电影| 精品调教chinesegay| 欧美极品少妇xxxxⅹ裸体艺术| 色妞色视频一区二区三区四区| 91亚洲精品视频| 亚洲欧美日韩在线高清直播| 麻豆国产va免费精品高清在线| 亚洲美女免费精品视频在线观看| 国产日韩欧美视频在线| 国产精品久久久久久网站| 国产69精品久久久久9| 奇米影视亚洲狠狠色| 欧美大片免费观看在线观看网站推荐| 成人在线视频网站| 尤物精品国产第一福利三区| 中文字幕一区二区三区电影|