C語言雨水
#include<stdio.h>
voidmain(){
inta,b,c,s;
for(a=2;a<=9;a++)
for(b=1;b<=9;b++)
for(c=0;c<=9;c++)
{
s=a*(b*10+3+c)*a*(b*10+3+c);
if(s/1000==8&&s%10==9)
printf("%d%d%d ",a,b,c);
}
}
『貳』 C語言問題求解,在線等,急!!!
思路:
1、根據題意每天從區間1~N中,依次深度-1,遇到某個深度0時停止作業,所修改的區間就是當日作業區間。
2、獨立函數實現一天作業(workForDay)。參數flag為1顯示作業過程,如不需要傳0。
3、init函數為輸入並返回動態數組。
#include <stdio.h>
#include <malloc.h>
int len=0;//路面長度
int *init();//根據輸入初始化深度數組,成功返回地址,失敗返回NULL
int workForDay(int *dps,int flag);//執行一天填充作業。成功作業返回1,無需作業返回0, 異常返回-1
//flag=1,列印輸出作業過程。flag=0,不列印過程
int main()
{
int day=0,re,*dps=NULL;
dps=init();
if(!dps) return 1;
while((re=workForDay(dps,1))==1)
day++;
if(re==-1) return 1;
printf("共作業%d天 ",day);
free(dps);dps=NULL;//在本程序可不釋放,但如果多次調用init函數,每次用完數組,需這樣釋放內存。
return 0;
}
int *init()
{
int i,*dps=NULL;//dps每單位長度對應深度
len=0;
while(len<=0) scanf("%d",&len);//長度必須大於0整數
dps=(int *)malloc(sizeof(int)*len);
if(!dps) return NULL;
for(i=0;(dps[i]=-1) && i<len;i++)
while(dps[i]<0) scanf("%d",&dps[i]);//每個深度必須大於等於0整數
return dps;
}
int workForDay(int *dps,int flag)
{
int i,bn=-1,an=-1;
if(!dps) return -1;
for(i=0;i<len;i++)
{
if(bn==-1 && dps[i]>0)
bn=i+1,an=bn,dps[i]--;
else if(bn!=-1 && dps[i]>0)
an=i+1,dps[i]--;
else if(bn!=-1 && dps[i]==0)
break;
}
if(bn==-1) return 0;
if(flag) printf("當日作業區間為[%d,%d] ",bn,an);
return 1;
}
『叄』 用C語言怎麼編寫萬年歷
C語言編寫萬年歷的源代碼如下:
#include <stdio.h>
int week(int y,int m,int d);
int main()
{
char wk[7][3] = {{"天"},{"一"},{"二"},{"三"},{"四"},{"五"},{"六"}};
int year, month, day, w;
scanf("%d %d %d", &year, &month, &day);
w = week(year, month, day);
printf("%d年%d月%d日 星期%s", year, month, day, wk[w]);
}
int week(int y,int m,int d)
{
static int r[13]={0,0,3,3,6,1,4,6,2,5,0,3,5};
int c,w;
y %= 400;
if ((y==0||y%4==0&&y%100!=0)&&m<3)
c = 5;
else
c = 6;
w = (y+y/4-y/100+r[m]+d+c)%7;
return w;
}
(3)C語言雨水擴展閱讀
電子時鍾C語言版的源代碼如下:
#include<stdio.h>
#include<time.h>
#include<string.h>
int main()
{
char str[50];
time_t t;
struct tm *nt;
while(1)
{
system("cls");//清屏函數
t=time(NULL);
nt=localtime(&t);
strftime(str,50,"%Y-%m-%d %H:%M:%S 「,nt);
printf("現在時刻:%s ",str);
}
getch();
return 0;
}
『肆』 怎麼用C語言編寫編寫萬年歷
農歷,大月30天,小月29天。
還有閏月。這個有點麻煩。我不知道農歷的潤月是怎麼個潤法。
農歷
[解釋]1.中國的一種歷法,是陰陽歷的一種,一般就叫陰歷。平年十二個月,大月三十天,小月二十九天,全年354天或355天(一年中哪一月大,哪一月小,年年不同)。由於平均每年的天數比太陽年約差十一天,所以在十九年裡設置七個閏月,有閏月的年份全年383天或384天。又根據太陽的位置,把一個太陽年分成二十四個節氣,便於農事。紀年用天乾地支搭配,六十年周而復始。這種歷法相傳創始於夏代,所以又稱為夏歷。也叫舊歷。
2.農業上使用的歷書。
即夏歷。(「農歷」一稱流行的原因:由於文化大革命時期極左思潮泛濫,「橫掃四舊」,認為「夏歷」是夏王朝的印記,必須改名;因傳統歷法在農村使用較普遍,故通過報紙改名「農歷」:1968年元旦,全國報紙報頭一夜間將「夏歷」名稱改成了「農歷」。
按:所謂「農歷」,是指它有指導農業生產的意義,但事實上農歷月日與季節變化相差明顯,指導農時的效果並不好,我國古代真正指導農時的是「二十四氣」,它實際是一種特殊的「陽歷」 )
農歷的歷月長度是以朔望月為準的,大月30天,小月29天,大月和小月相互彌補,使歷月的平均長度接近朔望月。
農歷固定地把朔的時刻所在日子作為月的第一天——初一日。所謂「朔」,從天文學上講,它有一個確定的時刻,也就是月亮黃經和太陽黃經相同的那一瞬間。(太陽和月亮黃經的計算十分繁瑣和復雜,這里就不予介紹了)
至於定農歷日歷中月份名稱的根據,則是由「中氣」來決定的。即以含「雨水」的月份為一月;以含「春分」的月份為二月;以含「穀雨」的月份為三月;以含「小滿」的月份為四月;以含「夏至」的月份為五月;以含「大暑」的月份為六月;以含「處暑」的月份為七月;以含「秋分」的月份為八月;以含「霜降」的月份為九月;以含「小雪」的月份為十月;以含「冬至」的月份為十一月;以含「大雪」的月份為十二月。(沒有包含中氣的月份作為上月的閏月)
農歷的歷年長度是以回歸年為準的,但一個回歸年比12個朔望月的日數多,而比13個朔望月短,古代天文學家在編制農歷時,為使一個月中任何一天都含有月相的意義,即初一是無月的夜晚,十五左右都是圓月,就以朔望月為主,同時兼顧季節時令,採用十九年七閏的方法:在農歷十九年中,有十二個平年,為一平年十二個月;有七個閏年,每一閏年十三個月。
為什麼採取「十九年七閏」的方法呢? 一個朔望月平均是29.5306日,一個回歸年有12.368個朔望月,0.368小數部分的漸進分數是1/2 、1/3 、3/8 、4/11 、7/19 、46/125, 即每二年加一個閏月,或每三年加一個閏月,或每八年加三個閏月……經過推算,十九年加七個閏月比較合適。因為十九個回歸年=6939.6018日,而十九個農歷年(加七個閏月後)共有235個朔望月,等於6939.6910日,這樣二者就差不多了。
七個閏月安插到十九年當中,其安插方法可是有講究的。農歷閏月的安插,自古以來完全是人為的規定,歷代對閏月的安插也不盡相同。秦代以前,曾把閏月放在一年的末尾,叫做「十三月」。漢初把閏月放在九月之後,叫做「後九月」。到了漢武帝太初元年,又把閏月分插在一年中的各月。以後又規定「不包含中氣的月份作為前一個月的閏月」,直到現在仍沿用這個規定。
為什麼有的月份會沒有中氣呢? 節氣與節氣或中氣與中氣相隔時間平均是30.4368日(即一回歸年排65.2422日平分12等分),而一個朔望月平均是29.5306日,所以節氣或中氣在農歷的月份中的日期逐月推移遲,到一定時候,中氣不在月中,而移到月末,下一個中氣移到另一個月的月初,這樣中間這個月就沒有中氣,而只剩一個節氣了。
上面講過,古人在編制農歷時,以十二個中氣作為十二個月的標志,即雨水是正月的標志,春分是二月的標志,穀雨是三月的標志……把沒有中氣的月份作為閏月就使得歷月名稱與中氣一一對應起來,從而保持了原有中氣的標志。
從十九年七閏來說,在十九個回歸年中有228個節氣和228個中氣, 而農歷十九年有235個朔望月,顯然有七個月沒有節氣和七個月沒有中氣,這樣把沒有中氣的月份定為閏月,也就很自然了。
農歷月的大小很不規則,有時連續兩個、三個、四個大月或連續兩個三個小月,歷年的長短也不一樣,而且差距很大。節氣和中氣,在農歷里的分布日期很不穩定,而且日期變動的范圍很大。這樣看來,農歷似乎顯得十分復雜。其實。農歷還是有一定循環規律的:由於十九個回歸年的日數與十九個農歷年的日數差不多相等,就使農歷每隔十九年差不多是相同的。每隔十九年,農歷相同月份的每月初一日的陽歷日一般相同或者相差一、二天。每隔十九年,節氣和中氣日期大體上是重復的,個別的相差一、兩天。相隔十九年閏月的月份重復或者相差一個月。
干支紀法
干支就字面意義來說,就相當於樹乾和枝葉。我國古代以天為主,以地為從,天和干相連叫天干,地和支相連叫地支,合起來叫天乾地支,簡稱干支。
天干有十個,就是甲、乙、丙、丁、戊、己、庚、辛、壬、癸,地支有十二個,依次是子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。古人把它們按照一定的順序而不重復地搭配起來,從甲子到癸亥共六十對,叫做六十甲子。
我國古人用這六十對干支來表示年、月、日、時的序號,周而復始,不斷循環,這就是干支紀法。
傳說黃帝時代的大臣大撓「深五行之情,占年綱所建,於是作甲乙以名日,謂之干;作子丑以名日,謂之枝,干支相配以成六旬。」這只是一個傳說,干支到底是誰最先創立的,現在還沒有證實,不過在殷墟出土的甲骨文中,已有表示干支的象形文字,說明早在殷代已經使用干支紀法了。
『伍』 ACM的一道有關避雨的c語言題目
#include<iostream>
#include<string.h>
#include<stdio.h>
usingnamespacestd;
charstr[15][15];
intmain()
{
intt,n,m,i,j,sX,sY;
intmindist,ansX,ansY;
scanf("%d",&t);
while(t--){
scanf("%d%d",&m,&n);
for(i=0;i<m;i++){
scanf("%s",str[i]);
for(j=0;j<n;j++)
if(str[i][j]=='s'){//記錄s的位置
sX=i;
sY=j;
}
}
mindist=10000;
for(i=0;i<m;i++)
for(j=0;j<n;j++){
if(str[i][j]=='d'){//每個d到s的距離都和最小距離mindist做比較
inttmp=abs(i-sX)+abs(j-sY);
if(mindist>tmp){//記錄最短位置的下標
mindist=tmp;
ansX=i;
ansY=j;
}
}
}
printf("(%d,%d) ",ansX,ansY);
}
return0;
}
請參考這段代碼哈,歡迎交流。
『陸』 這個C程序的目的很簡單,計算每年的總降雨量,年平均降雨量,月平均降雨量,編譯器沒報錯,
for(y=0;y<YRS;y++)
{
for(m=0;m<MONTHS;m++)
total+=ar[y][m];
printf("%d%10.1f\n",1990+y,total);
}
你要計算每年的total,但是這里的total是不斷累加的,每次外循環時應該把total置為0;
下面那個函數也一樣
『柒』 如何實現c語言程序各顏色數字雨代碼
#include<stdio.h>
#include<time.h>
#include<windows.h>
typedef struct
{
int x,y;
char ch;
}STU;
STU st[100];
//出現位置
void gotoxy(int x, int y)
{
HANDLE hout;
COORD pos;
pos.X = x;
pos.Y = y;
hout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hout, pos);
}
/*隱藏游標*/
void show_cursor(int hide)
{
CONSOLE_CURSOR_INFO cciCursor;
HANDLE hout;
hout = GetStdHandle(STD_OUTPUT_HANDLE);
if(GetConsoleCursorInfo(hout, &cciCursor))
{
cciCursor.bVisible = hide;
SetConsoleCursorInfo(hout, &cciCursor);
}
}
/*設置顏色*/
void set_color(int color)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
}
main()
{
int i,j;
show_cursor(0);
srand(time(NULL));
//初始化結構體
for (i=0;i<100;i++)
{
st[i].x = rand()%80;
st[i].y = rand()%20;
st[i].ch = rand()%(49-47)+48;
}
while (1)
{
for (i=0;i<100;i++)
{
gotoxy(st[i].x,st[i].y);
set_color(0x2);//最先出現的顏色;
putchar(st[i].ch);
gotoxy(st[i].x,st[i].y-5);
putchar(' ');
st[i].y++;
st[i].ch = rand()%(49-47)+48;
if (st[i].y-5>=18)
{
gotoxy(st[i].x,st[i].y-1);
putchar(' ');
gotoxy(st[i].x,st[i].y-2);
putchar(' ');
gotoxy(st[i].x,st[i].y-3);
putchar(' ');
gotoxy(st[i].x,st[i].y-4);
putchar(' ');
gotoxy(st[i].x,st[i].y-4);
putchar(' ');
}
if (st[i].y > 23)
{
st[i].x = rand()%80;
st[i].y = rand()%20;
}
gotoxy(st[i].x,st[i].y);
set_color(0xA);//由前一個顏色漸變成的顏色
putchar(st[i].ch);
}
Sleep(120);
}
}
color(0);printf("黑色 ");color(1);printf("藍色 ");color(2);printf("綠色 ");color(3);printf("湖藍色 ");color(4);printf("紅色 ");color(5);printf("紫色 ");color(6);printf("黃色 ");color(7);printf("白色 ");color(8);printf("灰色 ");color(9);printf("淡藍色 ");color(10);printf("淡綠色 ");color(11);printf("淡淺綠色 ");color(12);printf("淡紅色 ");color(13);printf("淡紫色 ");color(14);printf("淡黃色 ");color(15);printf("亮白色 ")幾個基本的顏色;
『捌』 字元雨的創作意義
字元雨的創作意義更加的好看炫酷,再通過電影的宣傳發酵給它蒙上了神秘的面紗,更加吸引人學習相關技術。
字元雨的實現可以利用C語言來進行。
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
『玖』 c語言輸入年月日輸出當日所屬節氣
printf("%d年%d月%d日是xxxx",z,x/100,x%100);
『拾』 怎麼用c寫 下雨或下雪的 程序
初始化
void Init_Data()
{
int i;
for( i=0; i< POINT; i++)
{
Snow[i].x=0;
Snow[i].y=0;
Snow[i].size=0;
}
for( i=0; i<MaxX; i++)
Map[i]=MaxY;
}
顯示:
void MakeSnow()
{
int i;
if( CurSnow>=POINT ) return;
for( i=0; Snow[i].size; i++ )
;
CurSnow++;
Snow[i].x=random(MaxX);
Snow[i].y=random(DOWNSPEED);
Snow[i].size=random(MaxSize)+1;
}
設定顯示坐標
void ShowSnow( int x, int y, int size, int flag )
{
int color=0;
if ( flag ) color=15;
switch( size )
{
case 1:
putpixel( x, y, color );
break;
case 2:
setcolor( color );
line( x-1, y-1, x+1, y+1 );
line( x-1, y+1, x+1, y-1 );
break;
case 3:
setcolor( color );
line( x-1, y-1, x+1, y+1 );
line( x-1, y+1, x+1, y-1 );
/*
line( x-2, y-2, x+2, y+2 );
line( x-2, y+2, x+2, y-2 );*/
line( x-2, y, x+2, y );
line( x, y-2, x, y+2 );
break;
}
}
雪花移動效果:
void Move( int n, int tox, int toy )
{
int x, y, size, i, j;
float person;
x=Snow[n].x;
y=Snow[n].y;
size=Snow[n].size;
/* check end */
j=y;
if( x<tox )
{
person=(DOWNSPEED *1.0) / ( tox-x )*1.0;
for( i=x; i<=tox; i++ )
{
if( j>=Map[i] )
{
tox=i-size;
break;
}
j+=(int)( (i-x+1)*person );
}
}
else if( x>tox )
{
person=(DOWNSPEED *1.0) / ( x-tox )*1.0;
for( i=x; i>=tox; i-- )
{
if( j>=Map[i] )
{
tox=i+size;
break;
}
j+=(int)( (x-i+1)*person );
}
}
if( y+DOWNSPEED>=Map[tox] )
{
switch( size )
{
case 1:
Map[x]--;
break;
case 2:
Map[x]-=2;
if( x>0 && Map[x-1]>Map[x] ) Map[x-1]=Map[x];
if( x<MaxX-1 && Map[x+1]>Map[x] ) Map[x+1]=Map[x];
break;
case 3:
Map[x]-=3;
if( x>1 && Map[x-2]>Map[x] ) Map[x-1]=Map[x];
if( x>0 && Map[x-1]>Map[x] ) Map[x-1]=Map[x];
if( x<MaxX-2 && Map[x+2]>Map[x] ) Map[x+1]=Map[x];
if( x<MaxX-1 && Map[x+1]>Map[x] ) Map[x+1]=Map[x];
break;
}
CurSnow--;
y=Map[x]+size;
Snow[n].x=x;
Snow[n].y=y;
Snow[n].size=0;
}
else /* not end */
{
Snow[n].x=tox;
Snow[n].y=toy;
}
}