LOGIC-BASED REVISION SHEET, Study notes of C programming

C & C++ PROGRAMMING - LOGIC-BASED REVISION SHEET PATTERN 1: INPUT → PROCESS → OUTPUT Program 1: Basic I/O Input: One number Logic: Read input, print output

Typology: Study notes

2025/2026

Uploaded on 02/02/2026

aayush-sajan-menon
aayush-sajan-menon 🇮🇳

1 document

1 / 25

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
C & C++ PROGRAMMING - LOGIC-BASED REVISION SHEET
PATTERN 1: INPUT PROCESS OUTPUT
Program 1: Basic I/O
Input: One number
Logic: Read input, print output
Program 2: Simple Calculation
Input: Two numbers
Logic: Read two values, perform operation, print result
PATTERN 2: IF-ELSE (SINGLE DECISION)
Program 3: Even or Odd
Input: One number
Logic: If n%2==0 then even, else odd
c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%d", n);
return 0;
}
c
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a + b);
return 0;
}
c
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Partial preview of the text

Download LOGIC-BASED REVISION SHEET and more Study notes C programming in PDF only on Docsity!

C & C++ PROGRAMMING - LOGIC-BASED REVISION SHEET

PATTERN 1: INPUT → PROCESS → OUTPUT

Program 1: Basic I/O

Input: One number

Logic: Read input, print output

Program 2: Simple Calculation

Input: Two numbers

Logic: Read two values, perform operation, print result

PATTERN 2: IF-ELSE (SINGLE DECISION)

Program 3: Even or Odd

Input: One number

Logic: If n%2==0 then even, else odd

c

#include int main() { int n; scanf("%d", &n); printf("%d", n); return 0 ; }

c

#include int main() { int a, b; scanf("%d %d", &a, &b); printf("%d", a + b); return 0 ; }

c

Program 4: Positive or Negative

Input: One number

Logic: If n>0 positive, else if n<0 negative, else zero

Program 5: Pass or Fail

Input: Marks

Logic: If marks>=40 pass, else fail

#include int main() { int n; scanf("%d", &n); if(n % 2 == 0 ) printf("Even"); else printf("Odd"); return 0 ; }

c

#include int main() { int n; scanf("%d", &n); if(n > 0 ) printf("Positive"); else if(n < 0 ) printf("Negative"); else printf("Zero"); return 0 ; }

c

#include int main() { int m; scanf("%d", &m); if(m >= 40 ) printf("Pass"); else printf("Fail");

PATTERN 4: NESTED IF-ELSE

Program 8: Leap Year

Input: Year

Logic: Check divisible by 4, then 100, then 400

PATTERN 5: SWITCH CASE

Program 9: Calculator

Input: Operator and two numbers

Logic: Use switch to select operation

c

#include int main() { int y; scanf("%d", &y); if(y % 4 == 0 ) { if(y % 100 == 0 ) { if(y % 400 == 0 ) printf("Leap"); else printf("Not Leap"); } else printf("Leap"); } else printf("Not Leap"); return 0 ; }

c

#include int main() { char op; float a, b; scanf(" %c %f %f", &op, &a, &b); switch(op) { case '+': printf("%.2f", a+b); break; case '-': printf("%.2f", a-b); break; case '': printf("%.2f", ab); break; case '/': printf("%.2f", a/b); break; default: printf("Invalid");

Program 10: Grade System

Input: Marks

Logic: Use switch with ranges

PATTERN 6: FOR LOOP (FIXED COUNT)

Program 11: Print 1 to N

Input: N

Logic: Loop from i=1 to i<=n, print i

return 0 ; }

c

#include int main() { int m; scanf("%d", &m); switch(m/ 10 ) { case 10 : case 9 : printf("A"); break; case 8 : printf("B"); break; case 7 : printf("C"); break; case 6 : printf("D"); break; default: printf("F"); } return 0 ; }

c

#include int main() { int n, i; scanf("%d", &n); for(i = 1 ; i <= n; i++) printf("%d ", i); return 0 ; }

Program 15: Count Even Numbers 1 to N

Input: N

Logic: Start count=0, if i%2==0 increase count

Program 16: Sum of Even Numbers

