C Program to Print Next Successive Character & Adjacent Character

In this tutorial, we will learn about how to create a program in C that will print next successive character and adjacent character. Here first we have created a program that will ask from user to enter any character to find and print its next successive character. Also we have created a program that will take a character as input (from user at run-time) and then will print its adjacent character.

C Print Next Successive Character

Let's first create a program that will print next successive character of given character by user. Let's suppose that if user has entered a as character input, then program will print b (the next successive character of a). Or if user will provide C as character input, then program will print D as output.

The question is, write a program in C, to accept a character from user and process it in these two ways:

  1. If character is an alphabet then print its next successive character. For example, if user enters a then print b. If x then print y, and if z then print a.
  2. If it is not an alphabet then print the character itself as output

The answer to this question is given below:

#include<stdio.h>
#include<conio.h>
int main()
{
    char ch;
    printf("Enter any character: ");
    scanf("%c", &ch);
    printf("\n");
    if(ch>=65 && ch<90)
        printf("%c", ch+1);
    else if(ch>=97 && ch<122)
        printf("%c", ch+1);
    else if(ch==90)
        printf("%c", 65);
    else if(ch==122)
        printf("%c", 122);
    else
        printf("%c", ch);
    getch();
    return 0;
}

As the program given above was written under the Code::Blocks IDE, therefore after successful build and run, here is the sample run:

c program print next character

Now supply any character as input say a and press ENTER key to see the next character that comes after a. Here is the second snapshot of the sample run:

print next character c program

Let's check the same program with another sample run. This time provide the input as Z and press ENTER key:

print next successive character c

Here is another sample run that checks what will happen if user supplies any input that is not an alphabet character:

c print next character program

Program Explained

  • Receive any character as input
  • ASCII code of A-Z is 65-90. That is 65 for A, 66 for B, 67 for C, ..., 90 for Z
  • And ASCII code of a-z is 97-122. That is 97 for a, 98 for b, 99 for c, ..., 122 for z
  • Now check whether the character's ASCII code is greater than or equal to 65 and less than 90 or not
  • If it is, then increment the value of character and print it out as next successive character
  • Otherwise, check whether the character's ASCII code is greater than or equal to 97 and less than 122 or not
  • If it is, then again increment and print the value of character as output
  • Here we have excluded the ASCII code for Z (capital) and z (small), because if user enters z, then we have to print a as its successive character, and if user enters Z, then we have to print Z as its successive character, therefore we have checked using ASCII code and printed the value accordingly
  • And finally print the character as it is, if none of the above conditions evaluates to be true. That is if the given character is not comes under a-z and A-Z, print the character as it is on output screen

C Print Adjacent Character

Let's create another program that will print adjacent character of any given character by user at run-time. Here adjacent characters are the two character, one comes before and second comes after the given character. For example, if user has entered A, then print its adjacent character as Z and B. Or if user has entered D, then print C and E

#include<stdio.h>
#include<conio.h>
int main()
{
    char ch;
    printf("Enter any character: ");
    scanf("%c", &ch);
    printf("\n");
    if(ch>65 && ch<90)
        printf("Adjacent characters = %c and %c", ch-1, ch+1);
    else if(ch>97 && ch<122)
        printf("Adjacent characters = %c and %c", ch-1, ch+1);
    else if(ch==90)
        printf("Adjacent characters = %c and %c", ch-1, 65);
    else if(ch==122)
        printf("Adjacent characters = %c and %c", ch-1, 97);
    else if(ch==65)
        printf("Adjacent characters = %c and %c", 90, ch+1);
    else if(ch==97)
        printf("Adjacent characters = %c and %c", 122, ch+1);
    else
        printf("%c", ch);
    getch();
    return 0;
}

Here is the final snapshot of sample run:

c print adjacent characters

The concept used in above program is similar as used in previous program. Except that we have to print the previous character along with next character. Therefore we have used ASCII code for A, a, Z, and z in separate cases.

C Online Test


« Previous Program Next Program »



Like/Share Us on Facebook 😋