zoukankan      html  css  js  c++  java
  • 经典的C程序

    程序一:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数

     1 #include<stdio.h>
     2 void main(){
     3     int a, b, c, i;
     4     for (i = 100; i <= 999; i++){
     5         //获取百位数
     6         a = i / 100;
     7         //获取十位数
     8         b = i / 10 % 10;
     9         c = i % 10;
    10         if ((a*a*a + b*b*b + c*c*c) == i){
    11             printf("%d ",i);
    12         }
    13     }
    14 }

    程序二:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

     1 #include<stdio.h>
     2 void main()
     3 {
     4     int a, k = 0, i;
     5     char b[100];
     6     scanf_s("%d", &a);
     7     printf("%d=", a);
     8     for (i = 2; i <= a; i++)
     9     {
    10         do
    11         {
    12             if (a%i == 0)
    13             {
    14                 b[k] = i; k++;
    15                 a = a / i;
    16             }
    17             else
    18                 break;
    19         } while (a >= i);
    20     }
    21     for (i = 0; i<2 * k - 1; i++)
    22         if (i % 2 == 0)
    23             printf("%d", b[i / 2]);
    24         else
    25             printf("*");
    26 }

    程序三:输入两个正整数m和n,求其最大公约数和最小公倍数。

     1 #include<stdio.h>
     2 void main()
     3 {
     4     int a, b, x, y, r, t;
     5     scanf_s("%d,%d", &a, &b);
     6     printf("%d %d
    ", a, b);
     7     x = a;
     8     y = b;
     9     //交换位置  最终结果 y>x
    10     if (x>y)
    11     {
    12         t = y; y = x; x = t;
    13     }
    14     //碾转相除获取最大公约数
    15     do
    16     {
    17         r = y%x;
    18         y = x;
    19         x = r;
    20     } while (r != 0);
    21     printf("%d  ", y);
    22     //根据两个数的乘积除以其最大公约数就是最小公倍数
    23     printf("%d", a*b / y);
    24 }

    程序四:判断10-30之间有多少个素数,并输出所有素数。所谓素数:仅能被1和它本身整除的数。

     1 #include<stdio.h>
     2 void main()
     3 {
     4     int a, b, i, j, k, s = 0, n = 0;
     5     int c[100];
     6     for (i = 10; i <= 30; i++)
     7     {
     8         k = 0;
     9         for (j = 2; j <= i / 2; j++)
    10         {
    11             b = i%j;
    12             if (b == 0)
    13                 k = 1;
    14         }
    15         if (k == 0)
    16         {
    17             s++;//计数用
    18             c[n] = i;//将素数放进数组中
    19             n++;//数组键值
    20         }
    21     }
    22     printf("%d
    ", s);//一共多少个素数
    23     //打印出数组内容
    24     for (i = 0; i<n; i++)
    25         printf("%d ", c[i]);
    26 }

    程序五:Fibonacci数列,第1数为1,第2数为1,从第3输开始,为前两个数的和,即f1=1;f2=1;fn=fn-1+fn-2;求前20项个是什么,并且每行输出五个数

    #include<stdio.h>
    void main()
    {
        int f1, f2, f3, i, j;
        f1 = 1; f2 = 1;
        printf("%d  %d  ", f1, f2);
        for (i = 1; i <= 20; i++)
        {
            f3 = f1 + f2;
            f1 = f2;
            f2 = f3;
            printf("%d ", f3);
            //换行使用
            for (j = 1; j <= 20; j++)
            {
                if (i == 5 * j - 2)
                    printf("
    ");
            }
        }
    }

    程序六:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

    #include <stdio.h>
    void main()
    {
        int count, i, sum, t, a;
        scanf_s("%d", &count);
        scanf_s("%d", &a);
        t = a; sum = 0;
        //每个数在前一个数的基础上增长了10倍  并加上了个位数
        for (i = 1; i <= count; i++)
        {
            sum = sum + t;
            t = 10 * t + a;
        }
        printf("%3d", sum);
    }
  • 相关阅读:
    实验6:Mapreduce实例——WordCount
    暑期生活10
    暑期生活9
    暑期生活8
    暑期生活7
    暑期生活6
    暑期生活5
    暑期生活4
    暑期生活3
    暑期生活2
  • 原文地址:https://www.cnblogs.com/webclz/p/4255291.html
Copyright © 2011-2022 走看看