Input: N

Logic: Start sum=0, if i%2==0 add to sum

PATTERN 8: WHILE LOOP (UNKNOWN COUNT)

scanf("%d", &n); for(i = 1 ; i <= n; i++) sum = sum + i; printf("%d", sum); return 0 ; }

c

#include int main() { int n, i, count = 0 ; scanf("%d", &n); for(i = 1 ; i <= n; i++) if(i % 2 == 0 ) count++; printf("%d", count); return 0 ; }

c

#include int main() { int n, i, sum = 0 ; scanf("%d", &n); for(i = 1 ; i <= n; i++) if(i % 2 == 0 ) sum = sum + i; printf("%d", sum); return 0 ; }

Program 17: Sum of Digits

Input: One number

Logic: Extract last digit with %10, remove with /

Program 18: Count Digits

Input: One number

Logic: Remove digits one by one, count each

Program 19: Reverse Number

Input: One number

Logic: Build reverse by adding last digits

c

#include int main() { int n, sum = 0 ; scanf("%d", &n); while(n > 0 ) { sum = sum + n % 10 ; n = n / 10 ; } printf("%d", sum); return 0 ; }

c

#include int main() { int n, count = 0 ; scanf("%d", &n); while(n > 0 ) { count++; n = n / 10 ; } printf("%d", count); return 0 ; }

c

Program 22: Prime Number Check

Input: N

Logic: Check if divisible by any number from 2 to n-

Program 23: Fibonacci Series

Input: N terms

Logic: Start a=0,b=1, next=a+b, shift values

#include int main() { int n, i, fact = 1 ; scanf("%d", &n); for(i = 1 ; i <= n; i++) fact = fact * i; printf("%d", fact); return 0 ; }

c

#include int main() { int n, i, flag = 1 ; scanf("%d", &n); if(n <= 1 ) flag = 0 ; for(i = 2 ; i < n; i++) if(n % i == 0 ) flag = 0 ; if(flag) printf("Prime"); else printf("Not Prime"); return 0 ; }

c

#include int main() { int n, i, a = 0 , b = 1 , c; scanf("%d", &n); printf("%d %d ", a, b); for(i = 2 ; i < n; i++) {

Program 24: Palindrome Number

Input: N

Logic: Reverse number, check if same as original

Program 25: Armstrong Number

Input: N

Logic: Sum of cubes of digits equals number

c = a + b; printf("%d ", c); a = b; b = c; } return 0 ; }

c

#include int main() { int n, temp, rev = 0 ; scanf("%d", &n); temp = n; while(n > 0 ) { rev = rev * 10 + n % 10 ; n = n / 10 ; } if(temp == rev) printf("Palindrome"); else printf("Not Palindrome"); return 0 ; }

c

#include int main() { int n, temp, sum = 0 , r; scanf("%d", &n); temp = n; while(n > 0 ) { r = n % 10 ; sum = sum + r * r * r; n = n / 10 ;

Program 28: Reverse String

Input: String

Logic: Print from last to first

Program 29: Palindrome String

Input: String

Logic: Compare first with last, second with second-last

printf("%d", count); return 0 ; }

c

#include int main() { char s[ 100 ]; int i, len = 0 ; scanf("%s", s); for(i = 0 ; s[i] != '\0'; i++) len++; for(i = len - 1 ; i >= 0 ; i--) printf("%c", s[i]); return 0 ; }

c

#include int main() { char s[ 100 ]; int i, j, len = 0 , flag = 1 ; scanf("%s", s); for(i = 0 ; s[i] != '\0'; i++) len++; j = len - 1 ; for(i = 0 ; i < len/ 2 ; i++) { if(s[i] != s[j]) flag = 0 ; j--; } if(flag) printf("Palindrome"); else printf("Not Palindrome");

Program 30: String Copy

Input: String

Logic: Copy character by character

PATTERN 12: ARRAY PROGRAMS (LOOP THROUGH ELEMENTS)

Program 31: Sum of Array

Input: N elements

Logic: Loop through array, add each element

Program 32: Largest in Array

return 0 ; }

c

