1. 判断整数奇偶性
#include<stdio.h> int main() { int n = 0; while ((scanf("%d", &n)) != EOF) { if (n % 2 == 1) { printf("Odd\n"); } else { printf("Even\n"); } } return 0; }
2. 判断是元音还是辅音
#include<stdio.h> int main() { char v[] = { 'a','A','e','E','i','I','o','O','u','U' }; char ch = 0; while ((scanf("%c", &ch))!=EOF) { int i = 0; for (i = 0; i < 10; i++) { if (ch == v[i]) { printf("Vowel\n"); break; } } if (i == 10) { printf("Consonant\n"); } getchar(); } return 0; }
3. 使用指针打印数组的内容
#include<stdio.h> void print_arr(int* p, int sz) { int i = 0; for (i = 0; i < sz; i++) { printf("%d ", *p); p++; //printf("%d ", *p++); 等价上面 } } int main() { int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; int sz = sizeof(arr) / sizeof(arr[0]); print_arr(arr, sz); return 0; }
4. 计算求和
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,
//例如:2 + 22 + 222 + 2222 + 22222
#include<stdio.h> int main() { int a = 0; int n = 0; scanf("%d %d", &a, &n); int ret = 0; int sum = 0; int i = 0; for (i = 0; i < n; i++) { ret = ret * 10 + a; sum = sum + ret; } printf("%d\n", sum); return 0; }
5. 打印水仙花数
//求出0~100000之间的所有“水仙花数”并输出。
//“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,
//如 : 153=1 ^ 3+5 ^ 3+3 ^ 3,则153是一个“水仙花数”。
#include<stdio.h> #include<math.h> int main() { int i = 0; for (i = 0; i <= 100000; i++) { //判断是否为水仙花数 int n = 1; int sum = 0; int tmp = i; //判断几次 while (tmp /=10) { n++; } //求和 tmp = i; while (tmp) { sum = sum + pow(tmp % 10, n); tmp = tmp / 10; } if (sum == i) { printf("%d ", i); } } return 0; }
6. 打印菱形
#include<stdio.h> int main() { int line = 0; scanf("%d", &line); int i = 0; //打印上面 for (i = 0; i < line; i++) { //打印空格 int j = 0; for (j = 0; j < line - 1 - i; j++) { printf(" "); } //打印* for (j = 0; j < 2 * i + 1; j++) { printf("*"); } printf("\n"); } //打印下面 for (i = 0; i < line - 1; i++) { //打印空格 int j = 0; for (j = 0; j <= i; j++) { printf(" "); } //打印* for (j = 0; j < 2 * (line - 1 - i) - 1; j++) { printf("*"); } printf("\n"); } return 0; }