presentationerror的简单介绍
Presentation Error 是什么错误,请指教
错误分析:通常是由有问题的驱动程序引起的(比如罗技鼠标的Logitech MouseWare 9.10和9.24版驱动程序会引发这个故障). 同时,有缺陷的内存、 损坏的虚拟内存文件、 某些软件(比如多媒体软件、杀毒软件、备份软件、DVD播放软件)等也会导致这个错误.
◇解决方案:检查最新安装或升级的驱动程序(如果蓝屏中出现"acpi.sys"等类似文件名, 可以非常肯定时驱动程序问题)和软件; 测试内存是否存在问题; 进入"故障恢复控制台", 转到虚拟内存页面文件Pagefile.sys所在分区, 执行"del pagefile.sys"命令, 将页面文件删除; 然后在页面文件所在分区执行"chkdsk /r"命令;进入Windows后重新设置虚拟内存.如果在上网时遇到这个蓝屏, 而你恰恰又在进行大量的数据下载和上传(比如:网络游戏、BT下载), 那么应该是网卡驱动的问题, 需要升级其驱动程序.

为什么Presentation Error
最后一组数据之后不要输出空行,因为题目中说的是 there is a blank line between outputs (注意是 between)
可以设一个计数器 prob,表示是第几组数据。初始值为0.
cout sum endl endl;
改成:
if (prob++) cout endl;
cout sum endl;
百练的题目,我的答案总是输出presentation error,请各位大神帮忙看看错在哪
题目输出没有空格,你有空格所以错了
presentation error就是多少了空格和换行符,算法和结果是正确的
#include stdio.h
#include string.h
int main()
{
int num[3] = {1,2,3};
int sum[3] = {0,0,0};
int temp;
int n,i,j;
int max;
char a[10],b[10],c[10];
scanf("%d",n);
getchar();
while(n--)
{
scanf("%s %s %s",a,b,c);
if(strcmp(a,"right") == 0)
sum[0] = sum[0] + 10;
if(strcmp(a,"wrong") == 0)
sum[0] = sum[0] - 10;
if(strcmp(b,"right") == 0)
sum[1] = sum[1] + 10;
if(strcmp(b,"wrong") == 0)
sum[1] = sum[1] - 10;
if(strcmp(c,"right") == 0)
sum[2] = sum[2] + 10;
if(strcmp(c,"wrong") == 0)
sum[2] = sum[2] - 10;
}
max = sum[0];
if(sum[0] == sum[1] sum[1] == sum[2])
{
printf("(1,%d)(2,%d)(3,%d)\n",sum[0],sum[1],sum[2]);
return 0;
}
if(sum[0] != sum[1] sum[1] != sum[2] sum[2] != sum[0])
{
for(i = 0; i 2; i++)
for(j = 0; j 2 - i; j++)
if(sum[i] sum[j])
{
temp = sum[i];
sum[i] = sum[j];
sum[j] = temp;
temp = num[i];
num[i] = num[j];
num[j] = temp;
}
for(i = 0; i 3; i++)
printf("(%d,%d)\n",num[i],sum[i]);
return 0;
}
if(sum[0] == sum[1] sum[1] != sum[2])
{
if(sum[1] sum[2])
printf("(3,%d)\n(1,%d)(2,%d)\n",sum[2],sum[0],sum[1]);
else
printf("(1,%d)(2,%d)\n(3,%d)\n",sum[0],sum[1],sum[2]);
return 0;
}
if(sum[0] == sum[2] sum[2] != sum[1])
{
if(sum[2] sum[1])
printf("(2,%d)\n(1,%d)(3,%d)\n",sum[1],sum[0],sum[2]);
else
printf("(1,%d)(3,%d)\n(2,%d)\n",sum[0],sum[2],sum[1]);
return 0;
}
if(sum[1] == sum[2] sum[2] != sum[0])
{
if(sum[2] sum [0])
printf("(1,%d)\n(2,%d)(3,%d)\n",sum[0],sum[1],sum[2]);
else
printf("(2,%d)(3,%d)\n(1,%d)\n",sum[1],sum[2],sum[0]); //空格去掉
}
return 0;
}
杭电1001,总说presentation error,想问一下出现如 runtime error, presentation error等这些错误该怎么解
runtime error 是运行错误,程序不能正确运行,比如有指针非法访问等
presentation error 是格式错误,输出的的结果是对的,只是由于多了或少了几个空格回车等,详细检查一下输出格式就行。
c++中为什么会Presentation Error呢?
有时候在电脑上写的程序运行成功,但在OJ平台上却会提示Presentation Error。
1.思路是对的,且运行时间符合要求
2.答案和标准结果非常接近,也就是说最可能是因为,在输出结果中,多了或少了不必要的空格或者回车或者其他,OJ平台对格式的检查非常严格,所以一定要认真检查程序的输出结果是否与标准一致。
Presentation Error
我写了个,逐字符判断的:
尴尬,提交了几次才Accept;
#includeiostream
using namespace std;
void Change(char c)
{
char c1;
switch(c)
{
case 'A':
case 'W':
case 'F':
cout'I';
break;
case 'C':
cout'L';
break;
case 'M':
cout'o';
break;
case 'S':
cout'v';
break;
case 'D':
case 'P':
case 'G':
case 'B':
cout'e';
break;
case 'L':
cout'Y';
break;
case 'X':
cout'u';
break;
case 'E'://主要是这里对于END的判断
if((c=getchar())=='N')
{
c1=c;
if((c=getchar())=='D')
exit(0);
else
{
cout'E';
Change(c1);
Change(c);
}
}
else
{
cout'E';
Change(c);
}
break;
default:
coutc;
break;
}
}
/////////////MAIN////////////
int main()
{
char c;
while(1)
{
c=getchar();
Change(c);
}
return 0;
}