|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 寒冰越愈 于 2023-5-28 21:51 编辑
权限不够发图片,麻烦大家把文字删除,谢谢大家
图一
ht删tps://imgse.co除m/i/p9beJeA
图二
htt删ps://imgse.c除om/i/p9beYdI
图二在打印的时候数据间断,且每次的间断可能不一样
图一在打印的时候数据重复打印,以确认为cmd本身问题,将cmd输出信息导出数据正常
上面两个问题我感觉是同一个bug,好像都是win11 新版cmd显示的问题
另.使用旧版cmd时一切都正常,没有上面的问题.
版本 Windows 11 家庭中文版
版本 22H2
安装日期 ‎2022/‎11/‎6
操作系统版本 22621.1778
体验 Windows Feature Experience Pack 1000.22642.1000.0
图一源码附上,这个bug就是在写作业的时候发现的
#include <stdio.h>
int main()
{
float data[3][12] = {
{-1,-1,-1,-1,-1,-1,-1,31.3,35.5,58.7,49.6,55.5},
{59.8,54.9,33.1,38.2,26.6,20.5,27.8,38.5,41.5,44.7,38.1,41.5},
{34.9,36.4,47.5,37.9,30.6,23.4,26.6,34.3,-1,-1,-1,-1}};
float max = 0, min = data[1][0], temp;
for(int i=0; i<3; i++)
{
for(int j=0; j<12; j++)
{
if(data[i][j] < min && data[i][j] != -1)
min = data[i][j];
if(data[i][j] > max)
max = data[i][j];
}
}
printf("最大值:%.2f, 最小值:%.2f\n",max, min);
for(int i=0; i<3; i++)
{
for(int j=0; j<12; j++)
{
temp = data[i][j];
if(temp > 0)
{
printf("%d年%2d月:",i + 2014 , j +1);
while(temp-- >= min)
{
printf("*");
}
printf("\n");
}
}
}
return 0;
}
看起来问题可能与 cmd 窗口大小有关。不同版本的命令提示符可能会在窗口被调整大小时表现出不同的行为。
对于图二中的数据间断,您可以尝试使用滚动条在 cmd 窗口中查看所有数据,或者尝试将窗口调整为更大的大小。
对于图一中的重复数据,这可能是由于 cmd 窗口太小而导致输出的某些部分被隐藏而重复打印。您可以尝试使用滚动条和/或将窗口调整为更大的大小以查看完整的输出。如果问题仍然存在,请考虑在代码中添加最终的换行符以确保在输出到 cmd 时每个输出都在新的一行上打印。
在任何情况下,您都可以尝试使用更高级的终端模拟器(例如 Windows Terminal)来获得更好的控制台体验。
有用请设置最佳答案
|
|