當前位置:首頁 » 編程語言 » c語言互相關計算
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言互相關計算

發布時間: 2022-02-24 09:10:02

『壹』 用c語言寫一段,可以計算任意兩個輸入數的和的程序

C語言任意兩個數字的求和程序設計如下:

#include <stdlib.h>

intmain()

{

inta,b,sum;

printf("請輸入兩個整數:");

scanf("%d %d",&a,&b);

sum=a+b;

printf("這兩個數的和是:%d ",sum);

printf("計算完成,謝謝使用!");

return0;

}


C語言指定兩個數字的求和程序設計如下:

#include<stdio.h>

main()

{

inta,b,sum;

a=123;

b=789;

sum=a+b;

printf("sumis%d ",sum);

}

(1)c語言互相關計算擴展閱讀:

完整的c程序的基本構成:

數據類型、常量與變數、數組、指針、字元串、文件輸入/輸出、運算、關鍵字、流程式控制制關鍵字、跳轉結構、分支結構、語法結構、順序結構、選擇結構、循環結構。

c語言的運算符號:

比較特別的是,比特右移(>>)運算符可以是算術(左端補最高有效位)或是邏輯(左端補 0)位移。例如,將 11100011 右移 3 比特,算術右移後成為 11111100,邏輯右移則為 00011100。因算術比特右移較適於處理帶負號整數,所以幾乎所有的編譯器都是算術比特右移。

運算符的優先順序從高到低大致是:單目運算符、算術運算符、關系運算符、邏輯運算符、條件運算符、賦值運算符(=)和逗號運算符。

『貳』 C語言計算公式

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
/*
說明:產生傷害結果可以有用戶確定,公式也是可以自己寫的,
在這里我給你展示一下.
(如果有其他問題,可以找群主C/C++8群491994603)
*/
#defineLL100//人物力量
#defineSH530//人物傷害

intmain()
{
//構造傷害公式,S=力量*10+570-->每點力量造成10點傷害
ints;//產生傷害值

//構造暴擊因子,差生暴擊原傷害的兩倍
srand((unsignedint)time(NULL));
while(1)
{
intx=rand()%2;
s=LL*10+SH;
if(x==2)
prinf("差生暴擊傷害:%d",2*s);
if(x==1)
prinf("差生傷害:%d",s);
Sleep(3000);

}
system("pause");
return0;
}

『叄』 c語言乘法計算

#include<stdio.h>//因為要用到scanf和printf函數,需要包含這個頭文件
voidmain(){inta,b,c;//沒有返回值的main函數
scanf("%d%d",&a,&b);//因為題目要求用空格分隔兩個數因此不可以用%d,%d
c=a*b;
printf("%d ",c);
//由於前面聲明main函數是void型,因此這里可以寫return;或者省略
}

『肆』 簡單c語言計算關聯性問題。

這個題是是考察c語言的運算優先順序。
+,-,*,%比如+=,-=,*=,%= 等要高,運算順序是左到右,所以先計算a+b+c=3
然後算式成了a+=b*=c%=3
優先順序是/= 大於 *= 大於 %/ 大於 += 大於 -=
所以
a+=(b=b*c)%=3
a+=1%3
a+=1
a=a+1
a=2

『伍』 如何用c語言計算算式

摘要 全部少個逗號,比如

『陸』 c語言 計算公式

兄的 題目說清楚點把 如果遲到45分鍾 是全部按2元/分鍾算還是只是從31分鍾開始按2元/分鍾算呢
還有你是要完整的程序還是只要個計算公式
我有時間就幫你寫

『柒』 急!那位大俠有用C語言實現的互相關演算法的源代碼,謝謝啦

#include <math.h>
#define M_PI 3.14159265358979323846
#define FALSE 0
#define TRUE 1
#define BIG 1e10
#define SMALL 1e-10

typedef struct {
float r, i;
} complex;

