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 因為有一個等於的符號 所...