當前位置:首頁 » 編程語言 » c語言畫小紅花平面
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言畫小紅花平面

發布時間: 2023-04-14 08:00:17

Ⅰ 應該怎樣學才可以把c語言學好啊

1.目的要明確

首先確定自己的目的,是為了以後就從事程序設計職業,還只是為了應付考試,還是為了學習更多的知識而希望打下好的基礎。

2.書籍的選擇

既然確定好了目的,選擇書籍是很重要的,這里的內容供你參考一二。
前面已經說過了,目的要明確,而書籍是根據目的進行選擇的。

為了從事程序設計職業的,建議購買Deitel父子的《C how to program》。這本書強調了編寫程序的絕對規范性,對未來在職場中對程序的規范化有著良好的開端,印度的程序員為何在世界上受到如此的歡迎,主要的原因就是他們有著統一的編寫格式,這樣對企業的程序開發周期有著飛躍性的提高。

為了應付考試的,建議購買譚浩強的《C程序設計》,這本書的目的就是為了應對當今中國計算機考試的,而不是讓你在職場中熟練的使用C語言,而且對相關的C++書籍銜接不好,不推薦想研究好C語言的人員購買此書。

為了希望學習C語言而為日後打下基礎的,建議購買Kernighan和Ritchie的《The C programming Language》,這本書能夠給你對C語言作為基礎一切要求。

3.用最笨的方法學習

買來了書,剩下的內容就是學習了。方法?最笨的方法就是最有效的方法,其實學習C語言的方法就是反復閱讀上面的書籍(當然了,為了應付考試的還要背誦一些內容),讀一遍不懂可以讀第二遍,直到讀懂為止。如果你需要捷徑,你可以問問Eris研究了多少年的C語言。

4.多做練習

別怕累,每本書都配有大量的練習,這對你理解當章的內容有很大的幫助,沒有答案怎麼辦?不是有輸出範例嗎?把它在你的C編譯器上進行編譯,看看出來的結果和你需要的是否一樣,反復嘗試,直到得出正確的結果。由於每章學到的內容不同,你可以再學完後面的內容後,重新改進原來的C程序,不知不覺中,你的水平已經有了很大的進步。不要有了問題就問,你可以先放在一邊,等你學完下面的章節,你可能將前面的問題已經解決了呢!

5.讀程序,寫程序

經過上面的步驟,你已經能輕松解決書中的問題了,現在你就應該上網了,上網去讀人家的程序源碼,把你的想法寫上去或者再寫出新的程序,直到有了自己的一套風格。

6.學習趣味數學問題

你可能有些驚訝,但是你也許需要回到小學小紅花數學競賽中的題目,所有的趣味數學問題都可以通過編程解決,你其實不需要太高深的高等數學水平(其實大部分高等數學問題你不會用在程序設計中),但你卻需要培養很好的邏輯能力。

7.拒絕QQ

不要以為QQ上的好友能夠給你解決問題,當你上了QQ時,大部分時間都是花在閑聊,所以說與其浪費時間,不如拒絕QQ,其實這里並不是讓你拒絕QQ,而是拒絕一切即時聊天軟體,因為它會耽誤你很多時間。在心中堅守一個原則,不閑聊決不用這些軟體。

8.不要停止

當你到達了一個水平之後,剩下的內容就是不停的學習了,每天都要查找相關的C語言新技術,別人的心得,看看能不能對自己有幫助。記住,無論多先進的技術,在IT業,5個月都能讓它變成化石技術。

Ⅱ 你是不是有999玫瑰C語言版源代碼能給我嗎

#include <dos.h>
#include <graphics.h>
#include <math.h>
/*玫瑰花*/
#define FNX(x) (int)(xo+(x)*1.0)
#define FNY(y) (int)(getmaxy()-(yo+(y)*1.0))
#define FNX2(phi) cos(phi)*ac-sin(phi)*bs
#define FNY2(phi) cos(phi)*as+sin(phi)*bc

