-
个人简介
#include<bits/stdc++.h> using namespace std; string a,b; long long t,p,s; int main(){ printf("请输入标准答案:"); getline(cin,a); printf("请输入你的答案:"); getline(cin,b); if(a.size()<b.size()) printf("[警告]你的答案比标准答案长\n"); if(a.size()>b.size()) printf("[警告]你的答案比标准答案短\n"); while(a[a.size()-1]==' ') a.erase(a.size()-1,1); while(b[b.size()-1]==' ') b.erase(b.size()-1,1); t=max(a.size(),b.size()); p=100/t; s=0; if(a==b) printf("100分 答案正确\n测试点:\n"); else{ for(int i=0;i<t;i++) if(a[i]==b[i]) s+=p; printf("%lld分 ",s); printf("错误的答案\n测试点:\n"); } for(int i=0;i<t;i++){ if(a[i]!=b[i]) printf("0分 错误的答案\n"); else printf("%lld分 正确的答案\n",p); } return 0; } }答案判断(单行,不能使文件)!有点小问题!但十分好使!我会持续更新的!
#include<bits/stdc++.h> using namespace std; string a,b,line; long long t,s; double p; bool f; int main(){ //答案判断(文件,标准答案.out,你的答案.out) while(true){ f=true; ifstream file1("标准答案.out"); ifstream file2("你的答案.out"); while(getline(file1,line)) a+=line; while(getline(file2,line)) b+=line; if(a.size()<b.size()) printf("[警告]你的答案比标准答案长\n"); if(a.size()>b.size()) printf("[警告]你的答案比标准答案短\n"); while(a[a.size()-1]==' ') a.erase(a.size()-1,1); while(b[b.size()-1]==' ') b.erase(b.size()-1,1); t=max(a.size(),b.size()); p=100.0/t; s=0; if(a==b) printf("100分 答案正确\n测试点:\n"); else{ for(int i=0;i<t;i++) if(a[i]==b[i]) s+=p; printf("%lld分 ",s); printf("错误的答案\n测试点:\n"); } for(int i=0;i<t;i++){ if(a[i]!=b[i]){ printf("0分 错误的答案\n"); f=false; } else printf("%.12f分 正确的答案\n",p); } if(f==false){ printf("代码出错!请检查!"); return 0; } } return 0; }答案判断(单行,能使文件)!十分好使!我会持续更新的!
-
通过的题目
-
最近活动
题目标签
- C++语法基础
- 31
- 难度
- 16
- 来源
- 15
- 顺序
- 13
- C++语法高级
- 12
- 基础算法
- 11
- 循环
- 11
- 选择结构
- 11
- 基础问题
- 10
- 入门
- 9
- 一维数组
- 7
- 前缀和与差分
- 7
- 时间
- 6
- 普及-
- 6
- 2025
- 4
- 分支问题
- 4
- 数组问题
- 4
- CCF中学生计算机程序设计(基础篇)
- 4
- 一本通编程启蒙
- 4
- atcoder
- 4