經典C語言程序設計100例1-10 如【程序1】 題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少? 1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。 2.程序源代碼: 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) } }
上傳時間: 2013-12-14
上傳用戶:hfmm633
假設在一個ad hoc網絡中,移動節點的發射功率PTx總是恒定的。要發送數據的移動節點總是先監聽信道,測量接收到的信號功率X,其中X= I + N, I為接收到的干擾,N是噪聲。移動節點只有在X<INThre時,才可以發射。式中,INThre為背景噪聲門限。 在仿真中,我們規定每個移動節點的發射功率是常數,PTx = 1W;接收節點接收機的靈敏度Smin = -80 dBm;信號質量 min = 2 dB;系統的背景噪聲門限INThre = 1.2e-10。
上傳時間: 2016-03-16
上傳用戶:sevenbestfei
根據有無固定基礎設施,無線局域網又可分為BSS (Basic Service Set)和IBSS (Independent Basic Service Set)。我們要研究的ad hoc網絡屬于后者。假設在一個ad hoc網絡中,移動節點的發射功率PTx總是恒定的。要發送數據的移動節點總是先監聽信道,測量接收到的信號功率X,其中X= I + N, I為接收到的干擾,N是噪聲。移動節點只有在X<INThre時,才可以發射。式中,INThre為背景噪聲門限。 在仿真中,我們規定每個移動節點的發射功率是常數,PTx = 1W;接收節點接收機的靈敏度Smin = -80 dBm;信號質量 min = 2 dB;系統的背景噪聲門限INThre = 1.2e-10。
標簽:
上傳時間: 2013-12-19
上傳用戶:頂得柱
河內塔問題 #include<stdio.h> #include<stdlib.h> int fun_a(int) void fun_b(int,int,int,int) int main(void) { int n int option printf("題目二:河內塔問題\n") printf("請輸入要搬移的圓盤數目\n") scanf("%d",&n) printf("最少搬移的次數為%d次\n",fun_a(n)) printf("是否顯示移動過程? 是請輸入1,否則輸入0\n") scanf("%d",&option) if(option==1) { fun_b(n,1,2,3) } system("pause") return 0 } int fun_a(int n) { int sum1=2,sum2=0,i for(i=n i>1 i--) { sum1=sum1*2 } sum2=sum1-1 return sum2 } void fun_b(int n,int left,int mid,int right) { if(n==1) printf("把第%d個盤子從第%d座塔移動到第%d座塔\n",n,left,right) else { fun_b(n-1,left,right,mid) printf("把第%d個盤子從第%d座塔移動到第%d座塔\n",n,left,right) fun_b(n-1,mid,left,right) } }
上傳時間: 2016-12-08
上傳用戶:努力努力再努力
在0 / 1背包問題中,需對容量為c 的背包進行裝載。從n 個物品中選取裝入背包的物品,每件物品i 的重量為wi ,價值為pi 。對于可行的背包裝載,背包中物品的總重量不能超過背包的容量,最佳裝載是指所裝入的物品價值最高,即n ?i=1pi xi 取得最大值。約束條件為n ?i =1wi xi≤c 和xi?[ 0 , 1 ] [ 1≤i≤n]。
標簽: 背包問題
上傳時間: 2017-03-28
上傳用戶:6546544
//顏色初始化 if(!has_colors() || start_color() == ERR){ endwin() printf("Terminal does not support color.\n") exit(1) } init_pair(1, COLOR_GREEN, COLOR_BLACK) init_pair(2, COLOR_RED, COLOR_BLACK) init_pair(3, COLOR_CYAN, COLOR_BLACK) init_pair(4, COLOR_WHITE, COLOR_BLACK) init_pair(5, COLOR_MAGENTA, COLOR_BLACK) init_pair(6, COLOR_BLUE, COLOR_BLACK) init_pair(7, COLOR_YELLOW, COLOR_BLACK) //寫字符串 for(i = 1 i <= 7 i++) { attron(COLOR_PAIR(i)) printw("color pair d in normal mode\n", i) } for(i = 1 i <= 7 i++) { attron(COLOR_PAIR(i) | A_BLINK | A_UNDERLINE) printw("color pair d in normal mode\n", i) }
標簽: start_color has_colors Terminal endwin
上傳時間: 2014-01-14
上傳用戶:vodssv
g a w k或GNU awk是由Alfred V. A h o,Peter J.We i n b e rg e r和Brian W. K e r n i g h a n于1 9 7 7年為U N I X創建的a w k編程語言的較新版本之一。a w k出自創建者姓的首字母。a w k語言(在其所有的版本中)是一種具有很強能力的模式匹配和過程語言。a w k獲取一個文件(或多個文件)來查找匹配特定模式的記錄。當查到匹配后,即執行所指定的動作。作為一個程序員,你不必操心通過文件打開、循環讀每個記錄,控制文件的結束,或執行完后關閉文件。
上傳時間: 2014-01-02
上傳用戶:hwl453472107
1.Describe a Θ(n lg n)-time algorithm that, given a set S of n integers and another integer x, determines whether or not there exist two elements in S whose sum is exactly x. (Implement exercise 2.3-7.)
上傳時間: 2017-04-01
上傳用戶:糖兒水嘻嘻
1.Describe a Θ(n lg n)-time algorithm that, given a set S of n integers and another integer x, determines whether or not there exist two elements in S whose sum is exactly x. (Implement exercise 2.3-7.) #include<stdio.h> #include<stdlib.h> void merge(int arr[],int low,int mid,int high){ int i,k; int *tmp=(int*)malloc((high-low+1)*sizeof(int)); int left_low=low; int left_high=mid; int right_low=mid+1; int right_high=high; for(k=0;left_low<=left_high&&right_low<=right_high;k++) { if(arr[left_low]<=arr[right_low]){ tmp[k]=arr[left_low++]; } else{ tmp[k]=arr[right_low++]; } } if(left_low<=left_high){ for(i=left_low;i<=left_high;i++){ tmp[k++]=arr[i]; } } if(right_low<=right_high){ for(i=right_low;i<=right_high;i++) tmp[k++]=arr[i]; } for(i=0;i<high-low+1;i++) arr[low+i]=tmp[i]; } void merge_sort(int a[],int p,int r){ int q; if(p<r){ q=(p+r)/2; merge_sort(a,p,q); merge_sort(a,q+1,r); merge(a,p,q,r); } } int main(){ int a[8]={3,5,8,6,4,1,1}; int i,j; int x=10; merge_sort(a,0,6); printf("after Merging-Sort:\n"); for(i=0;i<7;i++){ printf("%d",a[i]); } printf("\n"); i=0;j=6; do{ if(a[i]+a[j]==x){ printf("exist"); break; } if(a[i]+a[j]>x) j--; if(a[i]+a[j]<x) i++; }while(i<=j); if(i>j) printf("not exist"); system("pause"); return 0; }
上傳時間: 2017-04-01
上傳用戶:糖兒水嘻嘻
# include<stdio.h> # include<math.h> # define N 3 main(){ float NF2(float *x,float *y); float A[N][N]={{10,-1,-2},{-1,10,-2},{-1,-1,5}}; float b[N]={7.2,8.3,4.2},sum=0; float x[N]= {0,0,0},y[N]={0},x0[N]={}; int i,j,n=0; for(i=0;i<N;i++) { x[i]=x0[i]; } for(n=0;;n++){ //計算下一個值 for(i=0;i<N;i++){ sum=0; for(j=0;j<N;j++){ if(j!=i){ sum=sum+A[i][j]*x[j]; } } y[i]=(1/A[i][i])*(b[i]-sum); //sum=0; } //判斷誤差大小 if(NF2(x,y)>0.01){ for(i=0;i<N;i++){ x[i]=y[i]; } } else break; } printf("經過%d次雅可比迭代解出方程組的解:\n",n+1); for(i=0;i<N;i++){ printf("%f ",y[i]); } } //求兩個向量差的二范數函數 float NF2(float *x,float *y){ int i; float z,sum1=0; for(i=0;i<N;i++){ sum1=sum1+pow(y[i]-x[i],2); } z=sqrt(sum1); return z; }
上傳時間: 2019-10-13
上傳用戶:大萌萌撒