/*畫旋轉的橢圓*/
void elli(int xo,int yo,int a,int b,double theta)
{
int i;
double da,c,s,ac,as,bc,bs,xf,yf,phi,x,y;
theta=theta*0.01745;
da=3*0.1745;
c=cos(theta);
s=sin(theta);
ac=a*c;as=a*s;
bc=b*c;bs=b*s;
x=FNX2(0);
y=FNY2(0);
moveto(FNX(x),FNY(y));
for(i=1;i<=360;i++)
{
phi=i*da;
xf=x*cos(phi)*0.1;
yf=b*sin(phi)*0.1;
x=FNX2(phi);
y=FNY2(phi);
lineto(FNX(x),FNY(y));
}
}

/*花*/
void hua(int x,int y)
{
register i;
/*畫粉紅色玫瑰*/
setcolor(12);
arc(x+65,y-60,150,350,8);
arc(x+66,y-54,300,470,8);
arc(x+65,y-56,30,230,10);
arc(x+64,y-57,300,490,17);
ellipse(x+73,y-30,250,450,27,40);
ellipse(x+59,y-30,100,290,27,40);
ellipse(x+65,y-40,140,270,20,30);
setfillstyle(SOLID_FILL,5);
floodfill(x+65,y-20,12);
/*畫紅色玫瑰*/
arc(x,y,150,350,12);
arc(x+1,y+8,280,470,12);
arc(x,y+2,30,230,16);
arc(x,y+3,80,240,28);
arc(x+2,y+8,180,330,22);
arc(x-2,y+2,310,460,25);
ellipse(x-12,y+30,120,300,30,40);
ellipse(x+10,y+28,250,423,30,42);
ellipse(x-4,y+10,290,393,30,40);
setfillstyle(SOLID_FILL,4);
floodfill(x+5,y+31,12);
/*畫紫色花骨朵*/
ellipse(x+120,y+5,0,360,15,25);
setfillstyle(SOLID_FILL,1);
floodfill(x+120,y,12);
/*畫黃色花骨朵*/
ellipse(x-70,y+10,0,360,14,20);
setfillstyle(SOLID_FILL,14);
floodfill(x-70,y+10,12);
setcolor(10);
/*畫紅花花萼*/
ellipse(x-15,y+32,190,310,30,35);
ellipse(x+16,y+32,235,355,26,35);
ellipse(x,y+35,190,350,43,50);
arc(x,y+82,190,350,6);
setfillstyle(SOLID_FILL,2);
floodfill(x,y+75,10);
/*畫粉花花萼*/
ellipse(x+50,y-48,190,320,22,50);
ellipse(x+80,y-48,220,350,22,50);
ellipse(x+65,y-28,180,360,36,50);
floodfill(x+65,y+18,10);
/*畫主枝*/
for(i=0;i<3;i++ )
{
ellipse(x-98,y+100+i,255,371,100,80);
ellipse(x-20,y+30+i,260,358,140,140);
ellipse(x+224,y+20+i,180,218,160,140);
}
/*畫側枝*/
ellipse(x+70,y+34,180,233,140,140);
ellipse(x,y+40,205,255,100,120);
ellipse(x+135,y-30,209,249,72,120);
ellipse(x,y+20,263,301,100,120);
ellipse(x+85,y-10,278,305,100,120);
ellipse(x+100,y-62,282,308,90,120);
ellipse(x-50,y-10,277,314,30,120);
ellipse(x+70,y+80,222,266,52,120);
ellipse(x-60,y-45,229,266,52,120);
ellipse(x+79,y-45,229,266,52,120);
ellipse(x+84,y,224,273,52,120);
ellipse(x+110,y+40,240,282,100,120);
/*畫紫花骨朵花萼*/
ellipse(x+120,y-6,200,340,17,25);
ellipse(x+120,y+7,160,380,17,27);
floodfill(x+122,y+30,10);
/*畫黃花骨朵花萼*/
ellipse(x-70,y+15,140,390,17,20);
ellipse(x-75,y-10,205,340,10,30);
ellipse(x-60,y-10,195,340,5,30);
floodfill(x-70,y+32,10);
/*畫葉*/
/*畫右邊的葉子*/
elli(x+168,y+282,10,20,-40);
elli(x+160,y+252,8,16,260);
elli(x+145,y+270,8,16,-15);
elli(x+156,y+224,10,20,-45);
elli(x+150,y+200,8,16,270);
elli(x+135,y+220,8,16,-10);
elli(x+146,y+144,8,16,-80);
elli(x+130,y+130,6,12,235);
elli(x+125,y+154,7,14,-10);
elli(x+78,y+98,6,12,-90);
elli(x+60,y+90,5,10,180);
elli(x+70,y+109,5,10,-45);
/*畫左邊的葉子*/
elli(x-125,y+270,12,24,60);
elli(x-95,y+270,10,20,10);
elli(x-110,y+245,10,20,90);
elli(x-105,y+220,10,20,45);
elli(x-100,y+190,8,16,135);
elli(x-75,y+210,8,16,-45);
/*畫中間的葉子*/
elli(x+65,y+190,10,20,-45);
elli(x+40,y+185,8,16,0);
elli(x+55,y+165,8,16,90);
}

