Re: [問題] 請問~以下這十題的c語言寫法~"~跪求...

看板C_and_CPP (C/C++)作者 (非天夜翔)時間17年前 (2007/08/01 22:58), 編輯推噓1(324)
留言9則, 8人參與, 最新討論串1/1
※ 引述《huang7380 (快絕種的海豹)》之銘言: : 1. 輸入個人的生日(年:y0、月:m0、日:d0), : 並輸入目前的日期(年:y11、月:m1、日:d1), : 最後輸出該員的足歲年齡。 void No01(void) { int y,m,d,y0,m0,d0,y1,m1,d1; printf("本程式不考慮閏年\n"); printf("Enter Birthday (y,m,d) :"); scanf("%d,%d,%d",&y0,&m0,&d0); printf("Enter now date (y,m,d) :"); scanf("%d,%d,%d",&y1,&m1,&d1); // // 請自行插入 date 的檢查,或輸入正確的 date // y = y1 - y0; m = m1 - m0; d = d1 - d0; if( d < 0 ) { m = m - 1; switch(m1) { case 2: case 4: case 6: case 8: case 9: case 11: case 1: d = d + 31; break; case 3: d = d + 28; break; default: d = d + 30; } } if( m < 0 ) { m = m + 12; y = y - 1; } if( y < 0 ) printf("你根本就還沒出生,好唄~\"~"); else printf("你 %d 歲又 %d 個月 %d 天\n",y,m,d); } : 2. 輸入三個邊長a、b、c,判斷它們是否能構成三角形, : 若能構成三角形,則進一步判斷此三角形是何種型態的三角形 : (等邊三角形、等腰三角形、直角三角形或是一般的三角形)。 void No02(void) { int a,b,c,x,y,z; printf("請輸入三角形的三個邊 (a,b,c):"); scanf("%d,%d,%d",&a,&b,&c); if( a > 0 && b > 0 && c > 0 ) { x = a < b ? a : b; y = a > b ? a : b; if( x > c ) { z = y; y = x; x = c; } else if( y > c ) { z = y; y = c; } else z = c; if( x + y <= z ) printf("%d, %d, %d 不是三角形\n",a,b,c); else if( x == y && y == z ) printf("%d, %d, %d 是等邊三角形\n",a,b,c); else if( x == y || y == z ) printf("%d, %d, %d 是等腰三角形\n",a,b,c); else if( x*x + y*y == z*z ) printf("%d, %d, %d 是直角三角形\n",a,b,c); else printf("%d, %d, %d 是一般三角形\n",a,b,c); } else printf("邊長都要是正的\n"); } : 3. 請編寫一程式,輸入兩個整數x,y並判斷y不能等於0, : 若等於0請重新輸入一次y值,寫當輸入字元為 +、-、*、\、%中的一個時, : 分別計算x、y的和、差、積、商及餘數的程式。 void No03(void) { int x,y,conti = 0; char op; printf("x = "); scanf("%d",&x); do { printf("y = "); scanf("%d",&y); } while( y == 0; printf("運算元 (+,-,*,\\,%) 其中之ㄧ : "); do { conti = 0; scanf("%c",&op); switch(op) { case '+': printf("%d %c %d = %d\n",x,op,y,x + y); break; case '-': printf("%d %c %d = %d\n",x,op,y,x - y); break; case '*': printf("%d %c %d = %d\n",x,op,y,x * y); break; case '\\': printf("%d %c %d = %d\n",x,op,y,x / y); break; case '%': printf("%d %c %d = %d\n",x,op,y,x % y); break; default: conti = 1; } } : 4. 輸入一個正整數x,若x滿足 0<x<32768, : 則輸出x是幾位數,並輸出x的個位數是什麼。 void No04(void) { int x,i=0,temp,y; do { printf("x = "); scanf("%d",x); } while( x < 1 || x > 32767 ); temp = x; y =x % 10; while( temp > 0 ) { i++; temp /= 10; } printf("%x 為 %d 位數, 個位數字為 %d\n",x,i,y); } : 5. 編寫一程式印出如下的菱形,請使用for迴圈敘述式, : 只能使用printf (“ “);,printf (“*“);, : printf (“\n); 這個printf的敘述式)。 : * : *** : ***** : ******* : ********* : ******* : ***** : *** : * void No05(void) { int max = 5, i,j,space,star; for(i = 1 ; i <= max ; i++) { space = max - 1; star = 2*i - 1; for(j = 0 ; j < space ; j++) printf(" "); for(j = 0 ; j < star ; j++) printf("*"); for(j = 0 ; j < space ; j++) printf(" "); printf("\n"); } for(i = max - 1 ; i > 0 ; i--) { space = max - 1; star = 2*i - 1; for(j = 0 ; j < space ; j++) printf(" "); for(j = 0 ; j < star ; j++) printf("*"); for(j = 0 ; j < space ; j++) printf(" "); printf("\n"); } } : 6. 設x=100,y=5,請編寫一程式當輸入字元 +、-、*、\時, : 分別計算x、y的和、差、積及商的程式。 與第三題類似 : 7. 請編寫一程式計算1 + 2 + 3 + 4 +…..+ i 及1 + 3 + 5 + 7 +…..+ i, : 當其和第一次大於15000的值時,輸出相對應的i值及總和。 void No07(void) { int i,sum; i = 1; sum = 0; while(sum <= 15000) { sum += i ; i++; } i--; printf("%d , %d\n",i,sum); i = 1; sum = 0; while(sum <= 15000) { sum += i; i += 2; } i -= 2; printf("%d , %d\n",i,sum); } : 8. 請編寫能計算及輸出九九程法表的程式。 void No08(void) { int i,j; for(i = 2 ; i < 10 ; i += 4) { for(j = 1 ; j < 10 ; j++) { printf("%d * %d = %2d ",(i+0),j,(i+0)*j); printf("%d * %d = %2d ",(i+1),j,(i+1)*j); printf("%d * %d = %2d ",(i+2),j,(i+2)*j); printf("%d * %d = %2d\n",(i+3),j,(i+3)*j); } printf("\n"); } } : 9. 請編寫一程式計算2i 的程式,當其和第一次大於15000的值時, : 輸出相對應的i值及2i 的值值。 看不懂 ~"~ : 10. 編寫一程式印出如下的菱形,請使用for迴圈敘述式, : 只能使用printf (“ “);,printf (“*“);, : printf (“\n); 這個printf的敘述式)。 : ********* : ******* : ***** : *** : * : *** : ***** : ******* : ********* 與第五題類似 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.31.123

08/02 00:00, , 1F
m起來
08/02 00:00, 1F

08/02 00:37, , 2F
噓一個
08/02 00:37, 2F

08/02 05:40, , 3F
人真好
08/02 05:40, 3F
※ 編輯: csihcs 來自: 59.104.31.123 (08/02 07:02)

08/02 07:03, , 4F
補第四題 忘記打上來了XD
08/02 07:03, 4F

08/02 09:13, , 5F
好人卡(遞)
08/02 09:13, 5F

08/02 09:54, , 6F
就很單純的作業解答,為何要M??....不解!!
08/02 09:54, 6F

08/02 09:57, , 7F
要m也是m下面那篇 這種直接寫作業解答上來的m幹什麼?
08/02 09:57, 7F

08/02 10:03, , 8F
(因為他是好人 XD")
08/02 10:03, 8F

01/08 17:52, , 9F
腦袋有洞
01/08 17:52, 9F
文章代碼(AID): #16i9-oAt (C_and_CPP)
文章代碼(AID): #16i9-oAt (C_and_CPP)