c語言的權重,C語言權值

本文目錄一覽:

用C語言編寫以下演算法: 一個5個節點的有向圖,有向線段上有權重即T[i][j],它表示節點i對節點j的信任度。

寫C程序,隨機給出n*n的鄰接矩陣,並列印輸出鄰接矩陣,以及有向圖的邊的個數,每個頂點的度,並判斷該圖中是否存在Euler迴路: (1)如果為n階,則隨機產生一個n*n的鄰接矩陣; (2)輸出鄰接矩陣,邊的個數,每個頂點的度以及圖中是否存在Euler迴路。 這個題目涉及到了兩個主要的知識點,一個是數據結構中的有向圖的鄰接矩陣的創建,還有就是離散數學中的Euler迴路的判定定理。

#includestdio.h

#includestdlib.h

#includetime.h

#includemath.h

#define n 5 //定義矩陣的階數n

typedef int ver;

typedef int edg; //定義有向圖的頂點和邊值為整形

typedef struct{

ver v[n]; //頂點

edg e[n][n]; //邊權

}graph; //定義鄰接矩陣的數據結構

void printgraph (graph G) //列印輸出鄰接矩陣

{

int i,j;

printf(“頂點”);

for(i=0;in;i++)

printf(“%3d”,i);

printf(“\n”);

for(i=0;in;i++)

{

printf(“%4d”,i);

for(j=0;jn;j++)

printf(“%3d”,G.e[i][j]);

printf(“\n”);

}

}

void countD (graph G) //判斷有向圖的頂點的度,並判斷Euler迴路

{

int i,j,l;

int e=0,count=0;

int k; //計數器賦0

int c[n],d[n];

for (i=0;in;i++){

c[i]=0;

for (j=0;jn;j++){

if (G.e[i][j]!=0)

c[i]=c[i]+1;

}

printf(“頂點 %d 的出度為: %d \n”,i,c[i]); //有向圖的任意頂點i的出度為鄰接矩陣中第i行不為0的數的個數

}

printf(“\n”);

for (j=0;jn;j++){

d[j]=0;

for (i=0;in;i++){

if (G.e[i][j]!=0)

d[j]=d[j]+1;

}

printf(“頂點 %d 的入度為: %d \n”,j,d[j]); //有向圖的任意頂點j的入度為鄰接矩陣中第j列不為0的數的個數

}

for (l=0;ln;l++){

if (c[l]==d[l])

count++;

else {

if (c[l]-d[l]==1)

e++;

else{

if (d[l]-c[l]==1)

e++;

}

}

}

k=0;

if (count==n) //判斷Euler迴路: 1:所有頂點的出度等於入度;

//2:有且僅有兩個點度數為奇數,且一個出度比入度大一

k=1; //另一個入度比出度大一,其他的頂點出度等於入度

else {

if (e==2 count==n-2)

k=1;

}

if (k==1)

printf(“有向圖中存在Euler迴路\n”);

else

printf(“有向圖中不存在Euler迴路\n”);

}

void main() //主函數

{

int i,j,temp;

graph G;

srand(time (NULL)); //隨機種子

for (i=0;in;i++){

for (j=0;jn;j++)

G.e[i][j]=0;

}

for (i=0;in;i++)

G.v[i]=0;

for (i=0;in;i++){

for (j=0;jn;j++){

do

{

temp = rand()%n; //隨機建造鄰接矩陣

if (G.v[i]n)

{

G.e[i][j] = temp;

G.v[i]++;

break;

}

}

while (1);

}

}

printf(“生成的有向圖鄰接矩陣為: \n”);

printgraph(G);

countD (G); //調用子函數

printf(“有向圖的邊數為:%d\n”,n*(n-1)/2);

}

另外,團IDC網上有許多產品團購,便宜有口碑

C語言 關於權重的 問題

唉,你這錯誤也太多了吧。

   /****考生在以下空白處寫入執行語句******/

