C语言常用代码练习

    xiaoxiao2024-01-16  150

    1.求三个数中的最小值

    #include<stdio.h> #include<stdlib.h> int min(int a,int b,int c); int main() { while (1) { int num1, num2, num3; printf_s("输入三个数字:\n"); scanf_s("%d,%d,%d", &num1, &num2, &num3); printf("最小数为:%d", min(num1, num2, num3)); system("pause"); } } int min(int a, int b, int c) { int temp = a; if (a > b) { temp = b; } else if (a > c) { temp = c; } else temp =a ; return temp; }

    2.求n的阶乘

    /*#include<stdio.h> #include<stdlib.h> //int mul(int n); int main() { int num = 1; int n; scanf_s("%d", &n); while (n > 0) { num = num * n; n--; } printf("n的阶乘为:%d", num); system("pause"); }*/ #include<stdio.h> #include<stdlib.h> int mul(int a); int main() { while (1) { int n; //int result; printf_s("请输入一个数字n:\n"); scanf_s("%d", &n); //result = mul(n); printf_s("n的阶乘为:%d\n", mul(n)); system("pause"); } } int mul(int a) { int total = 1; while (a > 0) { total = total * a; a--; } return total; }

    3.计算长方体的体积

    #include<stdio.h> #include<stdlib.h> #define Height 10 //int calculate(int Long,int Width); int calculate(int Long,int Width) { int Result = 0; Result = Long * Width * Height; return Result; } int main() { int S_long; int S_width; int result = 0; printf("请输入长方体的长和宽:\n"); scanf("%d,%d",&S_long,&S_width); result = calculate(S_long,S_width); printf("长方体的体积为:%d、",result); system("pause"); }

    4.求最大公约数:辗转相除法,更相减损术

    /*辗转相除法求最大公约数 辗转相除法的算法流程可以如下: 步骤1:计算a与b的余数r。 步骤2:如果r为0,则返回gcd = b。否则,转到步骤3。 步骤3:使用b的值更新a的值,使用余数r更新b的值,转到步骤1。 */ /*#include<stdio.h> #include<stdlib.h> int GCD(int a,int b); int main() { int num1, num2; scanf_s("%d,%d", &num1, &num2); printf("最大公约数为:%d、", GCD(num1, num2)); system("pause"); } int GCD(int a, int b) { int r; if (a > b) { while((r = a % b)!= 0) { a = b; b = r; } } else { while((r = b % a)!= 0) { b = a; a = r; } } return b; }*/ //更相减损术求最大公约数 /* 原理很简单:两个正整数a和b(a > b),它们的最大公约数等于a-b的差 值c和较小数b的最大公约数。依次递归下去,直到两个数相等。这相等两 个数的值就是所求最大公约数。 */ #include<stdio.h> #include<stdlib.h> int GCD(int a, int b); int main() { int num1, num2; scanf_s("%d,%d", &num1, &num2); printf("最大公约数为:%d、", GCD(num1, num2)); system("pause"); } int GCD(int a, int b) { while (a != b) { if (a > b) { a = a - b; } else { b = b - a; } } return a; }

     

    最新回复(0)