1. 程式人生 > >520 | 用c語言程式撩妹

520 | 用c語言程式撩妹

今天是5月20日,有女朋友的程式設計師想必早已提前抓耳撓腮,想著怎麼給女朋友驚喜了。

前天想著寫個明信片,但是去的早了,郵局沒開門,而且自己自從接觸了計算機,之前高中語文留下的才情幾乎喪失殆盡,現在寫首詩或者寫封情書,真是比學習一門語言還難。。。

做個網頁?無奈沒有基礎,再說這種私密的東西也不好交給別人來做。

最近在學習R語言,剛看過裡面的時間處理函式功能,感覺很強大,自己有比較熟悉c語言,不如。。。用程式計算我們在一起多少天了吧!

誒?是不是再加入一些功能,就能撩妹了?

沒錯!深思熟慮之後,我早早回到宿舍,擼加借鑑了一串程式碼。

#include<stdio.h>
#include<stdlib.h>
#include <time.h> int Leap(int year)//判斷是否閏年,是返回1,不是返回0; { if((year%100!=0)&&(year%4==0)||(year%400==0)) { return(1); } else { return(0); } } int DateOfYear(int year,int month,int day)//輸入年月日,計算該日是該年的第幾天; { int EveryYear[12]={31,28,31,30,31,30,31,31,30,31,30
,31}; int sum=0,i; if(Leap(year)) { EveryYear[1]++; } for(i=1;i<month;i++) { sum=sum+EveryYear[i-1]; } sum=sum+day; return(sum); } int CountYear(long date)//從輸入格式中得出年的數值; { int n=0; date=(date-date%10000)/10000; n=(int)date; return(n); } int CountMonth(long
date)//從輸入格式中得出月的數值; { int m=0; date=date%10000; date=(date-date%100)/100; m=(int)date; return(m); } int CountDay(long date)//從輸入格式中得出日的數值; { int d=0; date=date%100; d=(int)date; return(d); } void sleep(int s) { time_t tmp1=time(NULL); time_t tmp2=tmp1; while(difftime(tmp2,tmp1)<s)//延時s秒後結束 { tmp2=time(NULL); } } int main() { long date1=0,date2=0,t=0; int year1=0,year2=0,month1=0,month2=0,day1=0,day2=0,lastnum=0, choice; int i; printf("****** hi~ 你好 我是你男朋友編寫出來的程式 ******\n"); sleep(3); printf("****** 我們能聊聊嗎? ******\n\n"); sleep(2); printf("********************* 選項 *************************\n"); printf("****** 1 繼續聊天 2 不感興趣 ******\n"); printf("****** (輸入數字 回車即可) ******\n"); printf("****************************************************\n"); scanf("%d", &choice); if(choice == 2) { printf("期待下次再見!\n"); return 0; } //\n\n還記得我們在一起的那天嗎?\n請在下面輸入年月日^_^(格式如20120209)\n");//按此格式輸入,可以省去分別比較年、月、日的開銷; printf("****** 電腦前面這位美女 有個問題我比較好奇 ******\n"); sleep(2); printf("****** 你們是什麼時候在一起的呢 ******\n"); sleep(2); printf("****** (輸入格式如 19960124) ******\n"); while((scanf("%ld",&date1)) && date1!= 20140609) { printf("****** 和你男朋友說的不一樣誒 再想想? ******\n"); } time_t nowtime = time(NULL); tm *now = localtime(&nowtime); date2 = (now->tm_year+1900)*10000 + (now->tm_mon+1)*100 + (now->tm_mday); if(date1>date2)//為計算方便,始終將大數放在date2中; { t=date1; date1=date2; date2=t; } year1=CountYear(date1); month1=CountMonth(date1); day1=CountDay(date1); year2=CountYear(date2); month2=CountMonth(date2); day2=CountDay(date2); for(i=year1;i<year2;i++) { if(Leap(i)) { lastnum++; } } lastnum=lastnum+365*(year2-year1)-DateOfYear(year1,month1,day1)+DateOfYear(year2,month2,day2); printf("****** 你們已經在一起%4d天了 ******\n", lastnum); sleep(2); printf("****** 好羨慕哦 ******\n\n"); sleep(2); printf("****** 我是一個問題很多的程式 ******\n"); sleep(2); printf("****** (不要煩我把我關閉哦) ******\n"); sleep(2); printf("****** 我就奇了怪了 ******\n"); sleep(2); printf("****** 你咋看上造出我的程式設計師的? ******\n\n"); sleep(2); printf("********************* 選項 *************************\n"); printf("****** 1 帥,就是帥!足夠了 ******\n"); printf("****** 2 雖然長得一般但是有才 ******\n"); printf("****** 3 沒才沒貌,但是人好 ******\n"); printf("****** 4 當初瞎了眼了看上他了 ******\n"); printf("****** 5 瀟灑、帥氣、強壯、有生機、活力四射 ******\n"); printf("****** 英勇、孝順、有責任心、有擔當、體貼 ******\n"); printf("****************************************************\n"); scanf("%d", &choice); while(choice != 5) { switch(choice) { case 1: printf("****** 再想想真的沒有別的了? ******\n"); break; case 2: printf("****** 我看那個程式設計師還有點帥吧 ******\n"); break; case 3: printf("****** 嘿嘿 別給他發好人卡了 ******\n"); break; case 4: printf("****** 你這話我都不信 ******\n"); break; } printf("****** 深思熟慮之後,你的選擇是 ******\n"); scanf("%d", &choice); } printf("****** 我看到了你的認真和誠實! ******\n"); sleep(2); printf("****** (o゜▽゜)o☆ 你有這麼好的男朋友啊 ******\n\n"); sleep(2); printf("****** 他平時聽你話嗎? ******\n"); sleep(2); printf("****** 他了解你的心思嗎? ******\n"); sleep(2); printf("****** 他懂浪漫嗎? ******\n"); sleep(2); printf("****** (據我觀察,程式猿都比較呆) ******\n\n"); printf("********************* 選項 *************************\n"); printf("****** 1 百依百順 無可挑剔 撩妹達人 ******\n"); printf("****** 2 自以為是 不解風情 木訥呆板 ******\n"); printf("****************************************************\n"); scanf("%d", &choice); while(choice != 2) { printf("****** 通過前置攝像頭檢測你臉紅了 ******\n"); sleep(2); printf("****** 別撒謊哦 我雖然是程式 但是很智慧 ******\n"); sleep(2); printf("****** 再輸入一次試試~ ******\n"); scanf("%d", &choice); } printf("****** 嗯嗯 我也同意你的觀點呢 ******\n"); sleep(2); printf("****** 所以 他讓我送你一幅畫 作為道歉 ******\n"); sleep(2); // 畫心形 for (float y = 1.5f; y > -1.5f; y -= 0.1f) { for (float x = -1.5f; x < 1.5f; x += 0.05f) { float a = x * x + y * y - 1; putchar(a * a * a - x * x * y * y * y <= 0.0f ? '*' : ' '); } putchar('\n'); } sleep(3); printf("****** ta還有 一些話讓我轉達 ******\n\n"); sleep(2); printf("****************************************************\n"); sleep(2); printf("****** 媳婦 謝謝你耐心的守候 ******\n"); sleep(2); printf("****** 我不怎麼會表達 ******\n"); sleep(2); printf("****** 我會努力讓你相信你的選擇沒錯 ******\n"); sleep(2); printf("****** 還有一句一直想說沒說的話 ******\n"); sleep(2); printf("****** I love you ******\n"); sleep(2); printf("****** from bottom of my heart. ******\n"); sleep(2); printf("****** 媳婦 我愛你 ******\n"); printf("****************************************************\n\n"); sleep(7); printf("****** 真是受不了你們人類秀恩愛了 ******\n"); sleep(2); printf("****** 我的任務完成 可以一會關閉我 ******\n"); sleep(2); printf("****** 哪天想起了我 歡迎調戲~ ******\n"); sleep(2); printf("****** 期待下次與您見面 ******\n"); system("pause"); return(0); }

