当前位置: 首页 > news >正文

C语言 每日一题 PTA 11.7 day13

1.求e的近似值

自然常数 e 可以用级数 1 + 1 / 1!+ 1 / 2!+ ⋯ + 1 / n!+ ⋯ 来近似计算。
本题要求对给定的非负整数 n,求该级数的前 n + 1 项和。

代码实现


#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的输出结果类似,只是打印的数字位于字段的左侧

代码实现

#include <stdio.h>
int main() {int N;scanf("%d", &N);int matrix[10][10] = { 0 };// 每一行首和行尾元素均为 1for (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

代码实现

#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;
}

运行结果

http://www.lryc.cn/news/220830.html

相关文章:

  • 产品经理进阶:产品的起点是发现并理解问题
  • Java —— 类和对象(一)
  • RabbitMQ(高级特性)优先级队列
  • 盘点苹果手机导出照片到电脑的3个方法!
  • px、rpx、em以及rem的区别与用法
  • 类(class)
  • FPGA时序分析与约束(10)——生成时钟
  • A. Hit the Lottery
  • mvn: Downloading from pluginRepository
  • docker相关知识
  • Springboot 集成 RocketMQ(进阶-消息)
  • 10 索引优化与查询优化
  • linux PVE安装
  • ZZ038 物联网应用与服务赛题第J套
  • 【寒武纪(3)】媒体处理系统的系统控制、视频输入和后处理子系统
  • Linux下使用vscode编写Python项目
  • 使用 curator 连接 zookeeper 集群 Invalid config event received
  • 大促期间也要做好低价治理
  • 【c++】——类和对象(中)——默认成员函数(上)
  • 钉钉企业微应用开发C#-HTTP回调接口
  • Rust编程基础之条件表达式和循环
  • MATLAB算法实战应用案例精讲-【人工智能】ROS机器人(补充篇)
  • 基于8086汽车智能小车控制系统
  • 全光谱大面积氙光灯太阳光模拟器老化测试
  • linux添加一条到中间路由器的路由
  • 不同MySQL服务的表以及库的数据迁移(/备份)
  • 聊聊芯片超净间的颗粒(particle)
  • 服务器(windows Server 2019为例)中的日志中文乱码的解决办法
  • Linux 学习(CentOS 7)
  • 架构决策记录 ADR