加密: 

#include<stdio.h>
#include<string.h>
int main(){	
	//凯撒加密 
	char  enc[100],dec[100];
	printf("要加密或者解密的字符串:");
	scanf("%s",enc);
	printf("输入偏移位数");
	int con;
	scanf("%d",&con);
	
	int i; 
	for(i=0;i<strlen(enc);++i){
		
		if(enc[i]<='z'&&enc[i]>='a'){
			
			dec[i] = (enc[i]-'a'+con)%26 + 'a';
		
		}else{
			dec[i] = (enc[i]-'A'+con)%26 + 'A';
		}
	}
	dec[i]='\0';
	printf("要加密或者解密的字符串:%s",dec);
	return 0;
	
}

解密:

#include<stdio.h>
#include<string.h>
int main(){	
	//凯撒加密 
	char  enc[100],dec[100];
	printf("要加密或者解密的字符串:");
	scanf("%s",enc);
	printf("输入偏移位数");
	int con;
	scanf("%d",&con);
	
	int i; 
	for(i=0;i<strlen(enc);++i){
		
		if(enc[i]<='z'&&enc[i]>='a'){
			
			dec[i] = (enc[i]-'a'+26-con)%26 + 'a';
		
		}else{
			dec[i] = (enc[i]-'A'+26-con)%26 + 'A';
		}
	}
	dec[i]='\0';
	printf("要加密或者解密的字符串:%s",dec);
	return 0;
	
}