CodeGraderBench/CodeGraderBench huggingface dataset:
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
	int main(){
	int n,m=0,a,i=0,b=0,p,q=1,x=1;
	cin>>n;
while(n%10==0){
n=n/10;}
p=n;
	while(n%10!=0){
		a=n%10;
		n=n/10;
		i++;
}
		
while(p%10!=0){
b=p%10;
while(x<i){
q*=10;
x++;

}x=1;
m+=b*q;
q=1;
i--;p=p/10;
}cout<<m;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main()
{
int n,k;
cin>>n;   
      {
       while(n>0)
         {
           k=n%10; 
         if(k>0)
         { cout<<k;}
          n=n/10;
         }
      }

}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include <iostream>
#include <cmath>
using namespace std;

int main() {
	int n=0, div=0, num=0;
	cin>>n;
	while(n>0) {
	div=n%10;
	num=num*10 + div;
	n=n/10;
	}
	cout<<num;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int i=0;
while(n>0){
int rem=n%10;
i=i*10+rem;
}
cout<<i;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include <iostream>
using namespace std;
int main(){
	int m,n;
	m=0;
	cin >> n;
  while(n!=0)
  {
	m=m*10+n%10;
	n=n/10;
}
	
	cout <<m;
	
	
	
	
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main()
{
int n,q;
cin>>n;
if(n%1000==0) cout<<n/1000;
else if(n%100==0) n=n/100;
else if(n%10==0) n=n/10;
while(n!=0)
{
q=n%10;
n=n/10;
cout<<q;}
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main()
{
	int n,k,b=10;
	cin>>n;
	for(int i=0;i<n;b=b*10)
	{
		k=n/b;
		if(k==0) break;
	}
    b=b/10;
	int s=0;
	int z=b;
	for(int j=0;j<n;b=b/10)
	{
		int a=n/b;
		n=n-a*b;
		s=s+(a*z/b);
		if (b==1) break;
	}
	cout<<s;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;

int main(){

	long unsigned int n,m=0,d;
	cin>>n;
	while(n>0){
	
		d = n%10;
		m = m*10; m = m + d;
		n = n - d; n = n/10;
	
	}
	
	cout<<m;

return 0;}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main()
{
int n,r,sum=0,m;cin>>n;
while(n>=1)
{r=n%10;
sum=(sum*10)+r;
n=n/10;
}
cout<<sum;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;

int pow(int a, int b) {
	int result = 1;
	for (int i = 0; i < b; i++) result *= a;
	return result;
}

int getLen(int n) {
	int result = 0;
	while ((n / pow(10, result)) > 0) result++;
	return result;
}

int main() {
	int n; cin >> n;
	int m = n;
	int len = getLen(n);
	int result = 0;
// *** make sure zero case is satisfied
for (int i = 1; i <= len; i++) {
	int val = 0;
	val = m / pow(10, i-1);
	val -= 10*(m / pow(10, i));
	result += val * pow (10, len - i);
}
cout << result << endl;
return 0;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include <iostream>
using namespace std;
int main(){
int n,num=0;
cin>>n;
int remainder;
for(int i=1;1<=n;i++){
remainder=n%10;
n/=10;
num=num*10;
num+=remainder;
}
cout<<num;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main()
{
long long int n, m=0, num; cin>>n; num=n;
while(n)
{
m*=10;
m+=(n%10);
n/=10;
}
cout<<m;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main(){
	
	unsigned long long n; cin>>n; 
	unsigned long long ans = 0;

	while(n>0){
		ans *= 10;
		ans += n%10;
		n /= 10;
	}

	cout<<ans;



	return 0;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
 unsigned int n,rev;
 rev = 0;
 cin>>n;
 //First we try to find the number  of digits of  n
 int i = 0;
 int temp = n;
 while(temp!=0)
      {
       i++;
       temp= temp/10;
      }
// Now, we just take every digit of n and multiply it by a suitable power of 10 to get the reverse number
 int j = 0;
 while(n!=0)
      {
       unsigned int k = n%10;
       int l = i - j - 1;
       unsigned int m = pow(10,l);
       unsigned int p = k*m;
       rev = rev + p;
       j++;
       n=n/10;
      }
 cout<<rev;
 return 0 ;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<simplecpp>
main_program{
int numval,digit,revval=0.0;
cin >> numval;
while(numval!=0)
{
digit=numval%10;
revval=(revval*10)+digit;
numval=numval/10;
}
cout << revval;








}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main() {

	int n; cin >> n;
	int digit;
	int reverse=0;
	
	while (n>0)
	{	
		digit = n%10;
		n = n/10;
		reverse = (reverse*10)+digit;
	}
	
cout << reverse;	
	}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
# include <iostream>
# include <cmath>
using namespace std; 
int main(){
long int n;
cin>>n;
int digit,rev=0;
while (n!=0){
digit=n%10;
rev=(rev*10)+digit;	
n=n/10;			  
}
cout<<rev;	
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int pow(int m,int n){
int i,z=1;
  for(i=1;i<=n;i++){
  z=z*m;
  }
return z;
}
int numdigits(int N){
int i,r;
  for(i=1;i>0;i++){
  r=(N%pow(10,i));
  if(r==N){break;}
  }
return i;
}
int p(int N,int p){
int l=(N%pow(10,p)-N%pow(10,p-1))/pow(10,p-1);
return l;
}
int main(void){
int N,k,i,j;
cin>>N;
k=numdigits(N);
  for (i=1;i<=k;i++){
  if(p(N,i)==0){continue;}
  else if(p(N,i)!=0){break;}
  }
if(i==k+1){cout<<0;}
else{
for(j=i;j<=k;j++){
cout<<p(N,j);
}
}
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main(){
unsigned int n;
cin>>n;
int z=0;
while(1){
int k=n%10;
z=z*10+k;
n/=10;
if(n==0) break;
}
cout<<z;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include <iostream>
using namespace std;
int main(){
long long int T;
cin>>T;
int k;
k=T%10;
if (k==0)T=T/10;
else {cout<<k;
      T=T-k;
      T=T/10;}
while(T>0){
k=T%10;
cout<<k;
T=T-k;
T=T/10;}
return 0;}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<simplecpp>
main_program{
	int n;
	cin>>n;
	while(n>0){
		if(n%10!=0){break;}
		n=n/10;
	}
	while(n>0){
		cout<<n%10;
		n=n/10;
	}
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include <iostream>
using namespace std;

int main(){
	long int n = 0;

	cin >> n;
	for (int x = 0; n != 0;){
		if (n%10 != 0 || x != 0){
			cout << n%10;
			x++;
		}
		n = n/10;
	}

	return 0;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
#include<cmath>
using namespace std;
int main (){
int n;
cin>>n;
int r=0;
int m=0;
if (n==0) {
cout<<"0";
}
while(n!=0){
r=n%10;
n=n/10;
m=(m*10)+r;
}
cout<<m;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include <iostream>
#include <cmath>
using namespace std;
int main(){
	int n, m, i, reverse_num=0;
	cin>>n;
	while(n !=0){
		reverse_num = 10*reverse_num + (n%10);//adds the last digit of updated no. to reverse_num 
		n=n/10;
	}
	cout<<reverse_num;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main(){
int n, rev=0, digit;
cin >> n;
while (n%10!=0){
digit=n%10;
rev=rev*10+digit;
n=n/10;
}
cout << rev;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main(){
int n;cin>>n;
while(n%10==0)n=n/10;
while(n/10!=0){
cout<<n%10;
n=n/10;


}
cout<<n%10;
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main()
{
int n,x;
cin>>n;
while(n>0)
{
x=n%10;
n=(n-x)/10;
cout<<x;
}
}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include<iostream>
using namespace std;
int main(){
int n,m=0;
cin >> n;
float val1=n;
int val2=n,dig=0,temp;
do { dig+=1;
     val1=val1/10;}while(val1>=1);
for (int i=1;i<=dig;i++){
 temp=val2%10;
 if (temp!=0){
            for(int j=1;j<=(dig-i);j++){temp=temp*10;}
            m=m+temp;}
 val2=int(val2/10);
 }
cout << m;





}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program that takes a positive integer n as input from the user and prints a number m whose digits are in reverse order as compared to n. If the number ends in one or more zeroes, then those zeroes should be ignored while printing the reverse.

Student submission:
#include <iostream> 
using namespace std ;
int main (){

	int n ;
	cin >> n ;
	do  {
	if (n%10!=0) break ;
	n=(n-n%10)/10;
	}
	while (n%10==0);
int x=0;
	do {
	int a=n%10 ;
	n=(n-a)/10 ;
	x=x*10+a;
	}
	while (n!=0) ;
	cout << x;
	return 0 ;
	}

Grading criterion: Are digits being correctly updated and utilised to calculate the number's reverse
Rating A: The digits from last to first digit of the number are correctly added to the reversed number
Rating B: The update of the number's reverse isn't happening correctly
Rating C: 0
Rating D: 0
Assigned grade: A