紧急求助!!关于抛硬币的程序

关于写一个抛硬币的程序
使用rand()函数
电脑投掷硬币,使用者表示前后。1是正面,0是反面
也需要用
图片说明

这个图的程序就是先问你 选择1还是0 正面还是反面
选择1 之后它回答错误
问你是否继续,y就是yes
然后又输入1 这次正确
再继续 输入y 这次输入0 错误
最后是否继续,输入n就是no
程序结束

求大神指导蟹蟹!

#include <iostream>
#include<time.h>
using namespace std;
int main()
{
    int a,r;
    char c;
    srand((int)time(0));
    while (1) {
        printf("1 or 0:");
        scanf("%d",&a);
        r = rand()%2;
        if(r == a) printf("right!\n");
        else printf("wrong!\n");
        printf("Again? y or n:");
        getchar();
        scanf("%c",&c);
        if(!(c == 'y' || c == 'Y'))
        {
            printf("Game over\n");
            break;
        }
    }
    return 0;
}