1. 输入3个数按由小到大的顺序输出
#include <stdio.h> int main() { int a, b, c, temp; printf("请输入三个整数:"); scanf("%d%d%d", &a, &b, &c); // 使用冒泡排序思想排序 if (a > b) { temp = a; a = b; b = temp; } if (a > c) { temp = a; a = c; c = temp; } if (b > c) { temp = b; b = c; c = temp; } printf("从小到大排序:%d %d %d\n", a, b, c); return 0; }
2. 数组赋值并逆序输出
#include <stdio.h> int main() { int arr[10]; // 赋值 for (int i = 0; i < 10; i++) { arr[i] = i; } // 逆序输出 printf("逆序输出:"); for (int i = 9; i >= 0; i--) { printf("%d ", arr[i]); } printf("\n"); return 0; }
3. 用数组求Fibonacci数列的前20项
#include <stdio.h> int main() { int fib[20] = {1, 1}; // 前两项初始化为1,1 // 计算Fibonacci数列 for (int i = 2; i < 20; i++) { fib[i] = fib[i-1] + fib[i-2]; } // 输出结果 printf("Fibonacci数列前20项:\n"); for (int i = 0; i < 20; i++) { printf("%6d", fib[i]); if ((i + 1) % 5 == 0) printf("\n"); } return 0; }
4. 用函数求两个数的较大值
#include <stdio.h> // 求最大值函数 int max(int a, int b) { return (a > b) ? a : b; } int main() { int a, b; printf("请输入两个整数:"); scanf("%d%d", &a, &b); printf("较大的数是:%d\n", max(a, b)); return 0; }
5. 用递归法求n!
#include <stdio.h> // 递归函数计算阶乘 long long factorial(int n) { if (n == 0 || n == 1) { return 1; } else { return n * factorial(n - 1); } } int main() { int n; printf("请输入一个整数:"); scanf("%d", &n); if (n < 0) { printf("输入错误!负数没有阶乘。\n"); } else { printf("%d! = %lld\n", n, factorial(n)); } return 0; }
6. 输出100到1000之间能被15整除的数
#include <stdio.h> int main() { int count = 0; printf("100到1000之间能被15整除的整数:\n"); for (int i = 100; i <= 1000; i++) { if (i % 15 == 0) { printf("%5d", i); count++; // 每输出10个数换行 if (count % 10 == 0) { printf("\n"); } } } if (count % 10 != 0) printf("\n"); printf("共计%d个数\n", count); return 0; }
7. 求10个学生成绩的平均值
#include <stdio.h> // 求平均成绩函数 float average(float score[], int n) { float sum = 0; for (int i = 0; i < n; i++) { sum += score[i]; } return sum / n; } int main() { float score[10]; printf("请输入10个学生的成绩:\n"); for (int i = 0; i < 10; i++) { printf("成绩%d: ", i + 1); scanf("%f", &score[i]); } float avg = average(score, 10); printf("平均成绩为:%.2f\n", avg); return 0; }
8. 数组操作和平均值计算
#include <stdio.h> // 函数声明 void fun1(int s[]); void fun2(int s[], float w[]); // 函数定义 void fun1(int s[]) { for (int i = 0; i < 30; i++) { s[i] = 2 * (i + 1); // 从2开始的偶数 } } void fun2(int s[], float w[]) { for (int i = 0; i < 6; i++) { int sum = 0; // 每5个元素求平均值 for (int j = 0; j < 5; j++) { sum += s[i * 5 + j]; } w[i] = (float)sum / 5; } } int main() { int s[30]; float w[6]; // 调用函数 fun1(s); fun2(s, w); // 输出s数组 printf("数组s的元素:\n"); for (int i = 0; i < 30; i++) { printf("%4d", s[i]); if ((i + 1) % 10 == 0) printf("\n"); } // 输出w数组 printf("\n数组w的元素(平均值):\n"); for (int i = 0; i < 6; i++) { printf("w[%d] = %.2f\n", i, w[i]); } return 0; }
9. 分数序列求和
#include <stdio.h> double sum(int n) { double numerator = 2.0, denominator = 1.0; // 第一项:2/1 double total = 0.0; for (int i = 1; i <= n; i++) { total += numerator / denominator; // 计算下一项 double temp = numerator; numerator = numerator + denominator; // 下一项的分子是前一项分子分母之和 denominator = temp; // 下一项的分母是前一项的分子 } return total; } int main() { int n = 5; double result = sum(n); printf("分数序列前%d项的和为:%.6f\n", n, result); return 0; }
10. 求奇数的阶乘和
#include <stdio.h> // 计算阶乘的函数 long long factorial(int n) { long long result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } int main() { int n; long long total = 0; printf("请输入一个奇数n:"); scanf("%d", &n); if (n % 2 == 0) { printf("输入的不是奇数!\n"); return 1; } // 计算1! + 3! + 5! + ... + n! for (int i = 1; i <= n; i += 2) { long long fact = factorial(i); total += fact; printf("%d! = %lld\n", i, fact); } printf("\n总和 = %lld\n", total); return 0; }