c語言程式不知道哪錯了求解,一個C語言程式不知道哪錯了求解

2021-03-22 03:09:15 字數 4386 閱讀 7271

1樓:匿名使用者

#include

#include

int main()//

2樓:馮虛御風

你想開方嗎?

將c=squrt(a*a+b*b);改為:

c=sqrt(a*a+b*b);試試

3樓:

c=squrt(a*a+b*b); 這句中的函式名寫錯了。求平方根的函式應該是sqr吧。

4樓:葉雪渡夜

3)'squrt' : undeclared identifier。。。單詞寫錯啦。多了個u

然後這麼一改問題四就不存在了

5樓:匿名使用者

初學c語言吧?您的程式**本身沒有什麼錯誤。這個錯誤應該是由於缺少.

h標頭檔案對應的.lib導致的。這通常是由於編譯器的配置引發的,沒有能給編譯器提供.

h與.lib的正確位置,會導致此類問題發生。

建議你用turbo c學習c語言,通常的教材也大多基於這個軟體進行教學的。當然,除此以外,也還有其他的一些c語言工具。visual c++本身主要用於windows平臺下的c++程式開發,就學習c語言而言,它太大,也太複雜了。

6樓:絕情—離慶

#include

#include

main()

一個c語言程式的修改。不知道錯在哪了。

7樓:風之岸

e:\xp\shiyan.cpp(7) : error c2632: 'long' followed by 'long' is illegal

第7行 錯誤,重複關鍵字了

正確應是 long d = 100000000000;

8樓:匿名使用者

vc的編譯器不認識型別 「long long」 ,vc裡應該是int64

9樓:五雷轟頂的雷神

因為vc++6.0的編譯器並不是很符合c++11的標準,建議下一個mingw

一個c語言程式,有問題,但是怎麼檢查都不知道錯在**?

10樓:

你的程式的問題在這裡:

for(i=0;i=9)

假設game[0][0] = 9

那麼game[i-1][j-1]++;

game[i-1][j]++;

game[i-1][j+1]++;

game[i][j-1]++;

這些陣列的下標都是無效的,會出現陣列越界的問題。

你應該要判斷i,j是否大於0,即你的雷是不是在9x9方格的邊線上。否則程式就出錯了。

11樓:卡斌尖傀

你隨機生成的數應該存到陣列裡面,定義陣列a陣列b應該是a[i]=rand()%100,b[i]=rand()%100,還有 game[i-1][j-1]++;

game[i-1][j]++;

game[i-1][j+1]++;

game[i][j-1]++;

game[i][j+1]++;

game[i+1][j-1]++;

game[i+1][j]++;

game[i+1][j+1]++;越界

一個我不會的c語言程式,不知道錯在哪?

12樓:匿名使用者

for(i=0;i<=10;i++)

scanf("%d",&a[i]);

陣列超界了,你的程式通過這個迴圈,放了11個資料。執行肯定是會也錯的。改一下,再從重除錯。

13樓:匿名使用者

這個程式

唉,不應該叫程式,就是一堆機械的函式的簡單組合,我把字面上的錯誤找了一下,希望有所幫助。

#include

#include

#include

void chazhao()

if(flag==0)

printf("not found!\n");

}void mcopy(char*s,int m)void fuzhi()

struct student

stu[10];

void paixu()

for(i=0;i<=10;i++)//改為i<=9for(i=0;i<=9;i++)

for(i=0;i<=10;i++)//<=9fprintf("fp after score:\n%d,%s,%.2f\n"stu[i],id,stu[i],name,

stu[i],score);//注意逗號,此句應改為fprintf(fp,"after score:\n%d,%s,%.2f\n",stu[i],id,stu[i],name,stu[i],score);

if(fclose(fp))

}void main()}}

c語言程式不知道哪錯了

14樓:匿名使用者

不能這樣賦值。

你可以#include"stdio.h"

struct student

s[2]=,};

