文章目录
- 热门文章
- 每日十练
- 1. 计算圆的面积
- 2. 计算两个整数的最大公约数(GCD)
- 3. 检查一个数是否为回文数
- 4. 输出斐波那契数列
- 5. 检查一个数是否为质数(素数)
- 6. 将摄氏温度转换为华氏温度
- 7. 使用递归计算阶乘
- 8. 计算两个数的LCM(最小公倍数)
- 9. 计算数组的平均值
- 10. 实现简单的用户登录系统
热门文章
序号 | 直达链接 |
1 | C/C++爱心代码 |
2 | C/C++跳动的爱心 |
3 | C/C++李峋同款跳动的爱心代码 |
4 | C/C++满屏飘字表白代码 |
5 | C/C++大雪纷飞代码 |
6 | C/C++烟花代码 |
7 | C/C++黑客帝国同款字母雨 |
8 | C/C++樱花树代码 |
9 | C/C++奥特曼代码 |
10 | C/C++圣诞树代码 |
11 | C/C++俄罗斯方块 |
12 | C/C++贪吃蛇 |
13 | C/C++孤单又灿烂的神-鬼怪 |
14 | C/C++闪烁的爱心 |
每日十练
以下是10个新的C语言入门案例,每个案例都附有详细解释说明。
1. 计算圆的面积
#include <stdio.h>
#define PI 3.14159int main() {float radius, area;printf("Enter the radius of the circle: ");scanf("%f", &radius);area = PI * radius * radius;printf("Area of the circle: %.2f\n", area);return 0;
}
说明: 这个程序计算圆的面积。首先定义了一个常量PI
来表示圆周率。用户通过scanf
函数输入圆的半径radius
。面积通过公式area = PI * radius * radius
计算,并使用printf
函数输出结果。%.2f
用于控制输出的浮点数格式,只显示两位小数。#define
指令用于定义常量。
2. 计算两个整数的最大公约数(GCD)
#include <stdio.h>int main() {int a, b;printf("Enter two integers: ");scanf("%d %d", &a, &b);while (a != b) {if (a > b)a = a - b;elseb = b - a;}printf("GCD is %d\n", a);return 0;
}
说明: 这个程序计算两个整数的最大公约数(GCD)。用户输入两个整数a
和b
,然后通过使用欧几里得算法不断减去较小的数,直到两个数相等,此时的值即为GCD。while
循环在a
不等于b
时继续执行,if-else
语句用于决定如何减小数值。
3. 检查一个数是否为回文数
#include <stdio.h>int main() {int num, reversed = 0, original, remainder;printf("Enter an integer: ");scanf("%d", &num);original = num;while (num != 0) {remainder = num % 10;reversed = reversed * 10 + remainder;num /= 10;}if (original == reversed)printf("%d is a palindrome.\n", original);elseprintf("%d is not a palindrome.\n", original);return 0;
}
说明: 该程序检查一个整数是否是回文数(从左到右和从右到左读都是一样的数)。用户输入一个整数num
,程序通过while
循环逐位反转该数,并将结果存储在reversed
中。最后,程序比较原始数original
和反转后的数reversed
,如果两者相等,则该数是回文数。
4. 输出斐波那契数列
#include <stdio.h>int main() {int n, t1 = 0, t2 = 1, nextTerm;printf("Enter the number of terms: ");scanf("%d", &n);printf("Fibonacci Series: %d, %d", t1, t2);for (int i = 1; i <= n-2; ++i) {nextTerm = t1 + t2;printf(", %d", nextTerm);t1 = t2;t2 = nextTerm;}printf("\n");return 0;
}
说明: 这个程序生成并输出斐波那契数列。用户输入想要的项数n
。初始的两个数t1
和t2
分别设为0和1。for
循环用于生成后续的斐波那契数,每个新数是前两个数的和。通过逐次打印每个数来形成完整的数列。
5. 检查一个数是否为质数(素数)
#include <stdio.h>int main() {int num, flag = 0;printf("Enter a positive integer: ");scanf("%d", &num);if (num <= 1) {flag = 1;}for (int i = 2; i <= num / 2; ++i) {if (num % i == 0) {flag = 1;break;}}if (flag == 0)printf("%d is a prime number.\n", num);elseprintf("%d is not a prime number.\n", num);return 0;
}
说明: 该程序检查一个整数是否为质数。质数只能被1和其自身整除。用户输入一个正整数,程序使用for
循环检查该数是否能被小于它的一些数整除,如果能则不是质数。flag
变量用于标记检查结果。
6. 将摄氏温度转换为华氏温度
#include <stdio.h>int main() {float celsius, fahrenheit;printf("Enter temperature in Celsius: ");scanf("%f", &celsius);fahrenheit = (celsius * 9/5) + 32;printf("%.2f Celsius = %.2f Fahrenheit\n", celsius, fahrenheit);return 0;
}
说明: 这个程序将摄氏温度转换为华氏温度。用户输入摄氏温度celsius
,程序通过公式fahrenheit = (celsius * 9/5) + 32
计算对应的华氏温度。%.2f
用于输出保留两位小数的浮点数结果。程序实现了一个简单的数学转换。
7. 使用递归计算阶乘
#include <stdio.h>int factorial(int n);int main() {int num;printf("Enter a positive integer: ");scanf("%d", &num);printf("Factorial of %d is %d\n", num, factorial(num));return 0;
}int factorial(int n) {if (n == 0)return 1;elsereturn n * factorial(n - 1);
}
说明: 这个程序使用递归计算一个正整数的阶乘。factorial
函数是一个递归函数,它调用自身直到达到基准情况n == 0
。用户输入一个整数num
,程序调用factorial(num)
计算并输出阶乘。递归是一种常见的编程技巧,特别是在解决数学问题时。
8. 计算两个数的LCM(最小公倍数)
#include <stdio.h>int main() {int a, b, max;printf("Enter two integers: ");scanf("%d %d", &a, &b);max = (a > b) ? a : b;while (1) {if (max % a == 0 && max % b == 0) {printf("LCM of %d and %d is %d\n", a, b, max);break;}++max;}return 0;
}
说明: 该程序计算两个整数的最小公倍数(LCM)。程序首先找出较大的数max
,然后通过while
循环不断增加max
的值,直到它可以被两个数同时整除。if
条件检查整除情况,break
语句用于终止循环。这种方法相对简单,但在大数情况下效率较低。
9. 计算数组的平均值
#include <stdio.h>int main() {int n, i;float sum = 0.0, average;printf("Enter the number of elements: ");scanf("%d", &n);float numbers[n];for (i = 0; i < n; ++i) {printf("Enter number %d: ", i + 1);scanf("%f", &numbers[i]);sum += numbers[i];}average = sum / n;printf("Average = %.2f\n", average);return 0;
}
说明: 这个程序计算用户输入的数组元素的平均值。用户输入数组的大小n
,然后输入各个元素的值。for
循环用于遍历数组元素并计算总和。平均值通过总和除以元素个数得到。使用浮点数类型float
来处理包含小数的数值,%.2f
用于格式化输出。
10. 实现简单的用户登录系统
#include <stdio.h>
#include <string.h>int main() {char username[20], password[20];char storedUsername[20] = "user";char storedPassword[20] = "pass";printf("Enter username: ");scanf("%s", username);printf("Enter password: ");scanf("%s", password);if (strcmp(username, storedUsername) == 0 && strcmp(password, storedPassword) == 0) {printf("Login successful!\n");} else {printf("Invalid username or password.\n");}return 0;
}
说明: 这个程序模拟了一个简单的用户登录系统。用户输入用户名和密码,程序将其与预存的用户名和密码进行比较。strcmp
函数用于比较字符串,如果两者相同,返回0,程序则输出“登录成功”。如果不相同,程序输出“用户名或密码无效”。这是一个基本的字符串处理和条件检查实例。
这些案例涵盖了C语言中的更多基础概念,如条件语句、循环、递归、数组操作、字符串处理等,非常适合初学者进一步学习和实践。