1樓:鬱_詩
//我寫了個沒有case的版本
//如果是acm的題目,那麼把有關提示的printf語句去掉即可,輸入輸出格式已嚴格控制
#include
int main()
;char str1_up[11] = ;
char str2[11] = ;
char str2_up[11] = ;
while(1)
flag_up = 1;
if(!n)
if(n < 0)
if(n/100)
else
n %= 100;
if(!n)
printf(" and ");
}if(n < 20)
else
continue;
}if(flag_up)
else
n %= 10;
if(!n)
printf(" %s\n", str1[n]);
}return 0;}
2樓:匿名使用者
邏輯很簡單,寫起來很麻煩,要寫一堆case,首先要取模用三個int保留每位上的數字,然後再除10,看能除幾次判斷一共有幾位。不同位數就三種情況,是否需要加hundread。if判斷,如果需要就直接輸出。
x hundread and,不加換行。
然後case十位,輸出十位的數字。
然後case個位。
因為百位和個位差不多,可以一起用乙個函式來做,不過裡面也是一堆case沒辦法,只是少做一次而已。十位寫法和其他的不同,沒辦法只能那麼寫唄。
邏輯很簡單,寫出來很麻煩,嗯。
3樓:扎俊
演算法:將0-9與英文one---nine作個對應表,用陣列也行,用case也行,
先將輸入的數字取出每位上的數字,根據位置判斷hundred還是xxty還是xxteen還是數字.到第二位時要連個位一起判斷.
4樓:匿名使用者
很簡單的程式,好好學習學習吧
c語言求助?
5樓:聽不清啊
在c的運算子中,關係運算子》,<,<=,>=的優先順序,高於關係運算子 ==, !=
而賦值運算子的優先順序就更低。
所以,printf("%d,%d\n",a>b==c,d=ab)==c,d=(ab為真,則(a>b)的值就是1,否則就是0,把這個結果(1或0),再跟c進行比較,若相等就輸出1,否則就輸出0。
後面,就是把(a
6樓:萍水e相逢
a>b==c 是表示式,值 a b比較大小,比較的結果 與c是否相等,最後結果 相等為1,否則就是0
d=a語句就是 輸出兩個結果
7樓:逆流
這一道c語言題主要的意思是列印出一串字元,然後對一串字元的要求就是,你所寫的大於小於之間的關係了鴨!
c語言 求助 20
8樓:自我程式設計
方法很多,最直接的方法是,在函式中定義乙個臨時陣列,然後2次迴圈,先將n往後的值存入新陣列,再將n之前的值存入陣列。最後把臨時陣列的值全部賦值給原陣列。
#include
void move(int arr,int len,int n);
int main()
int i,arr[5]=,n;
printf("請輸入n的值:"),scanf("%d",&n);
move(arr,5,n);
printf("陣列變為:");
for(i=0;i<5;i++)
printf("%d ",arr[i]);
return 0;
void move(int arr,int len,int n)int i,j,atemp[len];
if(n>=len)
printf("n值過大,陣列訪問越界!\n");
else
for(i=n,j=0;iatemp[j]=arr[i];
for(i=0;iatemp[j]=arr[i];
for(i=0;iarr[i]=atemp[i];
9樓:
該題c**如下:
#include
void move(int arr,int len,int n)}int main()
;move(a,5,2);
//顯示執行結果
for(i=0;i<5;i++) printf("%d ",a[i]);
return 0;
}如果是oj判分答題,需稍做修改,可追問。
10樓:我呀
#include
void move(int arr,int len,int n);
int main()
,n;printf("請輸入n的值:"),scanf("%d",&n);
move(arr,5,n);
printf("陣列變為:");
for(i=0;i<5;i++)
printf("%d ",arr[i]);
return 0;
}void move(int arr,int len,int n)for(i=0;i arr[i]=atemp[i];} c語言求助求助求助 11樓:丿艾瑞灬莉婭 // 求x所有因子之和 int fun1(int x) // 求分數序列之和 float fun2(int n) while(b <= n); return sum;} 12樓:匿名使用者 因為不會用英文,所以提示都是用中文,可以改成英文提示。 #include int main(void) else if(i) else printf(" 正整數 %u 是素數\n",num); printf("\n 請輸入乙個正整數:"); }return 0;} c語言求助! 13樓:聽不清啊 請將程式作如下修改後,再重新編譯試試? 14樓: 你那個對漢字的判定條件不對…… 將if (int(*(str+i)) < 0) 改為if (*(str+i) > 0xa0) 求助c語言「求5!」要**~~ 15樓:匿名使用者 #include #define n 5 int main() printf("%d\n",a); return 0; }我寫了乙個給你,演算法簡單,結果正確,樓主也可自己隨意更改。 僅供參考! 16樓:匿名使用者 我用 遞迴演算法給你寫乙個好了,這樣以後遇到 n!的題目可以拓展一下#include int fac(int i); int main() int fac(int i) 17樓:江流的光頭 #include int main() 以上**通過gcc編譯通過。 18樓:匿名使用者 #include int main() c語言程式設計求助 19樓:匿名使用者 #include int main() else if (money % 100 != 0) /*判斷錢數是否可被100整除,不可則重新輸入*/ else if (money == -1) /*判斷是否輸入-1,是則退出迴圈*/ break; for (a = 1; a <= (money / 500); a++) /*開始使用巢狀迴圈,結束值利用錢數整除單價得出*/}} }}return 0; /*結束程式*/} c語言求助 20樓: 還在用turbo c?你已經落後30年了 沒什麼問題,兩題給出的答案都是正確的。第2題 後面按c語言要求帶上規定的字元或數字,構成轉義字元,因此要想將 賦給字元變數ch,需要定義為 ch 而不是ch 選項a是錯誤的。其餘選項都是正確的。選a第9題 011表示八進位制數,轉為十進位制數是9,執行printf語句,a,是a先自增1 9 1 10... 孫毅超 二進位制數在計算機記憶體儲的是其補碼 對於有符號數,正數的補碼和本身一樣,負數的補碼是本身的數字位取反後加1 比如 1 0001 補 0001 1 1001 補 1111 計算機儲存 1就是儲存的1111 而int是兩個位元組的,也就是16位的二進位制,因此65535也就是111111111... 普洛智應 include void sort int p1,int p2,int p3 else if p1 p3 else else if p2 p3 if p1 看下函式形參和實參的概念。 include main void sort int p1,int p2,int p3 少括號 else ...c語言!!求助,C語言求助!!!
C語言求助,C語言問題,求助
c語言問題求助,C語言問題求助