53-57.一些经典程序

1.

//9*9乘法口诀表  
void Table99()  
{  
    int i,j;  
    for(i = 1; i <= 9; i++)     //外层循环控制行  
    {   
        for(j = 1; j <= i; j++) //内层循环控制列  
        {  
            printf("%d*%d=%-4d",i,j,i*j);  
        }  
        printf("\n");  
    }  
}  

2.

//斐波那契数列  
void Fabocci()  
{  
    long int f1,f2;  
    f1 = f2 = 1;  
    int i;  
    for(i = 1; i <= 20; i++)  
    {  
        printf("%12ld %12ld ",f1,f2);  
        if(i % 2 == 0)     //控制输出,每行输出4个  
            printf("\n");  
        f1 = f1+f2;       //后一个数是前两个数的和  
        f2 = f1+f2;       //后一个数是前两个数的和  
    }  
  
}  

3.

//输出1-100的所有素数  
void Prime()  
{  
    int i,j,flag,n;  
    n = 100;   //100以内的素数  
    flag = 1;  //标识变量,是素数则为1  
  
    for(i = 2; i <= 100; i++)  //从2开始,遍历到100  
    {  
        flag = 1;  
        for(j = 2; j*j <= i; j++) //能被2 - sqrt(i)整除的数  
        {  
            if(i % j == 0)  
            {  
                flag = 0;  
                break;  
            }  
        }  
        if(flag == 1)  
           printf("%d ",i);   //输出素数  
    }  
}  
4.

void PerfectNumber()  
{  
    int p[80];  //保存分解的因子  
    int i,num,count,s,c = 0;  
    int MaxNum = 10000;   
  
    for(num = 2; num < MaxNum; num++)  
    {  
        count = 0;  
        s = num;  
        for(i = 1; i < num/2+1; i++)      //循环处理每个数  
        {  
            if(num % i == 0)          //能被i整除  
            {  
                p[count++]  = i;      //保存因子,让计数器count增加1  
                s -= i;               //减去一个因子  
            }  
        }  
        if( 0 == s)  
        {  
            printf("%4d是一个完数,因子是:",num);  
            printf("%d = %d",num,p[0]);  //输出完数  
            for(i = 1; i < count; i++)  
                printf("+%d",p[i]);  
            printf("\n");  
            c++;  
        }  
    }  
    printf("\n共找到%d个完数。\n",c);  
}  

5.
void Array4_4()  
{  
    int A[4][4],B[4][4],i,j;  
  
    printf("Please Input 16 numbers:");  
    for(i = 0; i < 4; i++)  
        for(j = 0; j < 4; j++)  
        {  
            scanf("%d",&A[i][j]);  //输入16个数  
            B[3-j][i] = A[i][j];   //旋转90度赋值  
        }  
    printf("Array A:\n");          //输出矩阵A  
    for( i = 0; i < 4; i++)  
    {  
        for(j = 0 ; j < 4; j++)  
        {  
            printf("%4d",A[i][j]);        
        }  
        printf("\n");  
    }  
    printf("Array B:\n");          //输出矩阵B  
    for( i = 0; i < 4; i++)  
    {  
        for(j = 0 ; j < 4; j++)  
        {  
            printf("%4d",B[i][j]);        
        }  
        printf("\n");  
    }  
} 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值