C語言字元陣列編寫數相加出現問題,求助!

2024-12-27 20:50:10 字數 1968 閱讀 1311

1樓:藝燊

增加一句:#include""

#include""

void main(),b[100]=,sum[101]=,len1,len2,max;

int r,y,x,i;

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

len1=strlen(a);

len2=strlen(b);

max=len1>len2?len1:len2;

strrev(a);

strrev(b);

for(i=0;i=len1)a[i]='0';

if(i>=len2)b[i]='0';

r=a[i]+b[i]-'0'-'0';

y=r%10;

x=r/10;

sum[i]+=y+'0';

if(sum[i]>'9') 我增加的。

sum[i+1]+=x+0;

if(sum[i-1]>'9'){

sum[i-1]=(sum[i-1]-'0')%10+'0';

sum[i]='1';

else if(sum[i]!=0)sum[i]+=0';

strrev(sum);

printf("%s",sum);

2樓:公文小哥

for函式之前先判斷一下是否大於100 在決定是否處以100還是10

為什麼這道c語言的關於字元陣列的題我做錯了?高手幫忙看下~~

3樓:網友

//第一,「n位置的開始處」這個說法很不準確,我的理解是:如果n位置是字元'x',那麼插入字元後為:xbbbb(設"bbbb"為插入的字元)

按照你介紹,加上空格這個字元,'o'前面的位置應該是9

第二,你的字串太小了,如果str1裡的字元為12個,str2裡的字元10個,這樣插入的話很容易就溢位。

第三,插入的方法不對。

#include

int main()

for(i=0;i<100;i++)//計算str2裡的字元數。

還有其他的情況例如字元數過多(str1用了80個,str2有30個)等待情況都可以通過這兩個記錄來進行判斷,就不贅述了。

if(n<=0||n>size1)//判斷條件"n<=0||n>20"也不對,在n=18處插入乙個大小為4的字串是不行的。

我用這個判斷插入點是否在str1的那些字元內,自己定的,好像你沒這個要求。

while(n<=0||n>size1);

* while(str1[i]!=str1[k])

i++;while(str1[i++]=str2[j++]='\0')

puts(str1);

你的這個實現插入的語句有問題,在插入的時候,要先找到插入點,將str1的插入點之後的字元往後挪,以空處size2個長度來存放str2的字元。

for(i=size1+size2-1;i>n;i--)//後挪。

str1[i]=str1[i-size2];//ok

for(i=n;i//ok

puts(str1);

return 0;}

4樓:網友

錯誤在倒數第五行:

while(str1[i++]=str2[j++]='\0')應該為while((str1[i++]=str2[j++]='\0')

請原諒我為了明顯使用了全形括號。

不等號(!=)的優先順序大於賦值號(=),所以你那一句實際上是while(str1[i++]=(str2[j++]='\0'))

str1裡不是1就是0,怎麼可能對。。。

儘量不要再邏輯表示式中使用賦值號(=),很容易出錯,要格外小心。

5樓:網友

有問題先檢查一下,你能告訴我你那個k是什麼麼?沒有賦值過。

6樓:無影之牆

k沒賦值,輸入的n沒用到。

C語言問題,指標,字元陣列方面的

strcpy str 1,p1 2 後,str從abcdefg變成acde。注意,這裡fg就沒有了,因為strcpy將第二引數的字串拷貝到第一引數後,會在最後加上 0 strcpy str 3,p2 3 後,str從acde變成acd45 strcpy str 1,p1 2 的時候,str 從 b ...

c語言中關於字元陣列和字串的區別

陣列的長來度是固定的,源我們知道在哪個地方結束。對於c型別的字串,要想知道在那個地方結束的話,我們只需要檢測某個位置的字串是不是 0就行了,也就是說c型別的字串是以 0標記結束的。所以字元陣列和c型別字串的區別就是那個 0。其實從字元陣列和c型別字串的儲存位置上來說也是不同的,這也算是一個區別吧。結...

C語言,編寫函式,函式是用選擇排序法將陣列排序

px 10 改為 px a 編寫函式,使用選擇排序法對陣列進行排序 用c語言 include include include int main void if i tmp for i 0 i 10 i printf 3d a i printf n return 0 隨機產生陣列中的元素,更合理一些。...