⑴ c語言填空題
ascii表裡英文字母都是順序排列的,同時,它們也可以用對應的ascii值作加減運算。比如,'a' +1 = 'b','a' + 2 ='c'。現在你就可以用手指頭來數數'f' - 'a' + 1等於幾,再把它加到'A',結果就出來了。當然,這個方法適合幼兒,我們的智商相對高一點,知道g和a的間隔等於G到A的間隔,心算就可以得到正確的答案了
⑵ 這個c語言的題的思路是什麼,看不懂
意思是要想辦法在沙漠中點(500km)處建立一個存有500L的油庫,當吉普車能到達500km處時可以加滿油跨越沙漠。油庫中的油需要用該吉普車運送,所以必須在中間再建立若干個小油庫,才能撐到中心油庫。
起點處可以無限次加油,當然用油量不能超500L.
如下圖所示:
d=250時,Csum無解,因為往返一趟油全用光,不可能運輸。
最優解法可以找出來(假定間隔必須為整數km)否則間隔會無窮地小。追問了我才嘗試求最優解。
⑶ C語言一條簡單的題目,
你是沒有分清傳址和傳值的區別。
void f(int v,int w)
{int t;
t=v;v=w;w=t;
}
對於這個函數,在main函數中進行 f(x,y)的調用後,只是將x,y的值分別賦給v,w,
然後在函數體中,將變數v,w的值進行了交換,這並不會影響x,y的值。
所以在進行了下列調用後:
if(x>y) f(x,y);
else if (y>z) f(y,z);
else f(x,z);
x,y,z的值不會有任何變化,仍然是1,3,2
再給你一個傳址的情況,你比較一下:
#include<stdio.h>
void f(int *v,int *w)
{int t;
t=*v;*v=*w;*w=t;
}
main()
{int x=1,y=3,z=2;
if(x>y) f(&x,&y);
else if (y>z) f(&y,&z);
else f(&x,&z);
printf("%d,%d,%d\n",x,y,z);}
上面這個程序輸出的是1,2,3,
因為是將x,y,z的地址傳遞給函數f,
所以v,w是指向這些地址的指針,對於*v,*w的操作將直接影響其所指向的地址中的值。所以x,y,z的值也就被改變了。
⑷ 一個C語言編程題
結果是j=18,。這要考慮到運算符的優先順序!因為()的優先順序高,所以兩個括弧里的++i先運行,第一次結果++i=8,到第二個括弧里++i=9,然後再把9+9=18。
⑸ C語言,這倆題的區別在哪裡各怎麼做
前者會循環99次, I 1~ 99;
後者肯定少於99次, X 1 ~99; !注意幾個if。
至於運行結果最後編譯一遍,太多了,心算的話,觀察,變數i和x的遞增,也能列出來
⑹ C語言 這是一個很簡單的題目,給定2個整數A和B,請輸出A+B的和。
#include
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d ",a+b);
return 0;
}
(6)c語言心算練習題擴展閱讀:
利用C語言編寫一個求兩數相加的和的編程思想和方法如下:
1、首先需要定義三個變數a,b,c,兩個為相加的數,第三個為相加後得到的和。
2、然後使用scanf()語句接收從鍵盤輸入的兩個數,為變數a,b賦值。
3、接著進行a和b的加法運算,將結果賦值給變數c。
4、最後使用printf()語句將計算結果顯示在屏幕上。
5、代碼編寫完畢後,點擊運行後即可在調試窗口看到程序的運行結果。
C語言中任意輸入兩數求和
main()
{doublea,b,sum=0;
printf("請輸入兩個實數:");
scanf("%f%f",&a,&b);
sum=a+b;
printf("%f
",sum);
}
⑺ c語言一個怪題
********************* 讓我試著--為此題13揭秘 *********************
首先,我聲明一點,我的WINDOWS操作系統,昨天誤刪除了幾個系統文件,只能拿LINUX自帶的GCC運行了。
在運行之前,我心算了一下,結果是 13。
****************************
運算的順序是這樣的:(關鍵處看不懂,可以先看後面的對x=(++a)+(++a)的講解!)
b=(++a)+(++a)+(++a)
b=((++a)+(++a))+(++a)//首先,根據+號的自左向右,系統要處理是第一個+號
b=(a+(++a))+(++a)//然後,處理+號左邊表達式,這時,a==3,這里的a=3,只是讓你看到是個變數a
b=(a+a)+(++a)//接下來,處理完了+號右邊表達式,a==4,注意:左邊的值是3
b=((a=4)+(a=4))+(++a)//+號兩邊的表達式處理完後,獲取左邊的變數a,由於上一步後,a==4,所以左邊的a的值也是4了(這一點,難理解,一會我們在再舉例!),兩邊的a都等於4。
b=8+(++a)//上一步,這里a==4
b=8+a// 這里a==5
b=8+5
b=13
值得注意的是:13 ,這個結果不是很好理解!!!我們一般認為是12。
問題的關鍵出在:
x=(++a)+(++a),運行後x 的值是多少。 是「 8 」。我再些一次過程!!!
x=(++a)+(++a)//系統獲取+號運算
x=(a)+(++a)//進行+號"左"邊表達式的運算,即進行a=a+1,這一步兩個都a==3
x=(a)+(a)//進行+號"右"邊表達式的運算,注意:這時,左a==3,右a==4
x=4+4//現在獲取左邊變數a的值,a==?? 你可能說是3,不!!是4,進行右邊表達式運算後,a==4,所有當獲取左邊變數a的值時,a已經變為4了。
x=8.
**********************************
到此,希望你能理解,為什麼「(++a)+(++a)+(++a)==13」和「(++a)+(++a)==8」。
**********************************
注意:經過 (++a)+(++a)後,8這個結果並不保存在a了。所以當第三個++a後,(++a)+(++a)+(++a)==13,另外,3個(++a)兩個+號,現求完一個在求另外一個!!!
現在,你來說說:
(a=2)+(a++)==?? //5 這又引出了另外的問題,不詳細說了
a=2;a+(a++)==?? //6
a=2;(++a)+a==?? //6
你算對了嗎?????????
最後,給出驗證程序!!! 如果不相信,你就GCC(可能VC++6.0也可以)運行一下吧!!!
#include"stdio.h"
int main()
{
int a=2;
int b=(++a)+(++a)+(++a);
printf("(++a)+(++a)+(++a)==%d\n",b);//13
a=2;
b=(++a)+a;
printf("(++a)+a==%d\n",b);//6
a=2;
b=a+(++a);
printf("a+(++a)%d\n",b);//6
a=2;
b=(++a)+(++a);
printf("(++a)+(++a)==%d\n",b);//8
return 0;
}
但是在不同的平台下,都+號兩邊表達式的運算實現,可能不一樣。會有不同結果。
還有在同一平台下,對加號同邊不同表達式的處理,也可能不一樣。例如:(a=2)+(++a)==5 和 a+(++a)==6
希望以上的分析能幫到你。
****************************************************************************************
*************************************** 最後,給出結論 *********************
****************************************************************************************
一、「ANSI C++標准」對於表達式的求值順序,並無統一的規定。在求一般表達式時不會發生歧義,而在求解含++和--運算時會出現歧義,在不同的系統中可能得到不同的結果。
如:(對於本例)
GCC/VC++6.0 : b==4+4+5==13 (a==5)
TC3.0/JAVA: b==3+4+5==12 (a==5)
TC2.0 : b==5+5+5==15 (a==5)
還有其他的一些C++系統是這樣處理的:b==4+4+4=12 (a==4)
二,應該盡量避免出現這種歧義。大多數專家和專業人員都已充分認識到自增運算(++)和自減運算(--)的副作用對程序設計的危害性,主張不要過多地依賴使用++和——運算符的技巧,要遵循安全第一,易於理解的原則。
因此,應該盡量避免同一個表達式里,相同的變數(如:a)在運算時取不同的值。
舉例:(對於本例)
如果你希望最後,表達式的結果為 12 ,同時a的結果為5,可寫成:
a=2;
x=++a;
y=++a;
z=++a;
b=x+y+z;
****************************************************************************************
************ 最後只能說,出此題的人沒有意識到這個問題,根本沒在多平台下運行 ***********
****************************************************************************************
⑻ C語言程序設計:小學生心算CAI系統
樓主去那些網站花錢找人做吧
⑼ C語言程序設計 小學生心算系統的設計與實現
在網路知道里要做這些的話是不可能的。還是自己找個付費的網站讓人家幫忙做吧