C语言 每日一题 PTA 11.7 day13

1.求e的近似值

自然常数 e 可以用级数 1 + 1 / 1!+ 1 / 2!+ ⋯ + 1 / n!+ ⋯ 来近似计算。

本题要求对给定的非负整数 n,求该级数的前 n + 1 项和。

代码实现

cpp 复制代码
#include<stdio.h>
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类型

运行结果

2.打印杨辉三角

本题要求按照规定格式打印前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

思路

解题思路:要用二维数组进行存储

知识点 C语言的格式化输出

1、 % d就是普通的输出了

2、 % 10d是将数字按宽度为5,采用右对齐方式输出,若数据位数不到10位,则左边补空格。( % 2d时待打印整数3位数字,字段宽度自动扩大以符合整数长度

3、 % 05d,和 % 5d差不多,只不过左边补0

4、 % .5d从执行效果来看,和 % 05d一样

5、 % -10d与 % 10d的输出结果类似,只是打印的数字位于字段的左侧

代码实现

cpp 复制代码
#include <stdio.h>
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;
}

运行结果

3.字符串排序

本题要求编写程序,读入5个字符串,按由小到大的顺序输出。

输入格式:

输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。

输出格式:

按照以下格式输出排序后的结果:

After sorted :

每行一个字符串

思路

遇到空格进行判断换行,循环进行字符串比较,定义临时字符串变量进行比较交换,运营

知识点:字符串函数

【字符串函数讲解(C语言笔记,建议收藏!!!) - CSDN App】

链接:http://t.csdnimg.cn/6UKhA

代码实现

cpp 复制代码
#include<stdio.h>
#include<string.h>
#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;
}

运行结果

相关推荐
晴天的雨.9921 小时前
【C++算法】和为s的两个数
开发语言·数据结构·c++·算法
IvanCodes7 小时前
Python 数据处理(十三):JSON、CSV 与数据序列化
开发语言·python
aramae8 小时前
MySQL复合查询(8)
java·c语言·开发语言·后端·算法
荆棘鸟智能9 小时前
城市感知设备怎么统一接入?从多协议网关到设备模型的中间件架构设计
人工智能·算法·边缘计算
无敌贵点大王9 小时前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表
Logic10110 小时前
C语言/数据结构位运算题解:异或XOR找出时尚聚会中的“独特颜色“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
qq_25183645711 小时前
springboot vue3 开发实现 拼豆管理系统
java·开发语言·ai编程
郑州光合科技余经理12 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
知识分享小能手12 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
+VX:Fegn089512 小时前
计算机毕业设计|基于springboot + vue旅游管理系统(源码+数据库+文档)
java·开发语言·vue.js·spring boot·课程设计