本文目錄一覽:
- 1、c語言這題老是不對。
- 2、c語言題目鋪地毯,為什麼我的不對?急。
- 3、C語言,這道題我寫的哪裡不對?
- 4、我的這個關於c語言的題不對,幫忙看看
- 5、C語言題目,為什麼我的程序不對啊
- 6、C語言的題目,我怎麼做都不對,求教高手啊!!
c語言這題老是不對。
void fun(int *shu , int *t0);
這個不用定義指針,沒必要,直接定義
void fun(int shu , int t0);
就可以
fun(int shu,int t0)
{
char a[100000];
int flag=0;
int i=0,j;
if(shu0)
{
shu=abs(shu);
flag=1; //flag標記shu是否為正數,正數為0負數為1
}
while(shu) //取出各個位
{
a[i]=shu%t0; //取餘數
shu/=t0;
i++;
}
for(j=0;ji;j++) //轉換為字符串,i就是轉換的長度
if(a[i]10) //小於10的轉換為0~9的ascii
a[i]+=48;
else //否則轉換為A~F
a[i]+=55;
if(flag==1) //這裡是看是否為負數,是負數加上一個負號,長度再加一位
{
a[i]=’-‘;
i++;
}
a[i]=’\0′;
strrev(a); //兩個函數就是反序和輸出,要是不讓用,可以寫代碼
puts(a); //其實很簡單就可以實現,反序用for循環一半交換,輸出用循環輸出就可以
}
c語言題目鋪地毯,為什麼我的不對?急。
程序沒有錯。
可能的問題是:不清楚地毯鋪設的最大坐標。若是超過了1999,你的程序就數組越界了。
第二,這程序的時間複雜度稍大了些。
可以把這些數據放入一個4*n的二維數組中,全部讀入數據後,從n往回檢查,若坐標位於一個地毯的覆蓋範圍之內,就結束查找,輸出該數據的編號;否則全部查找失敗後,仍未找到的則輸出-1。
C語言,這道題我寫的哪裡不對?
1、scanf用錯了,應該是scanf(“%c”,ch);
2、換行符\n的ascii是10,你寫ch=255那就是死循環了
3、按題目要求做就行了,沒必要去判斷不在這個範圍內的東西
4、c里字符和數字是可以自動轉換的,不需要你去記ascii碼
#includestdio.h
int main() {
char ch;
int a=0,n=0,b=0,t=0;
while((ch=getchar())!=’\n’) {
if(ch=’0′ ch=’9′) n++;
else if(ch=’a’ ch=’z’ || ch=’A’ ch=’Z’) a++;
else if(ch==’ ‘) b++;
else t++;
}
printf(“char:%d number:%d blank:%d other:%d”,a,n,b,t);
}
我的這個關於c語言的題不對,幫忙看看
合併雙鏈表是錯誤的!!!我給你理清思路,你自己去改!
你這的這條語句:r=(struct node*)malloc(sizeof(struct node *)*8);
效果是,在內存中開闢8個單元的空間,每個單元是(struct node *)類型
即:每個單元是一個指針,指向一個struct node 結構體。
而r是該開闢空間的首地址,也是第一個內存單元的指針。
所以,當你寫p=La-next ; r-next = p ;的時候
就是用了錯誤的內存,因為 r 本身就是一個指針,其本身沒有next指針
所以當它還沒有指向某個結構體的時候,r – next 是不存在的東西,是野指針。
你使用 r – next的的話,事實上是不知道操作了哪個結構體的next指針的。
如果你用 r = La-next 的話是可以的,那r – next 就是La-next-next了
即指向了La表中的第二個元素。
上述是語法錯誤。
再則,合併表的思路也是錯誤的。
假如,你讓 r 指向了La鏈表的第一個元素
OK,這是沒錯的。
按照你的想法,應該是繼續讓第二個單元的next指針指向Lb表的第一個元素.
然後依次 第三個單元指向La的第二個元素,四單元指向Lb的第二元素…………
* 但是 *重點:r = r-next 操作之後,r指向的是開闢的8空間中得第二個內存單元嗎?
NO,當你使 r = La -next 之後,r-next 指向的是la-next-next了
即是La表的第二個元素,而不是第二個內存單元。
所以其實後面你寫的r = r-next 操作的不是r[1],是La表。
懂了么?所以你上面的寫發是達不到目的的。內存很複雜,學習需細心。
C語言題目,為什麼我的程序不對啊
是學校的系統吧,看起來應該不是acm,學校最煩的一點就是輸出格式的問題,或者也有可能他用多種數組來測試你這個程序,對於其他數組你的程序不匹配
C語言的題目,我怎麼做都不對,求教高手啊!!
#include stdio.h
int main()
{
int score,sum=0,i=0;
double d;
while(scanf(“%d”,score)!=EOF)//這個EOF的用法,你可以自己查資料了解一下
{ //scanf(“%d”, score);
if(-1 == score){//當輸入-1的時候停止
break;
}
else
{
sum+=score;
i++;
d=sum/i;
}
}
if(i==0) printf(“0\n”);//如果僅輸入了-1,則輸出0
else printf(“%.1f\n”, d);//得到計算的平均數的值
return 0;
}
原創文章,作者:IIZXF,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/315725.html