加密-C语言数组指针

#include <stdio.h>
#define N 10

//输入
int * enterNumber();
int * enterNumber(){//返回指针变量
    //输入
    static int ary[N];
    printf("输入一组数字:");
    for (int i=0; i<N; i++) {
        scanf("%d ",&ary[i]);
    }
    int *p=ary;
    return p;
}


//加密
void encryption(int *ptr);
void encryption(int *ptr){
    //加密规则是每个数字都加上5,然后再用除以10的余数代替该数字,然后首尾数字进行交换,也就是第一个数字和最后一个交换,第二个和倒数第二个交换。
    
    for (int i=0; i<N; i++) {
        int temp=*(ptr+i);
        *(ptr+i)=(temp+5)%10;
    }
    
    int tempN;
    for (int i=0; i<(N/2); i++) {
        int num1=*(ptr+i);
        int num2=*(ptr+N-1-i);
        tempN=num1;
        num1=num2;
        num2=tempN;
        
    }
}
//输出
void printNumber(int *ptr);
void printNumber(int *ptr){
    //输出
    int *p=ptr;
    
    printf("");
    for (int i=0; i<N; i++) {
        printf("%d ",*(p+i));
    }
    printf("\n");
    
}
int main(int argc, const char * argv[]) {
    //某个公司采用公用电话传递数据,数据为一串0~9的数字,长度为N,在传递过程中是加密的。加密规则是每个数字都加上5,然后再用除以10的余数代替该数字,然后收尾数字进行交换,也就是第一个数字和最后一个交换,第二个和倒数第二个交换。编写一个程序,用于接收一组数字,并且打印输出加密后的数据
    //输入
    int *ptr=enterNumber();
    
    //加密
    encryption(ptr);
    
    //输出
    printNumber(ptr);
    
    return 0;
}

你可能感兴趣的:(函数,C语言,指针)