函数、数组刷题

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<math.h>

int yue(int n,int m)
{
    int max = 1;
    for (int i = 1; i <= n; i++)
    {
        if (n% i == 0 && m%i == 0)max = i;
    }
    return max;
}
int bei(int n, int m)
{
    int min = 10000;
    for (int i = 1000; i >=n; i--)
    {
        if ( i%n == 0 && i%m == 0)min = i;
    }
    return min;
}
int f(int n)
{
    int count = 0;
    for (int i = 1; i <= n; i++)
    {
        if (yue(i, n) == 1)count++;
    }
    return count;
}

int amicable_number(int a, int b)
{
    int sum1 = 0;
    int sum2 = 0;
    if (a == b)return 0;
    for (int i = 1; i < a; i++)
    {
        if (a % i == 0)sum1 += i;
    }
    for (int i = 1; i < b; i++)
    {
        if (b % i == 0)sum2 += i;
    }
    if (sum1 ==b &&sum2==a)return 1;
    else return 0;
}

void CharPyramid(int n, char ch)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = n-1; j > i; j--)
        {
            printf(" ");
        }
        for (int k = 0; k <= i; k++)
        {
            printf("%c ", ch);
        }
        printf("\n");
    }
}

int factorsum(int num)
{
    int sum = 0;
    for (int i = 1; i < num; i++)
    {
        if (num % i == 0)sum += i;
    }
    return sum;
}
void print_pn(m, n)
{
    int count = 0;
    for (int i = m; i <= n; i++)
    {
        if (factorsum(i) == i)
        {
            count++;
            printf("%d = 1",i);
            for (int j = 2; j < i; j++)
            {
                if (i % j == 0)printf(" + %d",j);
            }
            printf("\n");
        }

    }
    if (count==0)printf("No perfect number");
}
//int main() {
//   /* int m, n;
//    scanf("%d%d", &m, &n);
//    print_pn(m, n);*/
//
//    //double eps;
//    //scanf("%le", &eps);
//    //double p = 1;
//    //double item = 1;
//    //int i = 1;
//    //do
//    //{
//    //    item *= i;
//    //    item /= (2.0 * i + 1);
//    //    p += item;
//    //    i++;
//    //} while (item >= eps);
//    //printf("PI = %.5lf", 2 * p);
//
//    //int a, b;
//    //char c;
//    //scanf("%d", &a);   
//    //do
//    //{
//    //    scanf("%c", &c);
//    //    switch (c)
//    //    {
//    //    case'+':
//    //        scanf("%d", &b);
//    //        a = a + b;
//    //        break;
//    //    case'-':
//    //        scanf("%d", &b);
//    //        a = a - b;
//    //        break;
//    //    case'*':
//    //        scanf("%d", &b);
//    //        a = a * b;
//    //        break;
//    //    case'/':
//    //        scanf("%d", &b);
//    //        if (b == 0)printf("ERROR");
//    //        a = a / b;
//    //        break;
//    //    case'=':
//    //        printf("%d", a);
//    //        break;
//    //    default:
//    //        printf("ERROR");
//    //        break;
//    //    }
//
//    //} while (c != '=');
//    //
//
//
//    int len = 0;
//    int flag = 1;
//    while(1)
//    {
//        char ch = getchar();
//        if (ch == '\n')
//        {
//            if(len)printf("%d ", len);
//            if(flag)printf("%d", len);
//            break;
//        }
//        else if (ch == ' ')
//        {
//            if (len)
//            {
//                printf("%d ", len);
//                len = flag = 0;
//            }
//           
//        }
//        else len++;
//    }
//
//    return 0;
//}

//int main()
//{
//    int n;
//    int arr[100];
//    int index;
//    scanf("%d", &n);
//    for (int i = 0; i < n; i++)
//    {
//        scanf("%d", &arr[i]);
//    }
//    int item;
//    int k = 0;
//    scanf("%d", &item);
//
//    while (arr[k++] < item);
//    for (int j = n; j > k - 1; j--)
//    {
//        int one = arr[j - 1];
//        arr[j - 1] = arr[j];
//        arr[j] = one;
//    }
//    arr[k - 1] = item;
//   
//    for (int i = 0; i <= n; i++)
//    {
//        printf("%d ", arr[i]);
//    }
//    
//    return 0;
//}
//int main()
//{
//    int n;
//    int arr[1000];
//    int count = 0;
//    scanf("%d", &n);
//    for (int i = 0; i < n; i++)
//    {
//        scanf("%d", arr[i]);
//    }
//    for (int i = 0; i < n; i++)
//    {
//        for (int k = 0; k <= i; i++)
//        {
//            if (arr[k] == arr[i])count++;
//        }
//    }
//    return 0;
//}

void init(int arr[], int n)
{
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
}
int  dele(int arr[],int arr_n[], int n)
{
    int count = 0;
    for (int i = 0; i < n; i++)
    {
        int flag = 1;
        for (int j = 0; j < i; j++)
        {
            if (arr[i] == arr[j])flag = 0;
        }
        if (flag)
        {
            arr_n[count] = arr[i];
            count++;
        }
    }
    return count;
}
//int main()
//{
//    int arr[100], arr2[100];
//    int arr3[100], arr4[100];
//
//    int m, n;
//    scanf("%d",&m);
//    init(arr, m);
//    scanf("%d", &n);
//    init(arr2, n);
//    int m1 = dele(arr, arr3, m);
//    int n1 = dele(arr2, arr4, n);
//    for (int i = 0; i < m1; i++)
//    {
//        int flag = 0;
//        for (int j = 0; j < n1; j++)
//        {
//            if (arr3[i] == arr4[j])flag = 1;
//        }
//        if (flag==0)printf("%d ", arr3[i]);
//    }
//    for (int i = 0; i < n1; i++)
//    {
//        int flag = 0;
//        for (int j = 0; j < m1; j++)
//        {
//            if (arr4[i] == arr3[j])flag = 1;
//        }
//        if (flag==0)printf("%d ", arr4[i]);
//    }
//
//
//    return 0;
//}

