برای دسترسی به هر کاراکتر یه رشته باید از اپراتور کروشه استفاده کنید.مثلا برای رشته ی
string s1="abcdefg";
برای دسترسی به حرف 5 ام باید بنویسی
s1[4]
داخل کروشه 4 گذاشتم چون شروع کاراکتر های یک رشته از 0 هست.اگه یه آرایه ای از کاراکتر ها رو هم داشته باشی به همین ترتیبه.
char a[10]="abcdef";
a[4]='e';
در مورد مورد سوال دوم هم اول باید بیایی عددی که به صورت رشته است رو با تابع atoi به integer تبدیل کنی بعد روی اون عدد شرط مساله رو چک کنی.