/*主程序*/
main()
{
int driver=VGA,mode=VGAHI;
registerbgidriver(EGAVGA_driver);
initgraph(&driver,&mode,"C:\TC");
cleardevice();
hua(450,90);
setcolor(2);
rectangle(0,0,639,479);
getch();
closegraph();
}

Ⅲ 能幫我看看這道c語言編程題怎麼做嘛

這個題,所有代碼此襪談都是迷惑你的,這里x是傳值,傳遞過去無論函數做什麼變化,main函數中的x是不變的,所以列印0000。
另外說明:(與本題無關)
這代碼還有一個知識森碰點:t是靜態變數,只在第一次調用函數時初始化,保留好源每次調用後的值。4次調用t分別是3,2,1,0。
所以,如把代碼改成傳址,結果就變成4321。

Ⅳ 我可以自學c語言嗎

分類: 電腦/網路 >> 程序設計 >>培滲 其他編程語言空枝
問題描述:

我是一個計算機專業的學生,剛剛上學,講的都是一些基礎理論的東西,

現在我還不知道 我這個專業 以後應該會從事什麼樣子的工作呢?可以告訴我一下嗎? 有同學說以後可以當個 編程員,這 工作好嗎?工作好找嗎?

還有現在沒什麼課 自己在家也無聊,可以自己c++的東西?怎麼學?買書?還是去些網站上學啊?

真的不太明白 哥哥們 可以給我具體的講講嗎?

解析:

你現在馬上去買一本叫

C++ primer 第四版的書, 外國的, 如果英語好的話最好看英語原版, 不好就看翻譯的.

不要學C, 現在都用C++了.

免得到時又要去看C++的語法.

幾點忠告:

1. 千萬不要看國內的教材, 特別是 潭浩強 那老頭, 我是過來人, 深受其害

2. 書上無論看起來多麼簡單的代碼, 你都要自己打一下, 否則你永遠不可能提高.

3. 沒事做就多打打代碼, 進步快.

說說為什麼不建議看國內的教材呢:

1. 國內教材大多是相互抄的, 大同小異

2. 例子代碼爛, 你誤導你.

3. 代碼風格不規范(潭浩強那老頭的是個例子), 影響你!

4. 寫得不夠深, 將會使你的基礎弱!

本人絕對是個過來人,信我沒錯

1.目的要明確

首先確定自己的目的,是為了以後就從事程序設計職業,還只是為了應付考試,還是為了學習更多的知識而希望打下好的基礎。

2.書籍的選擇

