當前位置:首頁 » 操作系統 » 演算法C代碼

演算法C代碼

發布時間: 2022-01-30 11:31:50

A. c語言演算法的編寫

同學你好,通過找規律可以得到,當n為偶數時,結果為0,n為奇數時,結果為-1;
所以直接用if條件語句判斷一下就好啦!
望採納,謝謝!

B. 寫個演算法(c語言)

/* 單鏈表就地逆置演算法 */
void converse(NODEPTR L)
{
NODEPTR p,q;
p=L->next; q=p->next;
L->next=NULL;
while(p) /* 對於當前結點p,用頭插法將結點p插入到頭結點之後 */
{
p->next=L->next;
L->next=p;
p=q;
q=q->next;
}
}

買一送一吧:
-------------------------------
-------------------------------
/* 單鏈表就地逆置的C語言程序 */
#define NULL 0

/*定義單鏈表的數據類型 */
typedef struct node{
int data;
struct node * next;
}NODE,*NODEPTR;

/*創建單鏈表 */
NODEPTR createlink()
{
NODEPTR L,p,q;
int i,n,e;
L=(NODEPTR)malloc(sizeof(NODE));
L->next=NULL;
q=L;

printf("please input the length of the link list\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
p=(NODEPTR)malloc(sizeof(NODE));
printf("please enter the value of the list element\n");
scanf("%d",&e);
p->data=e;
q->next=p;
q=p;
}
q->next=NULL;
return L;
}

/* 逐個輸出單鏈表數據元素的值 */
void travlist(NODEPTR L)
{ NODEPTR p;
p=L->next;
printf("the value of the linklist:\n");
while(p)
{
printf("%d%s",p->data,"-->");
p=p->next;
}
printf("\n");
}

/* 單鏈表就地逆置 */
void converse(NODEPTR L)
{
NODEPTR p,q;
p=L->next; q=p->next;
L->next=NULL;
while(p) /* 對於當前結點p,用頭插法將結點p插入到頭結點之後 */
{
p->next=L->next;
L->next=p;
p=q;
q=q->next;
}
}

main()
{
NODEPTR L;
L=createlink();
travlist(L);
converse(L);
travlist(L);

}

C. 求c語言 演算法 求大神的代碼

說白了這道題是數學題,首先要知道位數越多,值越大,那麼也就是說在兩個加號之間的位數越小,值就越小。
假設串的長度為size
那麼1:如果M+1被串的長度整除,這個最簡單,直接把這個串平分分成M+1分,在中間加入+號,也就是在size/(M+1)+(size/(M+1)+1)*i, i=0,1,2...處插入加號
但是不是所有的M+1都能被size整除,在不能被整除的情況下,先算出size/(M+1)的值,假設等於m1,再算出size%M的值,假設等於m2.這時候這個算式得到一個值,這種情況初始就是把加號加在m1+(m1+1)*i處,
for(j=0,j<m2,++j)
{
找出最小的一個數,將該數右邊的加號依次右移一位}
大致邏輯應該是這樣的吧

D. 求幾個演算法的c程序代碼~~~~~~!

主要是太難了,年紀大了,懶得想復雜的事了.

最速下降法,
http://www..com/s?wd=%D7%EE%CB%D9%CF%C2%BD%B5%B7%A8&cl=3

網上有很多這樣的資料,如果你想看書,可以查看演算法方面的書,一般的演算法書還沒有呢.你是大學生嗎?可以上圖書館查查。

E. c語言演算法

#include<stdio.h>
#include<time.h>

#include<stdlib.h>
int fac(int n)
{
int ret=1;
while(n)
{
ret*=n%10;
n/=10;
}
return ret;
}
int sum(int n)
{
int ret=0;
while(n)
{
ret+=n%10;
n/=10;
}
return ret;
}
void main()
{
int i;
int cnt=0;
for(i=0;i<=50;i++)
{
if(fac(i)<sum(i))
{
printf("%d ",i);
cnt++;
}
}
puts("");
printf("總共有%d個\n",cnt);
}

F. C語言 演算法

#include<stdio.h>
void main()
{
void f(int a);
f(15);
}
void f(int a)
{
int i = 0,b,u,s=1;
if(a==1)
printf("0\n");
else if(a==0)
printf("0");
else
{
b=a;
while(a>1)
{
a = a/2;
i++;
}
printf("%d\n",i);
for(u=0;u<i;u++)
s*=2;
f(b-s);
}
}
你的程序經過修改的,由於第一次遞歸是 f(a-s);中a已經變成了1,所以總是輸出1

G. C語言演算法

呵呵,先說說我吧,我買的書給你一個版本的!而且買書時間差不多不超過一個月,現在是高二學生(馬上要高三了),學起C語言並沒感覺到吃力!而我的一個同學就不同了,我們一起看的我都成了他老師了!當我看他看的時候才發現原因,他的速度是我看的3倍。這可能就是問題的所在了!建議樓主從書的目錄開始看,一字一句一個都不少,你會發現結果截然不同!就你所說的所運用的數學知識大多都是邏輯,如果有條件的話希望樓主惡補一下高中數學!但還是那句話,邏輯是程序的靈魂,成績並不能說明著什麼!

如果可以的話希望樓主能買「數據結構」之類的書,對提高邏輯以及C語言有很大的幫助!

這本書的編輯是「譚浩強」教授,是中國響當當的人物,開始我也認為排序不好,但最後發現前面的每一個字都具有非凡的意義!~

你說的那個程序數太大了,我給改為1*2*3*....*10結果:如圖

樓主還是要認真的讀讀那本書,我也不知道更好的辦法了!

H. c語言的演算法符號

如果參與運算的兩個量都是整型值(即int\long int等類型),那麼/運算的結果只保留整數部分,比如:

5/2的值不是2.5,而是2

當參與運算的量中有一個不是整型值時,/運行的結果就是准確的,比如:

5.0/2的值就是2.5

%是求余數的操作符,只用於整型值,比如:

5%2的值就是1

熱點內容
安卓手機怎麼注冊蘋果雲 發布:2024-11-15 01:05:00 瀏覽:407
資料庫設計模板 發布:2024-11-15 00:47:25 瀏覽:825
編程的悟性 發布:2024-11-15 00:47:24 瀏覽:733
主流可編譯語言 發布:2024-11-15 00:42:23 瀏覽:729
excel緩存清除 發布:2024-11-15 00:39:53 瀏覽:486
機械鍵盤可編程 發布:2024-11-15 00:39:09 瀏覽:912
php判斷字元開頭 發布:2024-11-15 00:35:33 瀏覽:507
網易蘋果游戲怎麼轉移到安卓 發布:2024-11-15 00:07:52 瀏覽:270
win7php環境搭建 發布:2024-11-15 00:06:55 瀏覽:17
erpjava 發布:2024-11-14 23:52:23 瀏覽:253