编程语言解决的小问题#1

										*日常练习*

DAY2

**

  1. 给定两个整形变量的值,将两个值的内容进行交换。

  2. 不允许创建临时变量,交换两个数的内容。
    同时解决:
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    int a = 0, b = 0;
    int main()
    {
    printf(“请输入两个值:a b\n”);
    scanf("%d,%d", &a, &b);
    a = a ^ b, b = b ^ a, a = a ^ b;
    printf(“a=%d , b=%d”, a, b);
    system(“pause”);
    return 0;
    }
    3.求10 个整数中最大值。
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    int num[10] = { 1,2,3,4,5,6,7,8,9,10 };
    int max = 0;
    int x = 0;
    printf(“请依次输入10个整数:a,b,c…\n”);
    scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d", &num[0], &num[1], &num[2], &num[3], &num[4], &num[5], &num[6], &num[7], &num[8], &num[9]);
    for (x = 0; x < 10; x++)
    {
    if (max < num[x])
    max = num[x];
    else
    continue;
    }
    printf(“最大值为:%d”, max);
    system(“pause”);
    return 0;
    }
    4.将三个数按从大到小输出。
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    int i = 0, j = 0, k = 0;
    printf(“请依次输入3个整数:a,b,c\n”);
    scanf("%d,%d,%d", &i, &j, &k);
    if (i > j)
    if (i > k)
    {
    if (j > k)
    printf("%d\t%d\t%d\t", i, j, k);
    else
    printf("%d\t%d\t%d\t", i, k, j);
    }
    else
    printf("%d\t%d\t%d\t", k, i, j);
    else
    {
    if (j > k)
    {
    if (i > k)
    printf("%d\t%d\t%d\t", j, i, k);
    else
    printf("%d\t%d\t%d\t", j, k, i);
    }
    else
    printf("%d\t%d\t%d\t", k, j, i);
    }

    system(“pause”);
    return 0;
    }
    5.求两个数的最大公约数。
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    int a = 0, b = 0, i = 0,n = 1;
    printf(“请输入两个整数:a,b\n”);
    scanf("%d,%d", &a, &b);
    if (a == 0 || b == 0)
    printf(“没有最大公约数”);
    if (a == b)
    printf(“最大公约数为%d”, a);
    if (b > a)
    a = a ^ b, b = b ^ a, a = a ^ b;
    if (a % 2 == 0 && b % 2 == 0)
    {
    for (i = 0; i < 100; i++)
    {
    a = a / 2, b = b / 2;
    n = n* 2;
    if (a % 2 == 0 && b % 2 == 0)
    continue;
    else
    break;
    }
    }
    for (i = 0; i < 100; i++)
    {
    if (b > a)
    a = a ^ b, b = b ^ a, a = a ^ b;
    if (b == a - b)
    {
    n = n * b;
    printf(“最大公约数为%d”, n);
    break;
    }
    a = a - b;
    }
    system(“pause”);
    return 0;
    }

阅读更多

没有更多推荐了,返回首页