for(i=0;in;i++)

{

a[i] = (i+1) * ((int)s[i]);

printf(“%d\n”,a[i]);

}

 

   /****考生在以上空白處寫入執行語句******/

c語言 要為產生的隨機數加上權重 如在6-18內產生100個隨機數,6-9出現頻率為25%,10-14為50%,15-18為25%

這樣改吧:

#includestdlib.h

#includestdio.h

#includetime.h

void main()

{

   int i,j; 

   srand((unsigned)time(NULL)); 

   for(i=0;i100;i++) 

   {   

        j=rand()%100;

  if(j25)     //6到10的25%

  {

   j=rand()%10;

   while(j6)

    j=rand()%10;

  }

  else if(j75)    //11到14的50%

  {

   j=rand()%15;

   while(j10)

    j=rand()%15;

  }

  else      //15到18的25%

  {

   j=rand()%19;

   while(j15)

     j=rand()%19;

  }

        printf(“%d\t”,j);

   }

}

C語言寫權重的問題

int A[100]

for(int i=0;i<100;i++)

if(i<3||i>96)//判斷前後夠不夠3個 不夠輸出權值為0

printf(“a[%d]=%d的元素權值為0\n”,i,a[i]);

}

else

{

int b=abv(a[i]-a[i-1]);//找出差的絕對值最小的

if(abv(a[i]-a[i-2])b) b=abv(a[i]-a[i-2]);

if(abv(a[i]-a[i-3])b) b=abv(a[i]-a[i-3]);

if(abv(a[i]-a[i+1])b) b=abv(a[i]-a[i+1]);

if(abv(a[i]-a[i+2])b) b=abv(a[i]-a[i+2]);

if(abv(a[i]-a[i+3])b) b=abv(a[i]-a[i+3]);

printf(“a[%d]=%d的元素權值為%d\n”,i,a[i],b);

}

C語言中,每位上都有一定的「權」是什麼意思?

簡單地講,每一位的「權」就是這1位表示多少個基本單位,比如:123456,

6是個位,基本單位是1,它表示6個1;

5是十位,基本單位是10,它表示5個10;

4是百位,基本單位是100,它表示4個100;

……

用C語言計算加權分數

本人(無界)用C-Free親手編寫的,親測可運行

# include stdio.h

struct stu{ //用結構體數組儲存學生的成績和學分 

float score; //成績

float credit; //學分

}Stu[100];

int main()

{

unsigned int x=1,y=0;

//y用於結構體數組Stu,同時用於循環計算該學生成績 

double sxcsum=0,csum=0,sum; 

//sxcsum記錄所有成績乘以學分之和

//csum學分之和 

//sum加權成績 

printf(“提示:輸入完後按回車鍵結束,輸入負數代表學生成績輸入完成\n”); 

while(1) //循環用戶輸入成績,直到用戶輸入完成後結束 

{

printf(“請輸入第%d門課程的成績:”,x);

scanf(“%f”,Stu[y].score);  

getchar(); //吸收回車鍵字元

if(Stu[y].score0) break; //輸入負數結束循環,結束學生輸入成績操作 

printf(“請輸入第%d門課程的學分:”,x++);

scanf(“%f”,Stu[y++].credit);

getchar();

if(Stu[y-1].credit0) break;

}

printf(“—輸入成績結束—\n”);

for(x=0;xy;x++) //循環計算成績,直到算完所有課程 ,y變數儲存共有多少門課程 

{

sxcsum+=Stu[x].score*Stu[x].credit;

csum+=Stu[x].credit;

}

sum=sxcsum/csum;

printf(“該學生的加權成績為:%g\n”,sum);

return(0);

}

—「無界」回答—

原創文章,作者:AEDV,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139888.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
AEDV的頭像AEDV
上一篇 2024-10-04 00:23
下一篇 2024-10-04 00:23

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論