//int main()
//{
//    int arr[10][10];
//    int m, n;
//    scanf("%d%d", &m, &n);
//    for (int i = 0; i < n; i++)
//    {
//        for (int j = 0; j < n; j++)
//        {
//            scanf("%d", &arr[i][j]);
//        }
//    }
//
//    m = m % 3;
//    for (int i = 0; i < n; i++)
//    {
//        int k = m;
//        while (k)
//        { 
//            int item = arr[i][n - 1];
//            for (int j = n; j > 0;j--)
//            {
//                arr[i][j] = arr[i][j - 1];
//            }
//            arr[i][0] = item;
//            k--;
//        }
//    }
//
//    //打印
//    for (int i = 0; i < n; i++)
//    {
//        for (int j = 0; j < n; j++)
//        {
//            printf("%d ", arr[i][j]);
//        }
//        printf("\n");
//    }
//    return 0;
//}

//int main()
//{
//    int n;
//    int arr[10][10];
//    int count = 1;
//    scanf("%d", &n);
//    int len_s =1,wid_s = 1;
//    int len_end =n, wid_end = n;
//
//    while (count <= n * n)
//    {
//        for (int i = len_s; i <= len_end; i++)
//        {
//            arr[wid_s][i] = count;
//            count++;
//        }
//        wid_s++;
//        for (int i = wid_s; i <= wid_end; i++)
//        {
//            arr[i][len_end] = count;
//            count++;
//        }
//        len_end--;
//        for (int i = len_end; i >= len_s; i--)
//        {
//            arr[wid_end][i] = count;
//            count++;
//        }
//        wid_end--;
//        for (int i = wid_end; i >= wid_s; i--)
//        {
//            arr[i][len_s] = count;
//            count++;
//        }
//        len_s++;
//
//    }
//    for (int i = 1; i <= n; i++)
//    {
//        for (int j = 1; j <= n; j++)
//        {
//            printf("%3d ", arr[i][j]);
//        }
//        if(i!=n)printf("\n");
//    }
//
//
//  
//    return 0;
//}
int win(char arr[30][30], int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if (arr[i][j] != '*')return 0;
        }
    }
    return 1;
}
void print(char arr[30][30], int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            printf("%c ", arr[i][j]);
        }
        printf("\n");
    }
}
//int main()
//{
//    int n;
//    char arr[30][30];
//    scanf("%d", &n);
//    getchar();
//    n = 2 * n;
//    for (int i = 0; i < n; i++)
//    {
//        for (int j = 0; j < n; j++)
//        {
//            scanf("%c", &arr[i][j]);
//            if (arr[i][j] == ' ')j--;
//        }
//        getchar();
//    }
//    int k = 0;
//    scanf("%d", &k);
//    int err = 0;
//
//    for (int i = 0; i < k; i++)
//    {
//        int x1, y1, x2, y2;
//        scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
//        x1--;
//        y1--;
//        x2--;
//        y2--;
//        if ((arr[x1][y1] == arr[x2][y2]) && arr[x1][y1] != '*')
//        {
//            arr[x1][y1] = '*';
//            arr[x2][y2] = '*';
//            print(arr, n);
//        }
//       
//        else
//        {
//            err++;
//            printf("Uh-oh\n");
//            if (err == 3)
//            {
//                printf("Game Over");
//                break;
//            }
//        }
//        if (win(arr, n))
//        {
//            printf("Congratulations!");
//            break;
//        }
//    }
//   /* printf("%c%c", arr[0][1], arr[1][3]);*/
//    return 0;
//}

int main()
{
    char arr[100];
    gets(arr);
    int len = strlen(arr);
    int n;
    scanf("%d", &n);
    if (n >= 0)
    {
        n = n % 26;
        for (int i = 0; i < len; i++)
        {
            if (arr[i] >= 'a' && arr[i] <= 'z')
            {
                if (arr[i] + n > 'z')arr[i] = arr[i] + n - 26;
                else arr[i] = arr[i] + n;
            }
            else if (arr[i] >= 'A' && arr[i] <= 'Z')
            {
                if (arr[i] + n > 'Z')arr[i] = arr[i] + n - 26;
                else arr[i] = arr[i] + n;
            }
            
        }
    }
    else if (n < 0)
    {
        n = -n;
        n = n % 26;
        for (int i = 0; i < len; i++)
        {
            if (arr[i] >= 'a' && arr[i] <= 'z')
            {
                if (arr[i] - n < 'a')arr[i] = arr[i] - n + 26;
                else arr[i] = arr[i] - n;
            }
            else if (arr[i] >= 'A' && arr[i] <= 'Z')
            {
                if (arr[i] - n < 'A')arr[i] = arr[i] - n + 26;
                else arr[i] = arr[i] - n;
            }

        }
    }
    for (int i = 0; i < len; i++)
    {
        printf("%c", arr[i]);
    }
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值