最終效果格式如下

雖然是一個很簡單的程式,但是也是用了不少心的嘿嘿。

讓她開啟,當然也要偽裝一下。。。

效果,應該不錯吧

You are my destination.

I love you.

相關推薦

520 | c語言程式

今天是5月20日,有女朋友的程式設計師想必早已提前抓耳撓腮,想著怎麼給女朋友驚喜了。 前天想著寫個明信片,但是去的早了,郵局沒開門,而且自己自從接觸了計算機,之前高中語文留下的才情幾乎喪失殆盡,現在寫首詩或者寫封情書,真是比學習一門語言還難。。。 做個網頁?

C語言程式,解決數制之間的轉化,超簡單,告別進位制的問題!

1、首先,需要先明白printf()函式的輸出格式控制引數:                           %d:十進位制有符號整數                           %u:十進位制無符號整數                          

C語言程式生成符合正態分佈的隨機數列

一般有兩種演算法:       演算法一產生12個(0,1)平均分佈的隨機函式,用大數定理可以模擬出正態分佈。       演算法二用到了數學中的雅可比變換,直接生成正態分佈,但此演算法在計算很大規模的數時       會出現溢位錯誤。       測試程式:       #include    <ma

c語言程式實現對素數的判斷

題目: 輸出1-N之間的所有素數 要求: 為了便於觀察結果,在控制檯裡每一行輸出5個數,並且這5個數之間以空格作為分隔 思路: 首先要知道什麼是素數以及如何判斷一個數是不是素數,素數就是除了1和它自身外,沒法被其他自然數整除的數;知道怎樣判斷素數之後就可以嘗試用C語

C語言程式實現十進位制轉換為二進位制