int main()

另外 注意只有2個元素。

15樓:匿名使用者

你新建了s[2],然後這兩個陣列元素應該是s[0]和s[1]啊,不是s[1]和s[2]。

後面for迴圈y也應該是i < 2。

看了樓下回答我想說說我的想法:

首先《**簡潔之道》推薦的寫法是把結構體的定義與宣告放在一起寫,因為這樣能迅速定位結構體成員的元素;其次,主函式不是一定要寫return 0;的,即使不寫,程式會自動返回0給作業系統,只有主函式可以這樣,寫上return 0;只是為了讓**格式統一;最後,由於c語言裡,int main()表示對引數形式預設(可以是void,也可以是int argc, char * argv),而且學習物件導向程式語言之後,你會發現對引數預設更好,所以建議還是寫int main()。

你的**應該是:

#include

struct student

s[2] =, };

int main()

其中,只要讀入成功就會列印「succeeded.」,就不用for迴圈檢查元素了。

16樓:匿名使用者

第一個:結構體定義與申明建議不要寫一起。

第二個:結構體的初始化,注意型別。int num型別初始化成字串,char name初始化成字串。

第三個:陣列的下標從0開始引用。

第四個:主函式沒有返回或呼叫exit(0)第五個:struct結構初始化錯誤;

第六個:scanf,可變引數要傳地址

正確的寫法如下:

#include /*標準庫的標頭檔案必須這麼寫,帶雙引號的是自己定義的標頭檔案*/

#include /*可以使用exit()函式*//*語言中儘量不要使用幻數,看不出代表什麼內容,因此*/#define bufsize 2

struct student ;

/*主函式或入口函式推薦這樣寫*/

int main(void) ,};

for(i=0;i < bufsize; i++) \n",i,

std[i].num,

std[i].name,

std[i].grade);}

/*0代表未出錯返回,下面兩種方式二選其一*/exit(0);

/*return 0;*/}

兩個c語言程式,不知道錯在哪

17樓:匿名使用者

1)printf("%d",n)後面要加分號

2)str(int a[10]); 呼叫函式時括號內不用加int,應為:str(a);

兩個還有同樣的錯誤scanf("%d",a[i]); 加&,&為取地址符,應為為:scanf("%d",&a[i]);

18樓:匿名使用者

第一個:語法錯誤在第三行,

因為你第二行少寫了分號。

第二個:語法錯誤在第七行,因為你這一行應該寫成str(a);

如果說想用錯誤語法但編譯卻能夠通過,所有編譯軟體都不是很好用,如果是想找一個符合ansi c語法的編譯器,推薦用gcc。

19樓:匿名使用者

修改後的第

一個程式

#include"stdio.h"

int fine(int str);

void fir(int b[10],int i);

void main( )

fine(int str[10])

求中位數的一個c語言程式,不知道自己錯在**,求指出

C語言編寫程式計算C語言編寫一個程式計算。。。

親,你的程式迴圈copy永遠不會停止 bai此句for i 1 fabs 1 i i 1 1e 6 i i永遠大於0 所以不會停du止 所以沒輸出入 沒錯zhi誤計算機只能計算有限的數值,這dao種無限逼近型的不能用這種方法算的 fabs 1 i i 1 有錯誤,bai 1 i i 1 1 i i ...

c語言新手。求程式設計序,c語言新手。求編一個程式。

include include include define n 52 牌張總數 define m 13 每花色張數 char hs 4 花色陣列 梅花 紅心 方塊 黑桃字元對應的ascii碼 char hx 對應11,12,13,14共四張大於10的牌符號 生成順序撲克牌陣列 1 52,梅花1 1...

編寫c語言程式要求用結構體,編寫一個C語言程式,要求用結構體。

我給你寫一個 先給你寫一部分吧 include include typedef struct lnode lnode void createlnode int student number void sort main structstudent n 參賽學生總數,每人一個檔案 陣列 unsigne...