C语言典型编程2

关于C的一些小而精的编程,适合希望提升编程能力的初学者学习:关键编程也就几句,但思维可以迁移到其他编程语言。同一问题,算法多种。

//任意整数的任意次方取后3位(算数取位)
#include<stdio.h>
int  main()
{
    int  x,y,i,z=1;
    printf("输入任意整数(不可超过int型数据存储空间)的任意次方:");
    scanf("%d%d",&x,&y);
    for (i=1; i<=y; i++)
    {
        z=z*x%1000;//关键算法句
    }
    if(z>=100)
    {
        printf("%d^%d的最后3位数为:%d",x,y,z);
    }
    else if(z>=10&&z<100)
    {
        printf("%d^%d的最后3位数为:0%d",x,y,z);
    }
    else
    {
        printf("%d^%d的最后3位数为:00%d",x,y,z);
    }
    return 0;


//计算输入日期是一年中的第几天(日期取序)
#include<stdio.h>
int  num(int year);
int total(int year,int month);
main()
{
    int year,month,day,n;
    printf("请输入年月日:");
    scanf("%d%d%d",&year,&month,&day);
    n=total(year,month);
    n+=day;
    printf("这个日期是今年的第%d天",n);
}
int  num(int year)
{
    if (year%4==0&&year%100!=0||year%400==0)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

int total(int year,int month)//关键算法块
{
    int run[12]= {31,29,31,30,31,30,31,31,30,31,30,31};
    int pin[12]= {31,28,31,30,31,30,31,31,30,31,30,31};
    int i,daytotal=0;
    if(num(year)==1)
    {
        for (i=0; i<month-1; i++)
        {
            daytotal=daytotal+run[i];
        }

    }
    else
    {
        for (i=0; i<month-1; i++)
        {
            daytotal=daytotal+pin[i];
        }
    }
    return daytotal;
}

备注:暂时用比较基础的方法来写,循序渐进学习高级编程。如果看官能发挥主观能动性编写更好的,这更比程序重要。

原文地址:https://www.cnblogs.com/llj9527/p/10745416.html