既然確定好了目的,選擇書籍是很重要的,這里的內容供你參考一二。

前面已經說過了,目的要明確,而書籍是根據目的進行選擇的。

為了從事程序設計職業的,建議購買Deitel父子的《C how to program》。這本書強調了編寫程序的絕對規范性,對未來在職場中對程序的規范化有著良好的開端,印度的程序員為何在世界上受到如此的歡迎,主要的原因就是他們有著統一的編寫格式,這樣對企業的程序開發周期有著飛躍性的提高。

為了應付考試的,建議購買譚浩強的《C程序設計》,這本書的目的就是為了應對當今中國計算機考試的,而不是讓你在職場中熟練的使用C語言,而且對相關的C++書籍銜接不好,不推薦想研究好C語言的人員購買此書。

為了希望學習C語言而為日後打下基礎的,建議購買Kernighan和Ritchie的《The C programming Language》,這本書能夠給你對C語言作為基礎一切要求。

3.用最笨的方法學習

買來了書,剩下的內容就是學習了。方法?最笨的方法就是最有效的方法,其實學習C語言的方法就是反復閱讀上面的書籍(當然了,為了應付考試的還要背誦一些內容),讀一遍不懂可以讀第二遍,直到讀懂為止。如果你需要捷徑,你可以問問Eris研究了多少年的C語言。

4.多做練習

別怕累,每本書都配有大量的練習,這對你理解當章的內容有很大的幫助,沒有答案怎麼辦?不是有輸出範例嗎?把它在你的C編譯器上進行編譯,看看出來的結果和你需要的是否一樣,反復嘗試,直到得出正確的結果。由於每章學到的內容斗中敏不同,你可以再學完後面的內容後,重新改進原來的C程序,不知不覺中,你的水平已經有了很大的進步。不要有了問題就問,你可以先放在一邊,等你學完下面的章節,你可能將前面的問題已經解決了呢!

5.讀程序,寫程序

經過上面的步驟,你已經能輕松解決書中的問題了,現在你就應該上網了,上網去讀人家的程序源碼,把你的想法寫上去或者再寫出新的程序,直到有了自己的一套風格。

6.學習趣味數學問題

你可能有些驚訝,但是你也許需要回到小學小紅花數學競賽中的題目,所有的趣味數學問題都可以通過編程解決,你其實不需要太高深的高等數學水平(其實大部分高等數學問題你不會用在程序設計中),但你卻需要培養很好的邏輯能力。

7.拒絕QQ

不要以為QQ上的好友能夠給你解決問題,當你上了QQ時,大部分時間都是花在閑聊,所以說與其浪費時間,不如拒絕QQ,其實這里並不是讓你拒絕QQ,而是拒絕一切即時聊天軟體,因為它會耽誤你很多時間。在心中堅守一個原則,不閑聊決不用這些軟體。

8.不要停止

當你到達了一個水平之後,剩下的內容就是不停的學習了,每天都要查找相關的C語言新技術,別人的心得,看看能不能對自己有幫助。記住,無論多先進的技術,在IT業,5個月都能讓它變成化石技術。

Ⅳ 請問這道C語言編程題怎麼做

i3=i1+i2
i3==0
i3<0

Ⅵ 請問一下這道C語言編程題怎麼做

按照題目要求編寫的用凱撒密碼加密的C語言程序如下

#include<stdio.h>

int main(){

char s[80];

int offset,i;

fgets(s,80,stdin);

scanf("%d",&offset);

for(i=0;s[i]!='';i++){

if('A'<=s[i] && s[i]<='Z')

if(offset>=0)

s[i]='A'+(s[i]-'A'+offset)%26;

else

s[i]='A'+(s[i]-'A'+26+offset%26)%26;

else if('a'<=s[i] && s[i]<='z')

if(offset>=0)

s[i]='a'+(s[i]-'a'+offset)%26;

else

s[i]='a'+(s[i]-'a'+26+offset%26)%26;

}

printf("%s ", s);

return 0;

}