/* FAST CORRELATION OF X(0:L) AND Y(0:L). FINDS RXY(0) THRU RXY(NMAX). */
/* L=LAST INDEX IN BOTH X AND Y. MUST BE (POWER OF 2)+1 AND AT LEAST 5. */
/* ITYPE=TYPE OF CORRELATION=0 IF X AND Y ARE THE SAME VECTOR (AUTO- */
/* CORRELATION), OR NOT 0 IF X AND Y ARE DIFFERENT VECTORS. */
/* NMAX=MAXIMUM LAG OF INTEREST IN THE CORRELATION FUNCTION. */
/* FFT LENGTH ,N, USED INTERNALLY, IS L-1. */
/* LET K=INDEX OF FIRST NONZERO SAMPLE IN Y(0)---Y(N-1). THEN X(0) */
/* 到 X(N-1) MUST INCLUDE PADDING OF AT LEAST NMAX-K ZEROS. */
/* CORRELATION FUNCTION, RXY, REPLACES X(0) THRU X(NMAX). */
/* Y(0) THRU Y(L) IS REPLACED BY ITS FFT, COMPUTED USING SPFFTR. */
/* IERROR=0 NO ERROR DETECTED */
/* 1 L-1 NOT A POWER OF 2 */
/* 2 NMAX OUT OF RANGE */
/* 3 INADEQUATE ZERO */

void spcorr(float *x, float *y, long *l, long *type, long *nmax, long *error)
/*
x:序列X;
y:序列Y;
l:序列X與序列Y的長度,不小5,且要為2的冪次方;
type:相關的類型,0:表示X與Y序列相同,其它值:X與Y序列不相同
nmax:相關的最大時延;
error:運行出錯提示;0:無錯;1:數據長度不是2的冪次方;2:時延超界;3:無足夠零填充出錯
*/

{
long j, k, m, n;//n:FFT長度;k:序列Y中的首個非零樣本的位置序號;在序列Y中必須最少包含有(nmax-k)零填充。
complex cx;
float test;

n = *l - 1;
if (*nmax < 0 || *nmax >= n)
{
*error = 2;
return;
}

test = (float) n;
test /= 2.0;

while ((test - 2.0) > 0.0)
{
test /= 2.0;
}

if ((test - 2.0) == 0)
{
for (k = 0 ; k < n && y[k] == 0.0 ; ++k) ;

for (j = n - 1 ; j >= 0 && x[j] == 0.0 ; --j) ;

if ((n - 1 - j) < (*nmax - k))
{
*error = 3;
return;
}

spfftr(x, &n);//對X序列FFT變換
if (*type != 0)
{
spfftr(y, &n);//如果X、Y是相同序列,則對Y序列也進行FFT
}

for (m = 0 ; m <= (n / 2) ; ++m)
{
cx.r = x[m * 2] * y[m * 2] - -x[(m * 2) + 1] * y[(m * 2) + 1];
cx.i = x[m * 2] * y[(m * 2) + 1] + -x[(m * 2) + 1] * y[m * 2];

x[m * 2] = cx.r / n;
x[(m * 2) + 1] = cx.i / n;
}

spiftr(x, &n);

*error = 0;
}
else if ((test - 2.0) < 0.0)
{
*error = 1;
}

return;
} /* spcorr */

/* SPFFTR 11/12/85 */
/* FFT ROUTINE FOR REAL TIME SERIES (X) WITH N=2**K SAMPLES. */
/* COMPUTATION IS IN PLACE, OUTPUT REPLACES INPUT. */
/* INPUT: REAL VECTOR X(0:N+1) WITH REAL DATA SEQUENCE IN FIRST N */
/* ELEMENTS; ANYTHING IN LAST 2. NOTE: X MAY BE DECLARED */
/* REAL IN MAIN PROGRAM PROVIDED THIS ROUTINE IS COMPILED */
/* SEPARATELY ... COMPLEX OUTPUT REPLACES REAL INPUT HERE. */
/* OUTPUT: COMPLEX VECTOR XX(O:N/2), SUCH THAT X(0)=REAL(XX(0)),X(1)= */
/* IMAG(XX(0)), X(2)=REAL(XX(1)), ..., X(N+1)=IMAG(XX(N/2). */
/* IMPORTANT: N MUST BE AT LEAST 4 AND MUST BE A POWER OF 2. */

