1
2
3
4
5

企业案例展示

发布时间:2019-08-25 03:25   发布人:司青燕   浏览次数:303

C语言能做的实用项目非常多。下面给大家提供一些案例,以启发灵感,期待后来的同学们展现更好的创意和更高超的技术!持续更新,欢迎常来交流哦~~

1、推荐10个C语言可以做的小案例项目(点击查看详情)

2、2048游戏展示

2048游戏是一款比较流行的网页版游戏。游戏规则很简单,每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方乱数出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块。

                                                                                游 戏 界 面

 首页.png

界面1.png

界面2.png

界面3.png

界面4.png

游戏结束界面.png

3、C语言万年历展示(附源代码,期待大家做出更加精美的万年历)

%R4W~HJAUZY46J4`T8_JNE4.png

完整代码如下:

#include<stdio.h>
#define DAYS_PER_WEEK 7
#define MONTHS 12
#define DATE_HEADER "   Sun   Mon   Tues  Wed   Thur  Fri   Sat
"int get_days(int, int, int);   //返回从公元元年算起,某年某月某日是第几天, 用这个数字算星期几 
int days_of_year(int, int, int);  //返回某年某月某日是当前年份第几天
int days_of_month(int, int);  //返还某年某月有几天
int day_of_week(int, int, int); //返回某年某月某日是星期几,星期天返回
0 _Bool is_leap_year(int);    //返回当前年份是否为闰年
void print_date_of_month(int, int);    // 打印某年某月的日历     
int main()
{    int days = get_days(2018, 5, 9) % DAYS_PER_WEEK;
    printf("%d
", day_of_week(2018, 5, 9));
    
    print_date_of_month(2018, 8);    
    return 0;
 }//返回这一天从公元元年算起是第几天
 int get_days(int year, int month, int day)
{    int days = days_of_year(year, month, day);    int temp = year-1;    return temp * 365   temp / 4 - temp / 100   temp / 400    days;
} 
 

 //返回这一天在当年是第几天 int days_of_year(int year, int month, int day)
{     int i;     int days = 0;     for(i = 1; i < month; i  )
     {
         days  = days_of_month(year, i);
         
     }     return days   day;
}//返回这个月一共有多少天 int days_of_month(int year, int month)
{    //存储平年每月的天数 
    const int  month_days[MONTHS] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};    if(2 == month && is_leap_year(year))        return 29; // 如果是闰年2月,返回29天 
    else
        return month_days[month-1];  //正常返回 }//判断是不是闰年 _Bool is_leap_year(int year)
{    return (year % 400 == 0 ) || (year % 4 == 0 && year % 100 != 0);
}int day_of_week(int year, int month, int day)
{    return get_days(year, month, day) % DAYS_PER_WEEK;
 } 

//输出某年某个月的日历 void print_date_of_month(int year, int month)
{    //打印月份,为了让月份显示居中, 打印一些空格(根据打印星期的那行大概估算一下) 
    printf("               ");    switch(month)
    {       case 1: printf("January
");    break;
            case 2: printf("February
");    break;
            case 3: printf("March
");    break;        
            case 4: printf("April
");    break;        
            case 5: printf("May
");    break;        
            case 6: printf("June
");    break;        
            case 7: printf("July
");    break;        
            case 8: printf("August
");    break;        
            case 9: printf("September
");    break;        
            case 10: printf("October
");    break;        
            case 11: printf("November
");    break;        
            case 12: printf("December
");    break;        
            default: printf("Bad input of month, please enter a right month.
"); return;
        
    }    //先把星期打印出来 
    printf("%s
", DATE_HEADER);    
    //先求出这个月第一天星期几 
    int day_of_week = get_days(year, month, 1) % DAYS_PER_WEEK;    
    //因为星期天是在第一个位置,所以对星期求模(求余),比如星期天,其实是第一个位置,所以它应该是 7 % 7 = 0; 
    int first = day_of_week % DAYS_PER_WEEK;    
    //求出这个月一共有几天 
    int days = days_of_month(year, month);    
    int i, j;    //先打印第一天的位置 
    for(i = 0; i < first; i  ) {
        printf("      ");
    }
    printf("m", 1);    //如果今天是星期六,换行 
    if(first == 6)
        printf("
");    
    //打印剩下的日期 
    for(i = 1; i < days; i  )
    {
        printf("m", i   1);        //如果是星期六或者是最后一天,换行 
        if((first   i) % 7 == 6 || i   1 == days)
            printf("
");
    } 
}