題目: 寫一個函式,輸入一個10進位制數,輸出它的2進位制,例如:輸入9,輸出1001 思路: 十進位制數轉換為其他進位制時,轉換成幾進位制就除以幾進位制求餘。 程式碼: #include "stdio.h" #define N 100 int main() {

我們不一樣!老司機教你C語言制作簡單實用的神器!

能力 pac normal c語言實現 linux系統 要求 以及 dia 自己 你以為C語言就是提供一種編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言嗎?你以為C語言就只是以一個標準規格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包

輸入一行字元分別統計出其中英文字母、空格、數字和其他字元的個數。(c++語言編寫程式)【寫的第1篇部落格,很高興

#include<stdio.h> int main() { char ch; //定義ch為字元型變數 int a=0,b=0,c=0,d=0; //定義a,b,c,d為整型變數並賦初值 while(scanf("%c",&ch),ch!=’\n’) //輸入字元直到c

C語言寫一個掃雷程式

執行環境:win10   vs2013       本程式所有設計思路均已註釋行為標記在程式中,為了方便起見,將不在部落格中進行書寫,想要學的朋友複製下面的原始碼可進行學習,也可將程式進行修改獲取不同的遊戲體驗 程式原始截圖 執行結果:

C語言編寫一個輸出最大值的程式

void main(){int a,b,c,max;scanf("%d%d%d",&a,&b,&c); if(a>b)max=a;elsemax=b; if(c>max)max=c;printf("max is %d",max);getch

C語言實現簡易的shell程式,支援多重管道及重定向

1 簡介 用C語言實現的一個簡易的shell,能夠接受使用者輸入的命令並執行操作,支援多重管道及重定向。 程式執行後,會模擬shell用綠色字型顯示當前的使用者名稱、主機名和路徑,等待使用者輸入命令。程式逐次讀取使用者輸入的指令後,將指令按空

C語言實現串列埠通訊程式

1. 首先安裝虛擬串列埠vspd軟體,用於建立虛擬串列埠進行互聯除錯2.開啟vspd軟體,選擇COM1和COM4,點選Add pair,把COM1和COM4互聯3.開啟虛擬串列埠助手,設定串列埠號為COM1,波特率為19200,其他設定使用預設值,點選連線4.用C語言編寫串列

C語言開發檢視HEX位元組碼的工具--看程式如何進化

昨日所作的檢視HEX位元組碼程式,雖然不完善,但程式碼量的確很小。其中核心程式碼不過十行上下,其餘還都是例行公事,如開啟檔案,檢查輸入命令並跳轉執行的。 現在,我再增加數行程式碼,使之在介面和功能上接近UltraEdit或Notepad++的顯示,甚至更強!對於

C語言實現Ping程式功能(轉)

用C語言實現Ping程式功能 日期:2006-12-25 作者:樑俊輝 來自:IBM DW中國 大部分人用ping命令只是作為檢視另一個系統的網路連線是否正常的一種簡單方法。在這篇文章中,作者將介紹如何用C語言編寫一個模擬ping命令功能的程式。 ping命令是用來檢視網路

綜合例項:C語言實現一個自定義的shell程式

      一個shell需要實現若干功能,比如解釋執行命令,支援輸入輸出重定向,支援管道,後臺執行程式等。首先對要實現的功能做一個簡要介紹:       (1)輸出重定向:就是把執行某命令後的結果輸出到某個檔案。例如: ls -al > list.txt  

C語言做出你自己的七夕表白程式

C語言是面向過程的,而C++是面向物件的 C和C++的區別: C是一個結構化語言,它的重點在於演算法和資料結構。C程式的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。 C++,首要考慮的是如何構造一個物件模型,讓這

C++語言寫bmp檔案的程式完整版

#include <stdio.h> #include <stdlib.h> /* 定義WORD為兩個位元組的型別 */ typedef unsigned short WORD; /* 定義DWORD為四個位元組的型別 */ typedef uns

C語言520表白圖(較簡單)

#include <stdio.h> #include <stdlib.h> int main() { int i,k; printf("我我我我我我 愛愛愛

lighttpd + CGI,c語言寫cgi程式

相信大家都想過用瀏覽器來執行c語言程式,比如點電路板上的燈、其他控制功能等。這裡我就說一說心得。 要使用瀏覽器就必須有伺服器,我這裡用了lighttpd。因為我看其他的都停止開發了,沒法用。 配置和測試可以參考這篇文章: http://blog.chinaunix.net/u

C語言編寫程式:求兩數的最大公約數。

此程式用了3個方法(相減法、窮舉法、輾轉相除法)來求兩數的最大公約數,使用者可自己選擇用哪種演算法。 #include<stdio.h> #include<stdlib.h> int select=1;//select 為是否退出系統的標記 voi

教你C語言編寫"vb"程式

  相信不少人學過C語言,也學過VB。在不少人看來C語言和VB之間最大的區別就是:C程式是黑漆漆DOS視窗,而VB是標準的Windows窗體。其實不然,C語言也是可以寫出“vb”程式的。 請看程式碼: #include <windows.h> LRESULT CA