求解一到關於c語言的問題,快考試了,哪位大神能給我詳細講一下

2021-03-23 03:02:51 字數 4857 閱讀 2204

1樓:

這道題的目的是:把給定字串中為「2」的冪數的數字字元取依次取出來,組合成一個整數進行輸出。注意以下幾點:

1、fun函式的作用是對引數x進行判斷,t在迴圈中以2的平方、2的3次方、2的4次方的形式進行增長,如果x與t相等,將flag置1,因為在c語言中非0值表示「真」,那麼通過fun函式返回的flag值,就知道引數x是否為2的n次方數了。

2、main函式中,傳遞的實參為」p[i]-'0'「,p[i]代表str1中的第i位上的字元,與字元'0'相減,得到的是p[i]字元所對應的整數。

3、s=s*10+(p[i]-'0'),就是將滿足條件的字元轉換成對應的整數,由高到低組成新的數字。也就是s=0*10+8.....s=8*10+4.......

s=84*10+2......s=842

2樓:寧靜の樂章

你答案不是寫出來了麼……

哪位大神幫我做下題,萬分感謝

3樓:依然依然

看著像是企業內部測試,這個範圍就太小了吧,你在這裡問恐怕效率不高,還是去找企業內的人比較好。

一道c語言指標問題,求大神解答。萬分感謝。

4樓:匿名使用者

#include

int main(int argc, char const *argv)

,,};// 初始

化二維陣列

int i,(*p)[4]=a,*q=a[0];//定義變數i//陣列指標p 初始化為二維陣列首地址

//一級指標q 初始化為二維陣列首元素地址for ( i = 0; i < 3; i++)//for迴圈,迴圈3次

for ( i = 0; i < 3; ++i)return 0;}

5樓:馮小氣氣

如果最後printf是printf("%d ",a[i][i])的話就可以這樣解釋:

1.二維陣列實際是3個一維陣列的結合a[0]= a[1]= a[2]=

2.(*p)[4]: *p指向的是a[0],*(p+1)指向的是a[1],*(p+2)指向的是a[2]

3.*q實際指向也是a[0][0]

4.第一個迴圈體中只有i==0時才有對陣列元素的操作,表示式實際為(*p)[0 + 0 /2] = (*q)+1,即是(*p)[0]=(*q)+1,也就是a[0][0]=a[0][0]+1,即a[0][0]=1+1=2

5.輸出的時候是第i行第i列元素,也就是a[0][0] a[1][1] a[2][2]

6樓:匿名使用者

第二,是否能產生安全感,來自多方面的因素,有主觀的和客觀的。這裡我們就主要談談

主觀方面。要讓對方產生安全感,首先要做的就是讓對方相信自己。讓對方相信自己這是一件不容易的事,你必須在言談舉止方面能夠體現出來,比如:

說話要算數,說得到做得到,做不到就不要亂承諾;經常給她說說心裡話,說說你的想法,經常問候和關心一下她的生活;無論多忙都不要不理她,經常給她一些驚喜;不要再對其它女孩太好,言談和行動上都一樣;願意為他改掉你的不良習慣。

7樓:匿名使用者

你的return四遍完全就是沒有任何用的,你已經定義了全域性變數了,不用return。問題在於你雖然敲擊了回車,但那並不會被輸入。所以你while迴圈可能會一直迴圈下去,直到碰巧碰到一個字元等於'\n'

#include

int l,n,b,o;

int count(char a)

}int main()

;printf("請輸入一句話:");

scanf("%s",str);

count(str);

printf("字母:%d\n數字:%d\n空格:%d\n其他字元:%d\n",l,n,b,o);

return 0;

8樓:匿名使用者

很多事都不是絕對的,不同的人有不同的做法。

9樓:匿名使用者

題目抄的都有問題……最後的 j 是從石頭縫裡蹦出來的?

10樓:韓稚生

1.二維陣列實際是3個一維陣列的結合a[0]= a[1]= a[2]=

2.(*p)[4]: *p指向的是a[0],*(p+1)指向的是a[1],*(p+2)指向的是a[2]

3.*q實際指向也是a[0][0]

4.第一個迴圈體中只有i==0時才有對陣列元素的操作,表示式實際為(*p)[0 + 0 /2] = (*q)+1,即是(*p)[0]=(*q)+1,也就是a[0][0]=a[0][0]+1,即a[0][0]=1+1=2

5.輸出的時候是第i行第i列元素,也就是a[0][0] a[1][1] a[2][2]

求教c語言大神!!!最好講一下理由,萬分感謝

11樓:匿名使用者

結果是cbade

原因如下:

首先,主函式只進行了一個fun操作,其他的就是定義和輸出,所以字串(或者說字元陣列)的調整完全由fun決定

