練習4-1spa
#include <stdio.h> int main(void) { int no; int x; do{ printf("請輸入一個整數:"); scanf("%d", &no); if (no == 0) puts("該整數爲0。"); else if (no > 0) puts("該整數爲正數。"); else puts("該整數爲負數。"); printf("要重複一次嗎?【yes···0/No···9】:"); scanf("%d", &x); } while (x == 0); }
練習4-23d
1 #include <stdio.h> 2 int main() 3 { 4 int a; 5 int b; 6 int sum = 0; 7 int x; 8 9 puts("請輸入兩個整數。"); 10 printf("整數a:"); scanf("%d", &a); 11 printf("整數b:"); scanf("%d", &b); 12 x=a; 13 14 do { 15 sum+=x; 16 x--; 17 } while (x!=b-1); 18 19 printf("大於等於%d小於等於%d的全部整數的和是%d",b,a,sum); 20 21 22 return 0; 23 }
練習4-3code
1 /* 2 從輸入的整數開始倒數到0 3 */ 4 5 #include <stdio.h> 6 7 int main(void) 8 { 9 int no; 10 11 printf("請輸入一個正整數:"); 12 scanf("%d", &no); 13 14 while (no >= 0) { 15 printf("%d ", no); 16 no--; 17 } 18 if (no == -1) { 19 printf("\n"); 20 } 21 22 23 return 0; 24 }
練習4-4blog
1 /* 2 從輸入的整數開始倒數到0 3 */ 4 5 #include <stdio.h> 6 7 int main(void) 8 { 9 int no; 10 11 printf("請輸入一個正整數:"); 12 scanf("%d", &no); 13 14 while (no > 0) 15 printf("%d ", no--); /* no的值在顯示以後遞減 */ 16 if (no == 0) { 17 printf("\n"); 18 } /* 換行 */ 19 20 return 0; 21 }
練習4-5io
1 /* 2 遞增顯示從0到輸入的正整數爲止的各個整數 3 */ 4 5 #include <stdio.h> 6 7 int main(void) 8 { 9 int i, no; 10 11 printf("請輸入一個正整數:"); 12 scanf("%d", &no); 13 14 i = 1; 15 while (i <= no) 16 printf("%d ", i++); /* i的值在顯示以後遞增 */ 17 if (no >= 0) { 18 printf("\n"); 19 } /* 換行 */ 20 21 return 0; 22 }
練習4-6class
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int no; 6 int i; 7 8 printf("請輸入一個正整數:"); 9 scanf("%d", &no); 10 11 i = 0; 12 while (i < no) { 13 if ((i % 2)==0) { 14 printf("%d ", i); 15 } 16 i++; 17 } 18 19 20 return 0; 21 }
練習4-7di
1 #include <stdio.h> 2 int main(void) 3 { 4 int n1, n2; 5 6 printf("請輸入一個整數:"); 7 scanf("%d", &n1); 8 9 n2 = 2; 10 while (n2 < n1) { 11 printf("%d ", n2); 12 n2 *= 2; 13 } 14 putchar('\n'); 15 16 return 0; 17 }
練習4-8while
1 /* 2 輸入一個整數,連續顯示出該整數個* 3 */ 4 5 #include <stdio.h> 6 7 int main(void) 8 { 9 int no; 10 11 printf("正整數"); 12 scanf("%d", &no); 13 14 while (no-- > 0) { 15 putchar('*'); 16 } 17 if (no == -1) 18 putchar('\n'); 19 20 return 0; 21 }
練習4-9co
1 #include <stdio.h> 2 int main(void) 3 { 4 int no; 5 printf("正整數:"); 6 scanf("%d", &no); 7 int i; 8 i = 0; 9 while (i < no) { 10 if (no %2 ) 11 { 12 printf("+"); 13 } 14 else 15 { 16 printf("-"); 17 } 18 no--; 19 } 20 21 return 0; 22 }
練習4-10生成
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int no; 6 printf("正整數:"); 7 scanf("%d", &no); 8 while (no-- > 0) { 9 putchar('*'); 10 putchar('\n'); 11 } 12 return 0; 13 14 }
練習4-11
1 /* 2 逆向顯示正整數 3 */ 4 5 #include <stdio.h> 6 7 int main(void) 8 { 9 int no; 10 11 do { 12 printf("請輸入一個正整數:"); 13 scanf("%d", &no); 14 if (no <= 0) 15 puts("\a請不要輸入非正整數。"); 16 } while (no <= 0); 17 int x = no; 18 19 printf("%d逆向顯示的結果是",x); 20 while (no > 0) { 21 printf("%d",no % 10); /* 顯示最後一位數 */ 22 no /= 10; /* 右移一位 */ 23 } 24 puts("。"); 25 26 return 0; 27 }
練習4-12
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int no; 6 int x; 7 int i; 8 i = 0; 9 printf("請輸入一個正整數:"); 10 scanf("%d", &no); 11 x = no; 12 while (no>0) 13 { 14 no/=10; 15 i++; 16 17 } 18 printf("%d的位數是%d", x,i); 19 return 0; 20 }
練習4-13
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int n; 6 int i; 7 int sum; 8 sum = 0; 9 printf("n的值:"); 10 scanf("%d", &n); 11 for (i = 0; i <= n; i++) { 12 sum += i; 13 } 14 printf("1到%d的和爲%d", i-1, sum); 15 16 }
練習4-14
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int no; 6 int i; 7 printf("請輸入一個整數:"); 8 scanf("%d", &no); 9 for (i = 1; i <=no; i++) { 10 printf("%d",i%10); 11 12 } 13 14 }
練習4-15
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int begin; 6 int final; 7 int interval; 8 int i; 9 printf("開始數值(cm):"); 10 scanf("%d", &begin); 11 printf("結束數值(cm):"); 12 scanf("%d", &final); 13 printf("間隔數值(cm):"); 14 scanf("%d", &interval); 15 int x; 16 x = begin; 17 18 for (i = 0; i <=(final - x) / interval; i++) { 19 printf("%dcm\t%.2fkg", begin, (begin - 100) * 0.9); 20 putchar('\n'); 21 begin += interval; 22 } 23 }
練習4-16
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int no; 6 int i; 7 printf("整數值:"); 8 scanf("%d", &no); 9 putchar('\n'); 10 for (i = 1; i <=no; i += 2) { 11 printf("%d ", i); 12 } 13 }
練習4-17
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int n; 6 printf("n的值是:"); 7 scanf("%d",&n); 8 int i; 9 for (i = 1; i <= n; i++) { 10 printf("%d的二次方是%d",i,i*i); 11 putchar('\n'); 12 13 } 14 }
練習4-18
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int n; 6 printf("顯示多少個*:"); 7 scanf("%d",&n); 8 int i; 9 for (i = 1; i <= n; i++) { 10 putchar('*'); 11 if (i % 5 == 0) { 12 putchar('\n'); 13 } 14 15 } 16 }
練習4-19
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int i, n; 6 int m; 7 m = 0; 8 9 printf("整數值:"); 10 scanf("%d", &n); 11 12 for (i = 1; i <= n; i++) 13 if (n % i == 0) { 14 printf("%d ", i); 15 putchar('\n'); 16 m++; 17 } 18 printf("約數有%d個。", m); 19 return 0; 20 }
練習4-20
#include <stdio.h> int main(void) { int i, j; printf(" |"); for (i = 1; i < 10; i++) { printf("%3d", i); } putchar('\n'); for (i = 1; i < 30; i++) { putchar('-'); } putchar('\n'); for (i = 1; i <= 9; i++) { printf("%d|", i); for (j = 1; j <= 9; j++) printf("%3d", i * j); putchar('\n'); } }
練習4-21
#include <stdio.h> int main(void) { int height; int i, j; printf("生成一個正方形\n"); printf("正方形有幾層:"); scanf("%d", &height); for (i = 0; i < height; i++) { for (j = 0; j < height; j++) { putchar('*'); } putchar('\n'); } }
練習4-22
#include <stdio.h> int main(void) { int a,b; int i, j; int height; int length; printf("讓咱們畫一個長方形\n"); printf("一邊:"); scanf("%d", &a); printf("另外一邊:"); scanf("%d", &b); length = (a > b) ? a : b; height = (a < b) ? a : b; for (i = 0; i < height; i++) { for (j = 0; j < length; j++) { putchar('*'); } putchar('\n'); } }
練習4-23
/* 顯示直角在左上方的等腰直角三角形 */ #include <stdio.h> int main(void) { int i, j, len; puts("生成直角在左上方的等腰直角三角形。"); printf("短邊:"); scanf("%d", &len); for (i = len; i >= 0; i--) { /* i 行(i = 1, 2, --- , len) */ for (j = 1; j <= i; j++) /* 每行顯示i 個'*' */ putchar('*'); putchar('\n'); /* 換行 */ } return 0; }
/* 顯示直角在右上方的等腰直角三角形 */ #include <stdio.h> int main(void) { int i, j, len; puts("生成直角在右上方的等腰直角三角形。"); printf("短邊:"); scanf("%d", &len); for (i = len; i >=0; i--) { /* i 行(i = 1, 2, --- , len) */ for (j = 1; j <= len - i; j++) /* 每行顯示len-i 個' ' */ putchar(' '); for (j = 1; j <= i; j++) /* 每行顯示i 個'*' */ putchar('*'); putchar('\n'); /* 換行 */ } return 0; }
練習4-24
#include <stdio.h> int main(void) { int i, j, len; puts("讓咱們來畫一個金字塔。"); printf("金字塔有幾層:"); scanf("%d", &len); for (i = 1; i <= len; i++) { for (j = 0; j<len-i; j++) { putchar(' '); } for (j = 0; j < ((i - 1) * 2 + 1); j++) { putchar('*'); } putchar('\n'); } return 0; }
練習4-25
#include <stdio.h> int main(void) { int i; int j; int len; puts("讓咱們來畫一個向下的金字塔"); printf("金字塔有幾層:"); scanf("%d", &len); for (i = 1; i <= len; i++) { for (j = 0; j < i - 1; j++) { putchar(' '); } for (j = 0; j < (len - i) * 2 + 1; j++) { printf("%d", i%10); } for (j=0; j <i-1; j++) { putchar(' '); } putchar('\n'); } }