//FFT計算函數
void spfftr(complex *x, long *n)
{
/* Builtin functions */
void r_cnjg();

/* Local variables */
void spfftc();

long m, tmp_int;
complex u, tmp, tmp_complex;
float tpn, tmp_float;

tpn = (float) (2.0 * M_PI / (double) *n);

tmp_int = *n / 2;
spfftc(x, &tmp_int, &neg_i1);

x[*n / 2].r = x[0].r;
x[*n / 2].i = x[0].i;

for (m = 0 ; m <= (*n / 4) ; ++m)
{
u.r = (float) sin((double) m * tpn);
u.i = (float) cos((double) m * tpn);

r_cnjg(&tmp_complex, &x[*n / 2 - m]);

tmp.r = (((1.0 + u.r) * x[m].r - u.i * x[m].i)
+ (1.0 - u.r) * tmp_complex.r - -u.i * tmp_complex.i) / 2.0;

tmp.i = (((1.0 + u.r) * x[m].i + u.i * x[m].r)
+ (1.0 - u.r) * tmp_complex.i + -u.i * tmp_complex.r) / 2.0;

tmp_float = ((1.0 - u.r) * x[m].r - -u.i * x[m].i
+ (1.0 + u.r) * tmp_complex.r - u.i * tmp_complex.i) / 2.0;
x[m].i = ((1.0 - u.r) * x[m].i + -u.i * x[m].r
+ (1.0 + u.r) * tmp_complex.i + u.i * tmp_complex.r) / 2.0;
x[m].r = tmp_float;

r_cnjg(&x[*n / 2 - m], &tmp);
}

return;
} /* spfftr */

/* SPIFTR 02/20/87 */
/* INVERSE FFT OF THE COMPLEX SPECTRUM OF A REAL TIME SERIES. */
/* X AND N ARE THE SAME AS IN SPFFTR. IMPORTANT: N MUST BE A POWER */
/* OF 2 AND X MUST BE DIMENSIONED X(0:N+1) (REAL ARRAY, NOT COMPLEX). */
/* THIS ROUTINE TRANSFORMS THE OUTPUT OF SPFFTR BACK INTO THE INPUT, */
/* SCALED BY N. COMPUTATION IS IN PLACE, AS IN SPFFTR. */

//逆FFT變換函數
void spiftr(complex *x, long *n)
{
long m, tmp_int;
complex u, tmp_complex, tmp;
float tpn, tmp_float;

tpn = (float) (2.0 * M_PI / (double) *n);

for (m = 0 ; m <= (*n / 4) ; ++m)
{
u.r = (float) sin((double) m * tpn);
u.i = (float) -cos((double) m * tpn);

r_cnjg(&tmp_complex, &x[*n / 2 - m]);

tmp.r = ((1.0 + u.r) * x[m].r - u.i * x[m].i)
+ ((1.0 - u.r) * tmp_complex.r - -u.i * tmp_complex.i);
tmp.i = ((1.0 + u.r) * x[m].i + u.i * x[m].r)
+ ((1.0 - u.r) * tmp_complex.i + -u.i * tmp_complex.r);

r_cnjg(&tmp_complex, &x[*n / 2 - m]);

tmp_float = ((1.0 - u.r) * x[m].r - -u.i * x[m].i)
+ ((1.0 + u.r) * tmp_complex.r - u.i * tmp_complex.i);
x[m].i = ((1.0 - u.r) * x[m].i + -u.i * x[m].r)
+ ((1.0 + u.r) * tmp_complex.i + u.i * tmp_complex.r);

x[m].r = tmp_float;

r_cnjg(&x[*n / 2 - m], &tmp);
}
tmp_int = *n / 2;

spfftc(x, &tmp_int, &pos_i1);

return;
} /* spiftr *

void r_cnjg(complex *r, complex *z)
{
r->r = z->r;
r->i = -z->i;
}

『捌』 如何用C語言計算公式

C語言計算公式通常需要#include math.h的數學庫

『玖』 C語言 如何調用另一個程序的計算結果急!!!!!

這種返回結果不能獲得的,除非使用動態連接庫dll,要想通過exe獲得結果,需要將第一個程序的返回結果改為輸出結果:

#include"stdio.h"
floatmain()
{
floatt=100.5;
printf("%f",t);
return(t);
}

然後再第二個人程序中將輸出重定向到一個文件,然後從文件中讀入:
system("H1.exe >data.txt");


然後再從文件中讀出結果(讀文件代碼很多,可網上找)

『拾』 用c語言計算等式

#include
main()
{
int a,b,c;
for(a=0;a<9;a++)
for(b=0;b<9;b++)
for(c=0;c<9;c++)
{
if((100*a+10*b+c + 100*c+10*b+a) == 1333)
printf("a:%d,b:%d,c:%d\n",a,b,c);
}
}
原理就是窮舉,不過要注意的是100*a+10*b+c這種表示方式代表的是a百b十c,在很多地方都有用。程序我剛試過了~肯定沒問題,一共有4組答案,樓長看我上班呢還給你寫程序給個最佳答案吧~