14.sprintf

int sprintf(char *str, const char *format, ...);
功能:
    根据参数format字符串来转换并格式化数据,然后将结果输出到str指定的空间中,直到    出现字符串结束符 '\0'  为止。
    参数:
str:字符串首地址
    format:字符串格式,用法和printf()一样
返回值:
    成功:实际格式化的字符个数
    失败: - 1

//1. 格式化字符串
	char buf[1024] = { 0 };
	sprintf(buf, "Hello %s!", "Obama");
	printf("buf:%s\n", buf);  //buf:Hello Obama!

	//2. 拼接字符串
	char *s1 = "hello";
	char *s2 = "world";
	memset(buf, 0, 1024);
	sprintf(buf, "%s %s", s1, s2);
	printf("buf:%s\n", buf);   //buf:hello world

	//3. 数字转成字符串格式
	int number = 666;
	memset(buf, 0, 1024);
	sprintf(buf, "%d", number);
	printf("buf:%s\n", buf);   //buf:666

	//4. 格式化数字八进制 十六进制
	memset(buf, 0, 1024);
	sprintf(buf, "%o", number);
	printf("八进制:%s\n", buf);   //八进制:1232
	memset(buf, 0, 1024);
	sprintf(buf, "%x", number);
	printf("十六进制:%s\n", buf);    //十六进制:29a

 

修正文字显示错误 >> % 参数设置 mu = 100; % 原始电阻均值 (Ω) sigma = 8; % 原始电阻标准差 (Ω) N = 1e5; % 样本数 sigma2_R = sigma^2; % 原始电阻方差 = 64 Ω² % 生成独立正态分布样本 R = normrnd(mu, sigma, [N, 4]); % 计算各连接方式等效电阻 R1 = R(:,1) + R(:,2); % 串联 R2 = (R(:,1).*R(:,2)) ./ (R(:,1)+R(:,2)); % 并联 R3 = ((R(:,1)+R(:,2)) .* (R(:,3)+R(:,4))) ./ ((R(:,1)+R(:,2)) + (R(:,3)+R(:,4))); % 先串后并 R4 = (R(:,1).*R(:,2))./(R(:,1)+R(:,2)) + (R(:,3).*R(:,4))./(R(:,3)+R(:,4)); % 先并后串 % 绘制四个电阻的分布图(最终修正) figure; subplot(2,2,1); histfit(R1, 50, 'normal'); title({... 'R1 (串联)', ... sprintf('原始电阻: $\\mu=%.1f\\ \\Omega$, $\\sigma^2=%.1f\\ \\Omega^2$', mu, sigma2_R), ... sprintf('理论均值 $=%.1f\\ \\Omega$, 仿真均值 $=%.1f\\ \\Omega$', 2*mu, mean(R1)), ... sprintf('理论方差 $=%.1f\\ \\Omega^2$, 仿真方差 $=%.1f\\ \\Omega^2$', 2*sigma2_R, var(R1))... }, 'Interpreter', 'latex', 'FontSize', 10); xlabel('阻值 ($\\Omega$)', 'Interpreter', 'latex'); % 修正转义 ylabel('频数'); subplot(2,2,2); histfit(R2, 50, 'normal'); title({... 'R2 (并联)', ... sprintf('原始电阻: $\\mu=%.1f\\ \\Omega$, $\\sigma^2=%.1f\\ \\Omega^2$', mu, sigma2_R), ... sprintf('理论均值 $\\approx%.1f\\ \\Omega$, 仿真均值 $=%.1f\\ \\Omega$', mu/2, mean(R2)), ... sprintf('理论方差 $\\approx%.3f\\ \\Omega^2$, 仿真方差 $=%.3f\\ \\Omega^2$', sigma2_R/8, var(R2))... }, 'Interpreter', 'latex', 'FontSize', 10); xlabel('阻值 ($\\Omega$)', 'Interpreter', 'latex'); % 修正转义 ylabel('频数'); subplot(2,2,3); histfit(R3, 50, 'normal'); title({... 'R3 (先串后并)', ... sprintf('原始电阻: $\\mu=%.1f\\ \\Omega$, $\\sigma^2=%.1f\\ \\Omega^2$', mu, sigma2_R), ... sprintf('理论均值 $=%.1f\\ \\Omega$, 仿真均值 $=%.1f\\ \\Omega$', mu, mean(R3)), ... sprintf('理论方差 $\\approx%.1f\\ \\Omega^2$, 仿真方差 $=%.1f\\ \\Omega^2$', sigma2_R/4, var(R3))... }, 'Interpreter', 'latex', 'FontSize', 10); xlabel('阻值 ($\\Omega$)', 'Interpreter', 'latex'); % 修正转义 ylabel('频数'); subplot(2,2,4); histfit(R4, 50, 'normal'); title({... 'R4 (先并后串)', ... sprintf('
03-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值