p4判断一个5位数是不是回文数

本文介绍了一种简单的方法来判断一个五位数是否为回文数。通过C语言实现,该程序读取一个字符串并检查其首尾字符是否一致,以此判断该数字是否为回文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

判断一个5位数是不是回文数

判断一个5位数是不是回文数。例如12321是一个回文数,即它的个位与万位相同,十位与千位相同。

#include <stdio.h>

int main(int argc, char *argv[]) {
	char a[5];
	gets(a);
	if(a[0]==a[4]&&a[1]==a[3]){
		printf("是回文数\n");
	}
	else{
		printf("不是回文数\n");
	}
	return 0;
}

在这里插入图片描述

%% 主程序 % 1. 数据读取 %% 第一部分:数据读取和预处理 clear; clc; close all; % 添加lvm_import函数路径 addpath('C:\Users\kaixiang\Desktop\实验数据1'); % 读取数据文件 data_struct = lvm_import('D:\Fluent Macrophone 2\FL5\O100\Methane0.9\Forward\EQ0.9\PMT_0.lvm'); data_struct1 = lvm_import('D:\Fluent Macrophone 2\FL5\O0\Methane0.9\Forward\EQ0.9\PMT_1029.lvm'); % 提取数据列 p3 = data_struct.Segment1.data(:, 4); % 压力信号 p4 = data_struct1.Segment1.data(:, 1); % 参考信号 p5 = max(abs(p4)); data = (p3 / p5) * 10; % 元素级除法 fs = 50e3; t = (0:length(data)-1)/fs; % 时间轴 % 时域波形 figure; subplot(2,1,1); plot(t, data); xlabel('时间(s)'); ylabel('幅值'); title('时域波形[^2]'); % 时域特征 rms_val = sqrt(mean(data.^2)); cf = max(abs(data))/rms_val; disp(['RMS: ', num2str(rms_val), ' CF: ', num2str(cf)]); N = length(data); f = (0:N-1)*(fs/N); % 频率轴 X = fft(data)/N; % FFT计算 % 幅度谱 subplot(2,1,2); plot(f(1:N/2), abs(X(1:N/2))); xlabel('频率(Hz)'); ylabel('幅度'); title('频域分析[^1][^3]'); % 主频检测 [~, idx] = max(abs(X(1:N/2))); disp(['主频: ', num2str(f(idx)), ' Hz']); % 4. 相空间重建 tau = AMI_Method(data, 50); % AMI求延迟时间 m = CAO_Method(data, tau, 10); % CAO求嵌入维度 Y = phase_space_recon(data, m, tau); % 5. 递归图量化 RP = RecurrencePlot(Y, 0.1*std(data)); [RR, DET] = RQA(RP); disp(['递归率: ', num2str(RR), ' 确定性: ', num2str(DET)]); function tau = AMI_Method(data, max_tau) mi = zeros(1, max_tau); for tau = 1:max_tau x = data(1:end-tau); y = data(tau+1:end); mi(tau) = mutual_info(x, y); % 需自定义互信息计算函数 end [~, tau] = findpeaks(-mi, 'NPeaks', 1); end function m = CAO_Method(data, tau, max_m) E = zeros(1, max_m); for m = 1:max_m % 重构相空间 Y = phase_space_recon(data, m, tau); % 计算统计量E1 E(m) = compute_E1(Y); % 需自定义计算函数 end % 寻找E1变化率小于阈值的最小m m = find(diff(E) < 0.01, 1) + 1; end function RP = RecurrencePlot(Y, epsilon) N = size(Y,1); RP = zeros(N); for i = 1:N for j = 1:N RP(i,j) = norm(Y(i,:)-Y(j,:)) < epsilon; end end imag
最新发布
04-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值