1樓:anita_軒
while(1)
你這裡輸入的是%d 所以輸入數字是正常進入了if();字元就進入了else()
因為你if後面是加了break,所以能正常跳出while(1)這個死迴圈,而else你是沒有加上break的,所以是一直在while(1)死迴圈。
2樓:匿名使用者
因為你定義輸入的是%d的形式,也就是整形,所以你輸入字元型的時候,計算機會將字元轉換成ascii值,這樣你輸入的一直是錯誤的 》。結果會一直出現"非法輸入。
求教一道c語言題目
3樓:網友
c語言中宣告陣列時,一定要顯式的指明陣列長度,所以陣列長度是個常數,int a[n]這種宣告法是明顯錯誤的。你可以看到,n最大值是10,那麼直接宣告乙個int a[10]就可以了。
另外,你的交換演算法也還有問題,修改如下,//註釋並且修改:
#include
int main(void)
//temp2=a[n-1];
a[n-1]=a[index2];/a[index2]=a[n-1];
a[index2]=temp2;
}return 0;}
4樓:匿名使用者
修正後的**:(注意有註釋的地方)
int main()
temp2=a[n-1];
a[n-1]=a[index2]; 這裡有修改,你原本的**寫反了。
a[index2]=temp2;
for(i=0;ireturn 0;
}另外,在計算出哪個元素是最小值時,就應該立刻和第乙個元素進行互換,而不能在互換前去搜尋最大值,因為有可能第乙個元素就是最大值。
求教一道c語言題目!
5樓:匿名使用者
y的取值:每項取值都是-1~+1範圍,四項和假設為-4~+4,由於y是橫座標,72/2=36,y值0值位於第36字元,對應某y值,需要在y/4*36+36=y*9+36這個位置列印函式值。
x的取值:0~720度,需要轉換為弧度制再呼叫三角函式,為利於觀察取間隔10度。
如果想繪製y=0的座標軸,需要確認遮擋關係:當函式值落在座標軸時,不畫座標軸。
#include
#include
#define bl 10 //間隔10度繪製一點#define pi
void main()
if ( i==35 &&b==0 )
if ( b==0 ) printf(" printf(""
求教一道c語言的題目 感激不盡
各位大神,求教一道c語言題目,謝謝了
6樓:左冷禪
#include
#include
int main()
/*e) program to determine the largest of three integers
*/int first = 10, second = 20, third = 6;
int largestofall = first;
if (largestofall < second)
if (largestofall < third)
/*f) scanf( 「d」 ,aninteger );
*/int aninteger;
scanf("%d", aninteger);
/*g) printf( 「remainder of %d devided by %d is 」,x, y, x%y );
*/printf("remainder of %d devided by %d is %d", x, y, x%y);
/*if ( x=y); 判斷相等)
printf( %d is equal to %d」, x, y, )
*/if (x ==y); 判斷相等)
printf("%d is equal to %d", x, y);
/*i) printf( 「the sum is %d,」 x y);
*/printf( "the sum is %d", x, y);
*/printf( "the value you entered is: %d", value );
return 0;
}總結一下上面**段存在的問題:scanf傳遞的應該是變數的位址,printf列印的是變數,scanf和printf前面的格式化字串都應該用英文引號而不是中文,printf格式化字串裡的佔位符數量和格式化字串後面的引數個數相同,否則會出現錯誤。c語言的所有標點符號都是英文的。
判斷相等用兩個等於號==,賦值操作左邊的是要被賦值的變數,右邊是計算的結果。
求教!一道c語言題目。
7樓:匿名使用者
你主函式裡m肯定還是1,func函式中的靜態變數應該是8了吧。你檢視變數值的位置是什麼樣的,如果在主函式裡檢視肯定是主函式中的m,即為1,因為發生作用域覆蓋了。你是第二次進入func後設定斷點,檢視m數值的可定為8。
由程式執行結果為8(此時i=3,m=3+1+4,因此返回值為8),17(此時i=3+8(m第二次執行值)+1,m=12+1+4=17,因此返回值為17)也可以看出來。
8樓:
邏輯錯誤。比如輸入25——
第一遍迴圈結果是top=0,bottom=6,mid=3;
第二遍迴圈結果是top=0,bottom=2(要找的數就在這個位置),mid=1;
第三遍迴圈時就沒有乙個分支是滿足條件的,進入了死迴圈……一宗邏輯錯誤的**再考察它的輸出結果是無意義的,考察也是很困難的。
9樓:網友
函式呼叫是不能改變實參的值得如果想要,可以將m定義為 static int m;
或者定義乙個指標用來傳遞引數。
10樓:網友
m是形式引數,第一次呼叫fun的時候,並不能改變m的資料雖然你在func 中將m定義為static,但這僅保證了在func函式內部m的資料僅被初始化一次。
但這裡定義的m和main()中定義的m是單獨的兩個變數你去看看變數的作用域的介紹和函式引數的介紹就知道了。
求教一道初級的c語言題目
11樓:匿名使用者
#include
void main()
//用scanf_s的原因是vs的警告哈。scanf可以的。所以。
12樓:____年華里
c語言經典100題裡面的題目,我就直接複製吧。
#include""
main()
求教一道c語言題
13樓:
c3=(是int型,只接收整數部分,也不做四捨五入)。
求教!一道C語言題目,求教一道C語言的題目!
你主函式裡m肯定還是1,func函式中的靜態變數應該是8了吧。你檢視變數值的位置是什麼樣的,如果在主函式裡檢視肯定是主函式中的m,即為1,因為發生作用域覆蓋了。你是第二次進入func後設定斷點,檢視m數值的可定為8。由程式執行結果為8 此時i 3,m 3 1 4,因此返回值為8 17 此時i 3 8...
一道c語言題目,一道C語言題目
include include 標頭檔案 include 標頭檔案 int main int a 111 b 100 c 111 n,m,k 0,t,l 0,s scanf d d n,m srand unsigned time null srand 就是給rand 提供種子 for int i 0...
求教一道題目,求教老司機們一道題目
c語言經典100題裡面的題目,我就直接複製吧。include main 求教老司機們一道題目 分析流程 由上文可見能載以上人和物品的老司機考過a1或a3證的,能考a1證 大型載客汽車 的條件是 a3,b1,b2五年以上駕齡或者a2兩年以上駕齡 五年內無滿分記錄,年齡26 50周歲。能考a3證 城市公...