1.读写输入,读到#停止,然后报告读到的 空格 、换行、其他字符数量。
#include<stdio.h> int main() { char ch = 0; int space = 0; int line_change = 0; int other = 0; printf("输入一串字符,#结束\n"); while ((ch = getchar()) != '#') { if (ch == ' ') space++; else if (ch == '\n') line_change++; else other++; } printf("空格:%d个, 换行:%d个 其他字符:%d个 ", space, line_change, other); getchar(); getchar(); return 0; }
2.读写输入,读到#停止。 然后打印字符 及其对应的ASCII码(8个一行)
#include<stdio.h> int main() { char ch = 0; int i = 0; printf("输入一串字符,#结束\n"); while ((ch = getchar()) != '#') { printf("%c:%d ", ch, ch); i++; if (i % 8 == 0) printf("\n"); } getchar(); getchar(); return 0; }
3.读取整数直至0.报告偶数的个数,平均值,奇数的个数,平均值。
#include<stdio.h> int main() { int num; int o = 0; int sum_o = 0; int j = 0; int sum_j = 0; while (scanf_s("%d", &num) && num != 0) { if (num % 2 == 0) { o++; sum_o += num; } else { j++; sum_j += num; } } printf("偶数共%d个,平均值%lf\n", o, 1.0*sum_o / o); printf("奇数共%d个,平均值%lf\n", j, 1.0*sum_j / j); getchar(); getchar(); return 0; }
4.读取直至#,用!替代。 !! 替代!
然后报告替代的次数。
#include<stdio.h> int main() { char ch; int i = 0, j = 0; while ((ch = getchar()) != '#') { if (ch == '.') { putchar('!'); i++; } else if (ch == '!') { putchar('!'); putchar('!'); j++; } else putchar(ch); } printf("\n.替换成!:%d次",i); printf("\n!替换成!!:%d次",j); getchar(); getchar(); return 0; }
5. 使用switch 改写4. 略。
6.读取输入直到#,报告ei出现的次数
#include<stdio.h> int main() { char ch1 = 0, ch2=0; int time_ei = 0; ch1 = getchar(); while (ch1 != '#') { ch2 = ch1; ch1 = getchar(); if (ch1 == 'i') { if (ch2 == 'e') time_ei++; } } printf("ei出现了%d次", time_ei); getchar(); getchar(); return 0; }
7,8 略
9.输入正整数,显示小于等于它的素数。
#include<stdio.h> #include<math.h> int judge_prime(int n) { int i; double k; k = sqrt(n); for (i = 2; i <= k; i++) { if (n%i == 0) break; } if (i <= k) return 0; else return 1; } int main() { int num; while (scanf_s("%d", &num) && num > 0) { printf("<= %d的素数有:", num); for (int i = 2; i <= num; i++) if (judge_prime(i)) printf("%d ", i); printf("\n"); } getchar(); getchar(); return 0; }