fun中首先定義了x和y,因為s的長度是5,所以y = (strlen(s) - 1) / 2=(5-1)/2=2

因此:迴圈開始時,初始值是x=0,y=2,s="abcde",進入迴圈

第一次:0<2成立,可以進行,操作時交換了s[0]和s[2]的值,字串變成了"cbade",結束時執行x++和y--,執行後x=1,y=1

第二次:1<1不成立,迴圈直接結束

所以函式返回的字串為cbade

字元陣列傳遞的就是地址,所以不管變數的名字如何,操作的都是那一串

12樓:匿名使用者

輸出結果:cbade

由於字元陣列 a= "abcde"; 其中包括了abcde 5個字元外,還有一個結束符 '\0',

所以 strlen(s) = 6,

y=(strlen(s)-1)/2; 屬於整數除法運算,y=(6-1)/ 2=5/2=2

所以 for 迴圈了2次

第一次把 a[2]='c' 和 a[0]='a' 進行了交換

第二次條件不滿足,未改變陣列

其他位置字元未變,最後輸出結果就是cbade

13樓:匿名使用者

函式 fun 裡

x 指向 a

y 指向 c

然後 交換

迴圈一次 就結束了,因為 此時 x=y,退出迴圈最後結果 就是

cbade

關於c語言程式問題,求各位c語言愛好者和大神們相助,具體的請看補充問題!!萬分感謝!

14樓:匿名使用者

最簡單的方法就是用迴圈來寫 x y z分別迴圈然後判斷哪組符合約束條件取值最大

#include

int main()

printf("%lf\n",max);

}至於那個四個數和等於1的那個 就是在判斷是否最大的時候加一個約束條件 就是x+y+z+k是否等於一 等於就將值給max

我也是新手 只能用這種笨方法了 還有就是用數學只是 就是動態規劃 這個我不太會...

15樓:陽頂天鹿鼎記

我想你問的是x*0.2+y*0.5+z*0.6等於1,而不是最大值:

程式如下

#include

#include

#include

int main(int argc, char**argv)

16樓:杜細為

#include

double sum(double ,double,double);

int main() }

printf("%f\n",max);

}double sum(double a ,double b,double c)

17樓:匿名使用者

我想你問的是x*0.2+y*0.5+z*0.6等於1,而不是最大值

c語言的程式設計題 確實沒有分了 快考試了 希望大神們給力 好人一生平安

18樓:匿名使用者

一大堆呀 說真的 程式設計自己動手能力很重要 問題自己嘗試解決過嗎??

救命啊 c語言快考試了 麻煩哪位大俠看一下 幫個忙 我的考試複習題

19樓:匿名使用者

其實也不是很難啊!

第一題:main()

printf(「%d/n」,a)}

反正就這個意思,具體的由於我很久沒接觸有點忘記啦!下面的幾道什麼時候有空再給你做!!!

20樓:吃半個饅頭

我的媽呀,你期末考試啥比我們難 - -

你老師太牛b了。

21樓:匿名使用者

哈哈,北院的吧~~還是經管院的,我是會男,請問閣下是?

c語言的題目,請高手快來幫幫忙哈!要考試了啊,急呀!

22樓:匿名使用者

考試了才知道急

呵呵後悔吧

回去好好學習吧

這裡沒有考試題答案

23樓:hhp和尚

12.#include "stdio.h"

#define n 20

#include "string.h"

void main()

printf("%d\n",m>n? m:n);}

關於c語言的問題,求解答,關於C語言的問題,求解答!

1.d 識別符號不能以數字bai打du頭 2 d 一般c關鍵字在編譯器中zhi 會出現dao變成藍色,a不是而 define是,版b 中的printf只是一個輸出權函式,c是大寫的,不是,如果是int 就是,因為在c中,大小寫是敏感的 3 d d項轉譯成字元 4 a 0x20u的意思是無符號的16進...

求解啊,C語言的問題,求解啊, C語言的一個問題

表示式y x a b b c 中逗號運算子結合方式從左到右且括號最高,所以首先計算 x a b 表示式,得到x 5而且 x a b 的值為5,故原始可寫為y 5,b c 然後計算表示式 b c 得到表示式的值為10,故原表示式可以寫為y 5,10 而逗號表示式優先順序比賦值運算低,故先賦值,y 5,...

關於C語言指標的問題如圖,求解釋

這樣 bai理解不 int sss char s,char t 終止時 1 s 指向結尾,t 沒有到結尾,返回 s t 為正數 終止時 2 s 指向結尾,t 指向結尾,返回 s t 為 0 終止時 3 s 沒有到結尾,t 指向結尾,返回 s t 為負數 return s t 因為有一個等於的符號 所...