代码片断(10)(4 位领导批示)

求出100-1000中的水仙花数

算法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdio.h"
 
void main()
{
    int i,a,b,c;
    for(i=100;i<1000;i++)
    {
        a = i/100;
        b = (i-100*a)/10;
        c = i-100*a-10*b;
        if(i==a*a*a+b*b*b+c*c*c) printf("%d %d %d %d \n",a,b,c,i);
    }
}

算法二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdio.h"
 
void main()
{
    int i,j,k,a1,a2;
    for(i=1;i<=9;i++)
    {
        for(j=0;j<=9;j++)
        {
            for(k=0;k<=9;k++)
            {
                a1 = i*i*i+j*j*j+k*k*k;
                a2 = i*100+j*10+k;
                if(a1==a2) printf("%d\n", a2);
            }
        }
    }
}

代码片断(9)(3 位领导批示)

函数:反转数组.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "stdio.h"
 
void inverse_arr(int *p)
{
    int *q,t;
    q = p+9;
    while(p<q)
    {
        t=*p;
        *p=*q;
        *q=t;
        p++;
        q--;
    }
}
 
void main()
{
    int a[10] = {2,1,5,12,56,111,67,12,56,99};
    int i;
    inverse_arr(a);
    for(i=0;i<10;i++)
    {
        printf(" %d ",a[i]);
    }
}

代码片断(8)(0 位领导批示)

函数:求数组中最大值的下标

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int max_arr(int *p)
{
    int k=0,max=*p,i=0;
    for(;i<10;i++)
    {
        if(*(p+i)>max)
        {
            max=*(p+i);
            k=i;
        }
    }
    return k;
}
 
void main()
{
    int a[10] = {2,1,5,12,56,11,67,12,56,99};
    int k,*p=a;
    k=max_arr(a);
    printf("a[%d]=%d",k,*(p+k));
}

代码片断(7)(0 位领导批示)

数组指针小例子..copy一个数据的值至另一个数组..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdio.h"
#define M 5
 
void main()
{
    int i;
    int a[M] = {1,2,3,4,5};
    int b[M];
    int *p=a,*q=b;
    for(i=0;i<M;i++)
        *q++ = *p++;
 
 
    for(i=0;i<M;i++)
    {
        printf("%d\n",b[i]);
    }
}

代码片断(6)(1 位领导批示)

指针入门: 用指针互换变量值

1
2
3
4
5
6
7
8
9
10
11
#include "stdio.h"
void main()
{
    int a=5,b=7,c,*p1,*p2;
    p1=&a;
    p2=&b;
    c=*p1;
    *p1=*p2;
    *p2=c;
    printf("%d %d",a,b);
}

代码片断(5)(1 位领导批示)

一个函数递归的小例子.

1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdio.h"
int age(int n)
{
    int c;
    if(n==1) c=10;
    else c=age(n-1)+2;
    return c;
}
 
void main()
{
    printf("%d",age(5));
}

代码片断(4)(0 位领导批示)

函数使用..求一个数的阶乘
并运算出n!/(m!*(n-m)!)的结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdio.h"
#include "math.h"
 
float fac(int k)
{
    float t=1;
    int i;
    for(i=2;i<=k;i++) t*=i;
    return t;
}
 
void main()
{
    float c;
    int m,n;
    scanf("%d%d", &m,&n);
    c=fac(n)/(fac(m)*fac(n-m));
    printf("%f",c);
}
Tags : ,

代码片断(3)(1 位领导批示)

起泡排序算法.从小到大排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdio.h";
void main()
{
    int i, j, tmp, arr[6] = {9,5,8,4,0,2};
    for(i=1;i<6;i++)
    {
        for(j=0;j<6-i;j++)
        {
            if(arr[j]>arr[j+1])
            {
                tmp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=tmp;
            }
        }
    }
    for(i=0;i<6;i++) printf("%d",arr[i]);
}

代码片断(2)(2 位领导批示)

求出100以内的奇数之和与偶数之和

1
2
3
4
5
6
7
8
9
10
11
12
#include "stdio.h"
#include "math.h"
main()
{
  int i,odd,even;
  for(i=1,odd=0,even=0;i<=100;i=i+2)
  {
    odd += i;
    even += i+1;
  }
  printf("%d %d",odd,even);
}
Tags : , ,

代码片断(1)(4 位领导批示)

求两个数的最大公约数与最小公倍数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdio.h"
#include "math.h"
main()
{
  int m,n,m1,n1,a;
  scanf("%d,%d",&m,&n);
  m1=m;n1=n;
  while(m1%n1)
  {
    a=m1%n1;
    m1=n1;
    n1=a;
  }
  printf("%d, %d",n1, m*n/n1);
}

随机显示的10篇日志

评论最多的10篇日志

浏览最多的10篇日志