自然常数 e 可以用级数 1 + 1 / 1!+ 1 / 2!+ ⋯ + 1 / n!+ ⋯ 来近似计算。
本题要求对给定的非负整数 n,求该级数的前 n + 1 项和。
-
- #include
- void main()
- {
- int a, i, j; double b = 1; double c = 1;
- printf("请输入一个数\n");
- scanf("%d", &a);
- for (i = 1; i <= a; i++)
- {
- for (j = i; j > 0; j--)
- {
- b = b / j;
- }
- c = c + b;
- b = 1;
- }
- printf("%1.8f\n", c);
- }
嵌套两层for循环,将变量定义为double类型
本题要求按照规定格式打印前N行杨辉三角。
输入格式:
输入在一行中给出N(1≤N≤10)。
输出格式:
以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。
输出格式: 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
解题思路:要用二维数组进行存储
1、 % d就是普通的输出了
2、 % 10d是将数字按宽度为5,采用右对齐方式输出,若数据位数不到10位,则左边补空格。( % 2d时待打印整数3位数字,字段宽度自动扩大以符合整数长度
3、 % 05d,和 % 5d差不多,只不过左边补0
4、 % .5d从执行效果来看,和 % 05d一样
5、 % -10d与 % 10d的输出结果类似,只是打印的数字位于字段的左侧
- #include
- int main() {
- int N;
- scanf("%d", &N);
- int matrix[10][10] = { 0 };
- // 每一行首和行尾元素均为 1
- for (int i = 0; i < N; i++) {
- matrix[i][0] = 1;
- matrix[i][i] = 1;
- }
- // 赋值剩下 N-2 行的中间元素
- for (int i = 2; i < N; i++) {
- for (int j = 1; j < i; j++) {
- // 当前元素等于上一行的两肩上元素之和
- matrix[i][j] = matrix[i - 1][j - 1] + matrix[i - 1][j];
- }
- }
- // 按题目格式输出
- for (int i = 0; i < N; i++) {
- // 先输出每一行的空格
- for (int j = N - 1 - i; j > 0; j--) {
- printf(" ");
- }
- // 输出每一行的元素
- for (int k = 0; k <= i; k++) {
- printf("%-4d", matrix[i][k]);
- //1、 % d就是普通的输出了
- //2、 % 10d是将数字按宽度为5,采用右对齐方式输出,若数据位数不到10位,则左边补空格。( % 2d时待打印整数3位数字,字段宽度自动扩大以符合整数长度
- //3、 % 05d,和 % 5d差不多,只不过左边补0
- //4、 % .5d从执行效果来看,和 % 05d一样
- //5、 % -10d与 % 10d的输出结果类似,只是打印的数字位于字段的左侧
- }
- printf("\n");
- }
- return 0;
- }
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。
输入格式:
输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。
输出格式:
按照以下格式输出排序后的结果:
After sorted :
每行一个字符串
遇到空格进行判断换行,循环进行字符串比较,定义临时字符串变量进行比较交换,运营
【字符串函数讲解(C语言笔记,建议收藏!!!) - CSDN App】
链接:http://t.csdnimg.cn/6UKhA
- #include
- #include
- #define a 5
- #define b 80
- int main(void) {
- int n, i, j;
- char str[a][b];
- for (i = 0; i < a; i++) {
- scanf("%s", &str[i]);
- }
- for (i = 0; i < a; i++) {
- for (j = 0; j < a - 1; j++) {
- char temp[80];
- if (strcmp(str[j], str[j + 1]) > 0) {
- strcpy(temp, str[j]);
- strcpy(str[j], str[j + 1]);
- strcpy(str[j + 1], temp);
- }
- }
- }
- printf("After sorted:\n");
- for (i = 0; i < a; i++) {
- printf("%s\n", str[i]);
- }
- return 0;
- }