Ⅶ 這道編程題如何用c語言解答

代碼資料:

#include "stdio.h"

int main(int argc,char *argv[]){

char t[100][2],i,j,k,n,m;

printf("please enter ch & n(char ch, int 0<n<41; '@' end)... ");

for(n=0;n<100;n++){

if(scanf(" %c",t[n])!=1 || t[n][0]=='@')

break;

if(scanf("耐啟喚%d",t[n]+1)!=1 || t[n][1]<1 || t[n][1]>40){

printf("Input error, exit... ");

return 0;

}

}

for(i=0;t[i][0]!='@';i++){

for(j=1;j<=t[i][1];j++){

for(k=0;k++<t[i][1]-j;putchar(' '));

for(m=j+j-1,k=0;k<昌凱旁爛m;k++)

putchar(k==0 || k==m-1 || j==t[i][1] ? t[i][0] : ' ');

putchar(' ');

}

putchar(' ');

}

return 0;

}

Ⅷ c語言 求圓周率並以五位小數形式輸出,誤差e從鍵盤輸入,有沒有大神能幫忙看一下我寫的代碼該怎麼改啊

已舉世伍返凱經修改完成:

#include<stdio.h>
intmain()
{
inti,h;
doublef=-1,e;
doublesum=0;
scanf("%lf",&e);
h=1/e;
for(i=1;i<=h;i=i+2)
{
f=-f;
sum=sum+f/i;
}
printf("%.5lf "正或,4*sum);
return0;
}

Ⅸ c語言 輸出以下圖案 * * * * * * * * * * * * * * * * * * * * * * * * * * *

main()
{
print( "*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*");}
如果你對我的回復感到滿意,請你選擇「採納」和「小紅花」評價,這將鼓勵我們更好的為其他網友解答,謝謝。以上是猴島論壇:雨憶為您解答

Ⅹ c語言擊鼓傳花問題

#include<stdio.h>
#include<malloc.h>
#include<stdbool.h>//truefalse
#defineMAXN20

//以下代碼以循環雙鏈表編寫

typedefstructnode
{
intvalue;//存儲該節點的值
structnode*next;//該節點的後一個節點地址
structnode*prior;//該節點的前一個節點地址
}Neo;//把structnode{...}重命名為Neo

///在堆中分配內存
Neo*InitNewNode(void)
{
Neo*newnode=(Neo*)malloc(sizeof(Neo));
newnode->value=0;
newnode->next=newnode;
newnode->prior=newnode;//該節點存儲的前後節點默認為自己
returnnewnode;
}

///得到一個長度為count的Neo雙鏈表
voidInitNeoList(Neo*head,intcount)
{
Neo*p=head;//p初始化指向頭節點
inti;
for(i=0;i<count;++i)
{
Neo*node=InitNewNode();
node->value=i+2;
//把該節點添加到雙鏈表中
p->next=node;
node->prior=p;
node->next=head;
head->prior=node;
//p指向新添加的節點
p=node;
}
return;
}

voidOutput(Neo*head,inttimes)
{
Neo*p=head->next;
intcot=0;
intdel=0;
while(true)
{
cot++;
if(cot==times)
{
printf("%d ",p->value);//輸出該點的值
//把該點移除該雙鏈表
p->prior->next=p->next;
p->next->prior=p->prior;

Neo*q=p;//存儲要刪除的節點
free(p);//標記為可釋放
p=q->next;//把花給下一個人

cot=0;
del++;
}
p=p->next;
if(del==MAXN)break;
}
return;
}

intmain(intargc,charconst*argv[])
{
Neo*head=InitNewNode();
head->value=1;//頭節點存儲第一個同學的編號
InitNeoList(head,MAXN-1);//再添加19個節點
inttimes;
scanf("%d",&times);
Output(head,times);
return0;
}