#include int main() { char s1[ 100 ], s2[ 100 ]; int i; scanf("%s", s1); for(i = 0 ; s1[i] != '\0'; i++) s2[i] = s1[i]; s2[i] = '\0'; printf("%s", s2); return 0 ; }

c

#include int main() { int a[ 100 ], n, i, sum = 0 ; scanf("%d", &n); for(i = 0 ; i < n; i++) scanf("%d", &a[i]); for(i = 0 ; i < n; i++) sum = sum + a[i]; printf("%d", sum); return 0 ; }

Input: N elements

Logic: Swap first with last, second with second-last

PATTERN 13: 2D ARRAY (NESTED LOOPS)

Program 35: Matrix Addition

Input: Two matrices

Logic: Add corresponding elements

c

#include int main() { int a[ 100 ], n, i, j, temp; scanf("%d", &n); for(i = 0 ; i < n; i++) scanf("%d", &a[i]); i = 0 ; j = n - 1 ; while(i < j) { temp = a[i]; a[i] = a[j]; a[j] = temp; i++; j--; } for(i = 0 ; i < n; i++) printf("%d ", a[i]); return 0 ; }

c

#include int main() { int a[ 10 ][ 10 ], b[ 10 ][ 10 ], c[ 10 ][ 10 ], r, col, i, j; scanf("%d %d", &r, &col); for(i = 0 ; i < r; i++) for(j = 0 ; j < col; j++) scanf("%d", &a[i][j]); for(i = 0 ; i < r; i++) for(j = 0 ; j < col; j++) scanf("%d", &b[i][j]); for(i = 0 ; i < r; i++) for(j = 0 ; j < col; j++)

Program 36: Transpose Matrix

Input: Matrix

Logic: Swap rows and columns

PATTERN 14: FUNCTIONS (REUSABLE CODE)

Program 37: Function for Sum

Input: Two numbers

Logic: Define function, call from main

c[i][j] = a[i][j] + b[i][j]; for(i = 0 ; i < r; i++) { for(j = 0 ; j < col; j++) printf("%d ", c[i][j]); printf("\n"); } return 0 ; }

c

#include int main() { int a[ 10 ][ 10 ], t[ 10 ][ 10 ], r, col, i, j; scanf("%d %d", &r, &col); for(i = 0 ; i < r; i++) for(j = 0 ; j < col; j++) scanf("%d", &a[i][j]); for(i = 0 ; i < r; i++) for(j = 0 ; j < col; j++) t[j][i] = a[i][j]; for(i = 0 ; i < col; i++) { for(j = 0 ; j < r; j++) printf("%d ", t[i][j]); printf("\n"); } return 0 ; }

c

#include int sum(int a, int b) {

PATTERN 15: RECURSION (FUNCTION CALLS ITSELF)

Program 40: Factorial (Recursion)

Input: Number

Logic: fact(n) = n * fact(n-1), base: fact(1)=

Program 41: Sum (Recursion)

Input: Number

Logic: sum(n) = n + sum(n-1), base: sum(0)=

int n; scanf("%d", &n); printf("%d", fact(n)); return 0 ; }

c

#include int fact(int n) { if(n <= 1 ) return 1 ; return n * fact(n - 1 ); } int main() { int n; scanf("%d", &n); printf("%d", fact(n)); return 0 ; }

c

#include int sum(int n) { if(n == 0 ) return 0 ; return n + sum(n - 1 ); } int main() { int n; scanf("%d", &n); printf("%d", sum(n));

PATTERN 16: POINTERS (ADDRESS MANIPULATION)

Program 42: Swap Using Pointers

Input: Two numbers

Logic: Pass addresses, change values at addresses

PATTERN 17: STRUCTURES (GROUP RELATED DATA)

Program 43: Student Record

Input: Name, roll, marks

Logic: Define structure, create variable, access members

return 0 ; }

c

#include void swap(int *a, int *b) { int t = *a; *a = *b; *b = t; } int main() { int x, y; scanf("%d %d", &x, &y); swap(&x, &y); printf("%d %d", x, y); return 0 ; }

c

#include struct Student { char name[ 50 ]; int roll; float marks; }; int main() { struct Student s; scanf("%s %d %f", s.name, &s.roll, &s.marks);