1樓:網友
可能我對程式設計不太熟悉看不太懂你的程式。
我根據你的要求編了乙個你看下有沒幫助。
#include
#include
int lenstr(char s[100]) //計算字串長度。
return(i);
main()
o='\0';
strcmp(s1,s3);
k=strcmp(s1,s3);//---
while(k==0) //如果判斷是的話用s2的字串。
p++;printf("新的字串s為:%s",s);
s3字串是另外1個字串,當判斷s1和s有相同的字元時,把s中與s1相比較的字元放進s3中,再用strcmp比較s1和s3字串是否相等。
即s為samuel時,s1為aer,把s中的amu放到s3中再比較s1和s3兩個字串是否相信。
c語言問題,為什麼答案是3,怎麼都想不通。
2樓:網友
求k的值為多少時,答案為3),這個問題好亂呀。
很久沒用過c語言了。
c語言問題。。想了很久的題目。實在想不通。。若給我**太麻煩。。麻煩和我簡單講講演算法。謝謝
3樓:風若遠去何人留
輸入輸出樣例裡面的分號 ,不確定是真會輸出,還是隻是分隔輸入輸出。
常見的應該沒有分號。輸入1+i 2輸出3+i
這個程式, 麻煩在於如何將輸入的資料,轉為複數。
可以先將輸入 存為兩個字串,對每個字串進行解析,轉為複數。
對於每個字串,先查詢是否存在i,這個很簡單,如果有,那麼一定是最後乙個。
如果不存在i,那麼虛部為0,將字串轉為實部即可。
如果存在i,那麼查詢是否存在+或者-,如果不存在,說明沒有實部,實部設定為0
如果存在只有-, 同時-為字串第乙個元素, 那麼一樣沒有實部。
如果存在+,或者存在不是首元素的-,說明同時有實部和虛部,區分兩部分,分別轉換。
轉換後,得到複數,簡單的相加,得到結果。
輸出時,一樣要判斷實部,虛部是否為0,然後再根據複數規則輸出。 這部分相對要簡單的多了。
4樓:網友
計算複數要先建立結構體,存放實部和虛部,輸出的時候要寫乙個函式把複數結構體轉成字串。
5樓:網友
輸入的是1個字串,先識別空格,把它分成2個小字串,然後再這2個小字串中識別i和加號,再分離出複數的實部和虛部。
c語言賦初值問題,憋死啦,想不懂,求教
6樓:網友
瞄了一眼這while(m),m要為0才能結束,可m = n, 那m為至少為10,m = m / 10 這m永遠不可能為0吧??
在外邊附值的話,第一次為1,0但是下邊執行後就變值了,你應該沒有把值再改回1和0,在下邊for裡邊附的話,每次重複都會重複地把k和s改回1和0
7樓:網友
能把**完整的發出來嗎?
賦初值後,需要輸出才行,如果定義時沒有賦初值,使用時也沒有賦值,不同編譯系統輸出不一樣,有的是亂數,有的不輸出。
上面的變數k,我沒看到任何的賦值,下面自然使用亂數或者空值。最後一幅圖,你那句話的意思是:5是否等於變數c,可變數c本身就是0,自然不等。
你可以在定義時賦值,但你寫的錯誤**,無論定義,還是使用,都沒有給它賦值。
8樓:不願相離
應該是你沒在註釋地方賦值的話,k值就是每次迴圈結果的乘積,可能超出了int型別的範圍,所以不正確,這只是我猜測的可能性,沒**執行,也不能直接判定。
建議貼**,要不真心不好說。
9樓:網友
不可能出現你說的問題。
關於一道c語言的題目很是想不通
10樓:鷹弈
flag? b[i]>b[j]: b[i]b[j],不執行第三句,此時為公升序排序;當flag = 0時,執行第三句b[i]
void f(int b,int n, int flag)int i, j, t;
for (i=0; ib[j]:b[i]main()
int a[10] = , i;
f(a, 10, 0);//降序。
for (i=0; i<10; i++)printf("%d ", a[i]);//列印。
printf("");//換行。
f(a, 10, 1);//公升序。
for (i=0; i<10; i++)printf("%d ",a[i]);//列印。
printf("");//換行。
11樓:網友
上面你建立了乙個陣列a,而陣列名代表陣列首元素的首位址,在你呼叫第乙個函式時,你傳遞的引數有&a[2],而此實參的意思是第二個位址,不是首位址,而你的第二個引數是5,故只能對第2個元素後的5個元素排序!而第二個函式呼叫傳遞的是陣列的首位址,但他也是對5個元素排序,即從第乙個元素開始數5個!
12樓:重小樓
f(&a[2],5,0)相當於對陣列a的第三個到第七個元素進行降序排列。
f(a,5,1)相當於對上面拍過序的陣列的第乙個到第五個元素進行公升序排列。
陣列b是形參,兩次呼叫它分別指向a陣列的第三個元素和第乙個元素的位址。
至於每次只排列五個,是因為你自己設定的n的緣故。
ps:陣列的下表是從0開始的,所以第三個元素就是a[2]
13樓:網友
明顯的死程式。
換個個數就出不來了。
按照他的方法 你在紙上畫畫就出來了!
打字說不清。
c語言問題!急!!
14樓:小笨狼隊長
/*c語言的話就用c語言帶的函式寫吧*/
現寫的,這裡不好自動縮排,將就看看吧*/#include
void main()}
如果不出意外的話,就去編譯下吧,我沒編譯環境,寢室有,但還沒上網了。。。
將就點吧,簡單c語言還能幫幫,c++正在學,和c比起來,確實比c複雜多了*/
修改後,自己加了縮排也沒用,只能靠自己慢慢看了!over!!*/
15樓:奇妙百貨鋪
int num1, num2,ct=0;
for(int i = 0; i <= 100; +i)}}
printf("0~100以內的奇數中十位數大於個位數的數%d",ct);
16樓:網友
上面的答案好像好實現了乙個條件,就是要是奇數,所以改一下就行了:
#include
main()
17樓:網友
x/10 表示十位數。
x%10 表示個位數。
這兩個數進行比較應該會了吧。
18樓:_鈊_煩_薏亂
不錯不錯,都是好孩子。。
初學微控制器c語言,最近有乙個關於流水燈的問題,一直想不通,原程式,如下1-1,燈依次從上往下逐個亮。
19樓:網友
p0 =~(1 <改為p0 = ~(0x80 >>j++)
你還需要繼續多讀書學習啊……
c語言 想不通的問題
20樓:網友
clen=lager(a[n],alen,b[n],blen,c[n]);
應該是clen=lager(a,alen,b,blen,c);
另外,你開始給a,b賦值時,下標都從1開始的,錯了。
c語言中選擇排序的乙個小問題,想不通
21樓:網友
if(array[j]而for迴圈體只包括到了if,所以迴圈體是for(j=i+1;jif(array[j]而後面三句只有在迴圈結束了才執行,那時j=n,j就不等於min了。
22樓:傑的記事本
啊。。那個迴圈就是為了找到 min。。。如果直接用j,那j就是等於n了。。。j只是迴圈。。。min是j中確定的乙個值。。
23樓:芋頭芹菜
你的外面還有一層迴圈,要用到min,如果直接用array[j]和array[i]換,那外面的min值怎麼辦,還是要賦值的。
24樓:網友
...那就成了副職,而不是調換!
C語言題,想不通
不是運算順序不同,而是不同編譯器對引數的計算順序不同就gcc而言,i,i i,i,首先計算這三個引數中的非直接數值,也就是先計算i i,相當於 i i,其結果為6,這時候i的值已經變為4了 執行了 運算 然後再分貝計算其他兩個i,也就是4了,所以輸出為4,6,4 而對於c free,這三個引數可以看...
很簡單的問題,我想不通
同感啊 我也經常是這樣的,看到他 都看不慣,做事做的沒水準,說話又讓人討厭.不見他很是高興.但是離開了又非常的掛念,這是愛在做怪,雖然他有很多優點,但是我們還是相愛了,愛就要給他包容,兩個世界的人走到一起不容易,我們都要好好珍惜.每個人都要自己的生活方式,和處理事情的做法,試著去為他考慮一下,或許會...
想不通的問題,高智商者來啊
應當是正在發生的事情,因為人的眼睛能看到五光年的距離!應該都很好理解,就像子彈擊中靶子是在槍發射之後 收信人收到信是在寄信人寄出信之後 我們聽見煙花 聲是在我們看見煙花 之後,都是由於傳播速度有限所致,同樣,我們看見光必定就是在光源發光之後,這也是肯定的。如果光從那邊跑過來需要5年時間,那麼我們現在...