Re: [問題] 請問~以下這十題的c語言寫法~"~跪求...
※ 引述《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
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
08/02 07:03, 4F
推
08/02 09:13, , 5F
08/02 09:13, 5F
→
08/02 09:54, , 6F
08/02 09:54, 6F
噓
08/02 09:57, , 7F
08/02 09:57, 7F
→
08/02 10:03, , 8F
08/02 10:03, 8F
推
01/08 17:52, , 9F
01/08 17:52, 9F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章