日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 基础60题(5)

發布時間:2025/7/14 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 基础60题(5) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第32題
int vector_add(double* a, double* b, double* c, unsigned int n);
功? 能:求兩個給定向量的和.
參? 數:a, b為表示兩個向量的一維數組;c為存放求和結果向量的數組(數組空間已由調用者分配好);n為向量的分量個數.
返回值:>=0,成功返回;<0,不成功返回.
分? 值:

//第32題 int?vector_add(double*?a,?double*?b,?double*?c,?unsigned?int?n){unsigned?int?i;for(i=0;i<n;i++){*(c+i)=*(a+i)+*(b+i);}if(i==n){return?0;}return?-1; }

第33題
double* vector_add(double* a, double* b, unsigned int n);
功? 能:求兩個給定向量的和.
參? 數:a, b為表示兩個向量的一維數組;n為向量的分量個數.
返回值:求和結果向量數組的首地址(結果向量數組的空間由函數的實現者分配).
分? 值:

//第33題 double*?vector_add1(double*?a,?double*?b,?unsigned?int?n){unsigned?int?i;double?c[100];double?*p=c;for(i=0;i<n;i++){*(p+i)=*(a+i)+*(b+i);}return?p; }//測試程序 void?main() {//調用vector_add(),vector_add1()函數double?a[3]={1,2,3};double?b[3]={3,4,5};double?c[3];if(vector_add(a,b,c,3)>=0){for(int?i=0;i<3;i++){printf("%f??",c[i]);}printf("\n");}for(int?i=0;i<3;i++){printf("%f??",*(vector_add1(a,b,3)+i));} }

第34題
int matrix_add(double* a, double* b, double* c, unsigned int m, unsigned int n);
功? 能:求兩個給定矩陣的和.
參? 數:a, b為表示兩個矩陣的二維數組;c為存放求和結果向量的數組(數組空間已由調用者分配好);m, n為二維數組的行數和列數.
返回值:>=0,成功;<0,不成功.
分? 值:

//第34題 int?matrix_add(double*?a,?double*?b,?double*?c,?unsigned?int?m,?unsigned?int?n){unsigned?int?i,k;for(i=0;i<m;i++){for(k=0;k<n;k++){*(c+i*n+k)=*(a+i*n+k)+*(b+i*n+k);}}if(i==m&&k==n){return?0;}return?-1; }

第35題
double* matrix_add(double* a, double* b, unsigned int m, unsigned int n);
功? 能:求兩個給定矩陣的和.
參? 數:a, b為表示兩個矩陣的二維數組;m, n為二維數組的行數和列數.
返回值:求和結果向量數組的首地址(結果向量數組的空間由函數的實現者分配).
分? 值:

//第35題 double*?matrix_add(double*?a,?double*?b,?unsigned?int?m,?unsigned?int?n){unsigned?int?i,k;double?c[100];for(i=0;i<m;i++){for(k=0;k<n;k++){*(c+i*n+k)=*(a+i*n+k)+*(b+i*n+k);}}return?c; }//測試程序 void?main() {//調用matrix_add()、matrix_add()函數double?a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};double?b[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};double?c[3][4];if(matrix_add((double*)a,(double*)b,(double*)c,3,4)>=0){for(int?i=0;i<3;i++){for(int?k=0;k<4;k++){printf("%.2f??",c[i][k]);}printf("\n");}}for(int?i=0;i<3;i++){for(int?k=0;k<4;k++){printf("%.2f??",*(matrix_add((double*)a,(double*)b,3,4)+i*4+k));}printf("\n");} */ }

第36題
int prime(unsigned int n);
功? 能:判斷給定自然數是否為素數.
參? 數:n為給定的自然數.
返回值:0,不是素數;1,是素數.
分? 值:

//第36題 int?prime(unsigned?int?n){unsigned?int?i,k;k=(unsigned?int)sqrt((double)?n);for(i=2;i<=k;i++){if(n%i==0)break;}if(i>k){return?1;}return?0; }

第37題
int abs_prime(unsigned int n);
功? 能:判斷給定偶數位自然數是否為絕對素數(給定自然數左右兩半的數對換以后仍為素數).
參? 數:n為給定的偶數位自然數.
返回值:0,不是絕對素數;1,是絕對素數.
分? 值:

//第37題int?abs_prime(unsigned?int?n){unsigned?int?n1=n;unsigned?int?n2=n;int?i=1;//表示n的位數while(n1/10!=0){n1=n1/10;i++;}if(i%2==0){int?k;for(k=0;k<(i/2);k++){n2=n2/10;}unsigned?int?n3,n4;for(k=0;k<(i/2);k++){n3=n2*10;}n4=n-n3;for(k=0;k<(i/2);k++){n4=n4*10;}unsigned?int?n5=n4+n2;printf("%d-----",n5);if(prime(n)==1&&prime(n5)==1){return?1;}else{return?0;}}return?0; }

第38題
int Goldbach_conjecture(unsigned int n, unsigned int *a, unsigned int *b);
功? 能:驗證哥德巴赫猜想,將一個給定的大于5的偶數表示為兩個素數的和.
參? 數:n為給定的大于5的偶數;a, b為存放拆分成的兩個素數的數組的首地址,拆成的一對素數分別放在數組a和b的相同下標單元中(如8拆成3和5,則a[0]=3,b[0]=5).
返回值:>=0,成功;<0,不成功.
分? 值:

//第38題 int?Goldbach_conjecture(unsigned?int?n,?unsigned?int?*a,?unsigned?int?*b){unsigned?int?i;int?k=0;for(i=1;i<n/2;i++){if(prime(i)==1&&prime(n-i)==1){*(a+k)=i;*(b+k)=n-i;k++;}}if(k>0){return?k;}return?-1; } //測試程序 void?main() {unsigned?int?a[100];unsigned?int?b[100];printf("%d\n",abs_prime(17));if(Goldbach_conjecture(8,a,b)>0){for(int?i=0;i<Goldbach_conjecture(8,a,b);i++){printf("%d-----%d\n",*(a+i),*(b+i));}}}

轉載于:https://blog.51cto.com/junzhichen/1672223

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的C语言 基础60题(5)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。