第一篇:C語言編程 “畫圓”源程序
#include
void main()
{
int driver,mode;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,“");
setcolor(15);
line(66,66,88,88);
lineto(100,100);
linerel(36,64);
getch();
restorecrtmode();
}
--------------
#include
#include
void circlePoint(int x,int y)/*八分法畫圓程序*/
{
circle(320 x*20,240 y*20,3);
circle(320 y*20,240 x*20,3);
circle(320-y*20,240 x*20,3);
circle(320-x*20,240 y*20,3);
circle(320-x*20,240 y*20,3);
circle(320-x*20,240-y*20,3);
circle(320-y*20,240-x*20,3);
circle(320 y*20,240-x*20,3);
circle(320 x*20,240-y*20,3);
}
void MidBresenhamcircle(int r)/* 中點Bresenham算法畫圓的程序 */
{
int x,y,d;
x=0;y=r;d=1-r;/* 計算初始值 */
while(x { circlePoint(x,y);/* 繪制點(x,y)及其在八分圓中的另外7個對稱點 */ if(d<0)d =2*x 3;/* 根據誤差項d的判斷,決定非最大位移方向上是走還是不走 */ else { d =2*(x-y)5; y--; } x; delay(900000); } /* while */ } main() { int i,j,r,graphmode,graphdriver; detectgraph(&graphdriver,&graphmode); initgraph(&graphdriver,&graphmode,” “); printf(”中點Bresenhamcircle算法畫圓的程序n“);/*提示信息*/ printf(”注意 |r|<=11“); printf(”n輸入半徑值 r:“); scanf(”%d“,&r); printf(”按任意鍵顯示圖形...“); getch(); cleardevice(); setbkcolor(BLACK); for(i=20;i<=620;i =20)/*使用雙循環畫點函數畫出表格中的縱坐標*/ for(j=20;j<=460;j) putpixel(i,j,2); for(j=20;j<=460;j =20)/*使用雙循環畫點函數畫出表格中的橫坐標*/ for(i=20;i<=620;i) putpixel(i,j,2); outtextxy(320,245,”0“);/*原點坐標*/ outtextxy(320-5*20,245,”-5“);circle(320-5*20,240,2);/*橫坐標值*/ outtextxy(320 5*20,245,”5“);circle(320 5*20,240,2); outtextxy(320-10*20,245,”-10“);circle(320-10*20,240,2); outtextxy(320 10*20,245,”10“);circle(320 10*20,240,2); outtextxy(320-15*20,245,”-15“);circle(320-15*20,240,2); outtextxy(320 15*20,245,”15“);circle(320 15*20,240,2); outtextxy(320,240-5*20,”-5“);circle(320,240-5*20,2);/*縱坐標值*/ outtextxy(320,240 5*20,”5“);circle(320,240 5*20,2); outtextxy(320,240-10*20,”-10“);circle(320,240-10*20,2); outtextxy(320,240 10*20,”10“);circle(320,240 10*20,2); outtextxy(20,10,”The center of the circle is(0,0)“);/*坐標軸左上角顯示提示信息*/ setcolor(RED);/*標記坐標軸*/ line(20,240,620,240);outtextxy(320 15*20,230,”X“); line(320,20,320,460);outtextxy(330,20,”Y“); setcolor(YELLOW); MidBresenhamcircle(r); setcolor(BLUE);/*繪制圓*/ circle(320,240,r*20); setcolor(2); getch(); closegraph(); } -------------------------#include void main() { int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,”"); setcolor(15); circle(20,20,20); getch(); } 基于單片機msp430和溫度傳感器ds18b20的水溫度控制系統的c語言源程序(不是測量,要有加熱跟制冷) 我這是用STC做的,應該很容易移植到MPS430上的給你參考一下。#include sbit scl=P1^3;sbit sda=P1^4; sbit key1=P1^6;sbit key2=P1^7;sbit key3=P2^0;sbit key4=P2^1; sbit lcrs=P3^7;//數據/命令 sbit lcwr=P3^5;//讀/寫 sbit lcden=P3^4;//使能 sbit DS=P2^2; /*sbit lcrs=P3^4;//數據/命令 sbit lcwr=P3^7;//讀/寫 sbit lcden=P3^5;//使能 */ sbit jrk=P2^2;sbit cyk=P2^3;sbit xhk=P2^4;bit flag=0,rsg=0,not=0,he=0,in=0;int acon=0,bcon=0,dcon=0,econ=0, temp=0,y=0,j=0,l=0,cfj=0,ec=0,dc=0,at;uchar code table[]={48,49,50,51,52,53,54,55,56,57};uchar code ta1[]={“Temperature UP”};uchar code ta2[]={“Temperature DN”};uchar code ta3[]={“Inflator Cycle”};uchar code ta4[]={“Inflator Time ”};uchar code ta5[]={“ Heating UP ”};uchar code ta6[]={“ Inflator ”};uchar code table7[]={“Temperature”};uchar table1[]={0,0,0,'.',0};uchar table3[]={“AptitudeAquarium”};uchar table4[]={0,0,0,0,0};uchar n,c=0;void delay(uchar);void wen_kong();void xh();void rso();void weno(); void Init_Com(void){ TMOD = 0x11;PCON = 0x00;TH1=0x61;TL1=0x99;EA=1;ET1=1;TR1=1;} void delay(uchar count)//delay { uint i;while(count){ i=200;while(i>0)i--;count--;} } ////初始化18B20///////// bit init18b20(void){ uint i;bit no;DS=0;i=103;while(i>0)i--;DS=1;i=4;while(i>0)i--;no=DS;if(no==0){ DS=1;i=100;while(i>0)i--;no=DS;if(no==1)not=0;else not=1;} else not=1;return(not);} bit tmpread()bit(void)//讀一位 { uint i;bit dat;DS=0;i++;DS=1;i++;i++;dat=DS;i=8;while(i>0)i--;return(dat);} uchar tmpread()(void)//讀一個字節 { uchar i,j,dat;dat=0;for(i=1;i<=8;i++){ j=tmpread()bit();dat=(j<<7)|(dat>>1);//讀出的數據最低位在最前面,這樣剛好一個字節在DAT里 } return(dat);} void tmpwritebyte(uchar dat)//寫一個字節到 ds18b20 { uint i;uchar j;bit testb;for(j=1;j<=8;j++){ testb=dat&0x01;dat=dat>>1;if(testb)//write 1 { DS=0;i++;i++;DS=1;i=8;while(i>0)i--;} else { DS=0;//write 0 i=8;while(i>0)i--;DS=1;i++;i++;} } } int tmp()//DS18B20溫度讀取 { float tt;int a,b;if(init18b20()==0){ WDT_CONTR=0x36;/////喂狗 EA=0;delay(1); tmpwritebyte(0xcc);// 跳過讀ROM操作 tmpwritebyte(0x44);// 啟動溫度轉換 delay(10);init18b20();delay(1);tmpwritebyte(0xcc);tmpwritebyte(0xbe);a=tmpread();b=tmpread();temp=b;temp<<=8;//將高字節溫度數據與低字節溫度數據整合 temp=temp|a;c=b>>4; tt=temp*0.0625; temp=tt*10+0.5;//放大10倍輸出并四舍五入 EA=1;return temp;} else not=1;} //////1062///////// void ydelay(uint x){ uint a,b;for(a=x;a>0;a--)for(b=10;b>0;b--);} void write_com(uchar com){ P0=com;lcwr=0;lcrs=0;lcden=0;ydelay(10);lcden=1;ydelay(10);lcden=0;lcwr=1;} void write_date(uchar date)//寫數據 { P0=date;lcwr=0;lcrs=1;lcden=0;ydelay(10);lcden=1;ydelay(10);lcden=0;lcwr=1;} void init1602()//初始化 { write_com(0x38);//設置顯示模式 ydelay(20);write_com(0x0c);//開顯示 ydelay(20);write_com(0x06);//指針和光標自動加一 ydelay(20);write_com(0x01);//清屏指令 ydelay(20);} ///////顯示程序////// void display(int num){ uint i,A1,A2;WDT_CONTR=0x35;/////喂狗 if(c!=0)num=~num+1;A1=num/1000;A2=num%1000/100;if(not==0){ if(c!=0){ c=0;table1[0]='-';} else if(A1==0)table1[0]=' ';else table1[0]=table[A1];if(A1==0)if(A2==0)table1[1]=' ';else table1[1]=table[A2]; table1[2]=table[num%1000%100/10];table1[4]=table[num%1000%100%10];} else { table1[0]='?';table1[1]='?';table1[2]='?';table1[4]='?';} write_com(0x80);for(i=0;i<11;i++){write_date(table7[i]);delay(2);} write_com(0x8b);for(i=0;i<5;i++){write_date(table1[i]);delay(2);} write_com(0xc0);for(i=0;i<16;i++){ if(he==1)write_date(ta5[i]);else if(in==1)write_date(ta6[i]);else write_date(table3[i]);} c=0;WDT_CONTR=0x35;/////喂狗 } ////顯示2//////////////////// display2(uchar bh,int dat){ uchar a,A,B;WDT_CONTR=0x35;/////喂狗 //write_com(0x01);//清屏指令 y=dat;y=y&0x8000;if(y!=0)dat=~dat+1;A=dat/1000;B=dat%1000/100;if((bh!=4)&&(bh!=5)){ if(A!=0)table4[0]=table[dat/1000];else if((c!=0)||(y!=0)){ c=0;y=0;table4[0]='-';} else table4[0]=' ';if(B!=0)table4[1]=table[B];else table4[1]=' ';table4[2]=table[dat%1000%100/10];table4[3]='.';table4[4]=table[dat%1000%100%10];} else { table4[0]=' ';if((c!=0)||(y!=0)){ c=0;y=0;table4[1]='-';} else table4[1]=' ';table4[2]=' ';table4[3]=table[dat%1000%100/10];table4[4]=table[dat%1000%100%10];} write_com(0xc4);delay(2);for(a=0;a<5;a++)write_date(table4[a]);delay(2);write_com(0x80);switch(bh){ case 1:for(a=0;a<14;a++)write_date(ta1[a]);break;case 2:for(a=0;a<14;a++)write_date(ta2[a]);break;case 3:for(a=0;a<14;a++)write_date(ta3[a]);break;case 4:for(a=0;a<14;a++)write_date(ta4[a]);break;default:break;} } ///////////x24c02////////////////// void delay24(){;;} void init24c02()//初始化 { sda=1;delay24();scl=1;delay24();} void start()//開始信號 { sda=1;delay24();scl=1;delay24();sda=0;delay24();} void stop()//停止 { sda=0;delay24();scl=1;delay24();sda=1;delay24();} void respons()//應答 { uchar i;scl=1;delay24();while((sda==1)&&(i<250))i++;scl=0;delay24();} void write_byte(uchar date)// 寫數據子函數 { uchar i,temp;temp=date; for(i=0;i<8;i++){ temp=temp<<1;scl=0;delay24();sda=CY;delay24();scl=1;delay24();} scl=0;delay24();sda=1;delay24();} uchar read_byte()// 讀數據子函數 { uchar i,k;scl=0;delay24();sda=1;delay24();for(i=0;i<8;i++){ scl=1;delay24();k=(k<<1)|sda;scl=0;delay24();} return k;} ///////寫數據函數/////////////////// void write_add(uchar address,uint date){ start();write_byte(0xa0);respons();write_byte(address);respons();write_byte(date/256);respons();write_byte(date%256);respons();stop();} uchar read_add(uchar address)//讀數據函數 { uchar date;start();write_byte(0xa0);respons();write_byte(address);respons();start();write_byte(0xa1);respons();date=read_byte();stop();return date;} void delay1ms(uchar ms){ uchar i;while(ms--){ for(i = 0;i< 250;i++){ _nop_();_nop_();_nop_();_nop_();} } } int keyf(int *num,int up,int dn){ uint i;uchar z;for(i=0;i<600;i++){ display2(n,*num);if(key1==0){ delay1ms(30);if(key1==0){ i=0;n++;if(n>=9)n=0;while(!key1)display2(n,*num);break;} } if(key2==0){ delay1ms(10);if(key2==0){ i=0;if(*num>=up)*num=up;else if(n!=4)*num=*num+1;else if(*num<100)*num=*num+5;else *num=*num+10;for(z=0;z<65;z++){ display2(n,*num);if(key2!=0)break;} while(!key2){ for(z=0;z<2;z++)display2(n,*num);if(*num>=up)*num=up;else if(n!=4)*num=*num+1;else if(*num<100)*num=*num+5;else *num=*num+10;} } } if(key3==0){ delay1ms(10);if(key3==0){ i=0;if(*num<=dn)*num=dn;else if(n!=4)*num=*num-1;else if(*num<100)*num=*num-5;else *num=*num-10;for(z=0;z<65;z++){ display2(n,*num);if(key3!=0)break;} while(!key3){ for(z=0;z<2;z++)display2(n,*num);if(*num<=dn)*num=dn;else if(n!=4)*num=*num-1;else if(*num<100)*num=*num-5;else *num=*num-10;} } } } return(*num);} void keyjc(){ uchar i=0;if(key1==0){ delay1ms(10);if(key1==0){ EA=0; for(i=0;i<20;i++){ display(tmp());} if(key1==0){ write_com(0x01);//清屏指令 n++;if(n>=5)n=0;while(!key1){ switch(n){ case 1:display2(n,acon);break;case 0:break;} } if(n==1){ keyf(&acon,1250,-530);if((acon-bcon)<3)bcon=acon-3;} if(n==2){ keyf(&bcon,1240,-550);if((acon-bcon)<3)acon=bcon+3;} write_add(1,acon);//A delay1ms(15);write_add(3,bcon);//B n=0;write_com(0x01);//清屏指令 } EA=1;} } } key(){ uint i;if(key4==0)delay1ms(50);if(key4==0){ write_com(0x01);//清屏指令 for(i=0;i<500;i++){ if(key4==0){ delay1ms(15);if(key4==0){ i=0;n++;if(n>=5)n=0;while(!key4){ switch(n){ case 1: display2(1,acon);break;case 2: display2(2,bcon);break;default: break;} } } } switch(n){ case 1: display2(1,acon);break;case 2: display2(2,bcon);break;default: break;} } n=0;} } ///////濾波//////// int filter(){ int tm,buf[6];uchar i,j;EA=0;for(i=0;i<6;i++){ buf[i]=tmp();delay1ms(20);WDT_CONTR=0x35;/////喂狗 } for(j=0;j<5;j++)for(i=0;i<5-j;i++)if(buf[i]>buf[i+1]){ tm=buf[i];buf[i]=buf[i+1];buf[i+1]=tm;} tm=((buf[2]+buf[3])/2);EA=1;return(tm);} void main(){ uchar b,c;Init_Com();init1602();init24c02(); b=read_add(1);delay1ms(15);c=read_add(2);delay1ms(15);acon=b*256+c;b=read_add(3);delay1ms(15);c=read_add(4);delay1ms(15);bcon=b*256+c; AUXR=0x01;// 禁止ALE輸出 WDT_CONTR=0x35;//啟動看門狗 write_com(0x01);//清屏指令 while(1){ at=filter();display(at);keyjc();key(); wen_kong();weno();} } //////溫度控制////////////// void wen_kong(){ if((flag==0)&&(not==0)){ at=filter();if(at<=bcon) { flag=1;jrk=0;xhk=0;he=1;} } } void weno(){ if(flag){ at=filter();if(at>=acon){ flag=0;jrk=1;if(rsg)xhk=0;else xhk=1;he=0;} } if(not==1){ flag=0;jrk=1;if(rsg)xhk=0;else xhk=1;he=0;} } C語言畫圖實驗代碼,包含畫直線,畫圓,橢圓 #include “graphics.h” #include “conio.h” #include “dos.h” #include “math.h” #include “stdio.h” /* 直線中點算法*/ void midpointline(int x0,int y0,int x1,int y1,int color){ int x,y; int a,b,c,d,d1,d2; a=(y0-y1); b=(x1-x0); d=a+a+b; d1=a+a; d2=a+b+a+b; x=x0;y=y0; putpixel(x,y,color); while(x { if(d<0) {x++;y++;d+=d2;} else {x++;d+=d1;} putpixel(x,y,color); } } /* 直線DDA算法*/ DDA_line(int x1,int y1,int x2,int y2,int color){ int i; float increx,increy,x,y,length,xx,yy; if(abs(x2-x1)>abs(y2-y1)) length=abs(x2-x1); else length=abs(y2-y1); increx=(x2-x1)/length; increy=(y2-y1)/length; x=x1; y=y1; for(i=1;i<=length;i++) yy=y+0.5; putpixel((int)xx,(int)yy,color); x=x+increx; y=y+increy; } } /* 橢圓中點算法*/ void MidBresenhamllipse(double a,double b,int color) { double x,y, d1,d2; x=0;y=b; d1=b*b+a*a*(-b+0.25); putpixel(x+300,y+200,color); putpixel(-x+300,-y+200,color); putpixel(-x+300,y+200,color); putpixel(x+300,-y+200,color); while(b*b*(x+1) { if(d1<=0) { d1+=b*b*(2*x+3); x++; } else { d1+=b*b*(2*x+3)+a*a*((-2)*y+2); x++; y--; } putpixel(x+300,y+200,color); putpixel(-x+300,-y+200,color); putpixel(-x+300,y+200,color); putpixel(x+300,-y+200,color); } d2=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b; while(y>0) { { d2+=b*b*(2*x+2)+a*a*(-2*y+3); x++; y--; } else { d2+=a*a*(-2*y+3); y--; } putpixel(x+300,y+200,color); putpixel(-x+300,-y+200,color); putpixel(-x+300,y+200,color); putpixel(x+300,-y+200,color); } } /* 參數法畫橢圓 */ void cs_ellipse(int x0,int y0,int a,int b,int dt) { int x,y,n,i; float t=0,t1; t1=dt*0.0174533; n=360/dt; moveto(x0+a,y0); for(i=1;i { t=t+t1; x=x0+a*cos(t); y=y0+b*sin(t); lineto(x,y); } lineto(x0+a,y0); } void cs_Ellipse(int x0,int y0,int a1,int b1,int color1) { int i,x=x0,y=y0,a=a1,b=b1,color=color1; cs_ellipse(x,y,a,b,1); } /* 中點Bresenham算法畫圓 */ voidBresenhemCircle(int x0,int y0,double r,int color) { int x,y,d; x=0; y=(int)r; d=(int)(3-2*r); while(x { cirpot(x0,y0,x,y,color); if(d<0) d+=4*x+6; else { d+=4*(x-y)+10; y--; } x++; } if(x==y) cirpot(x0,y0,x,y,color); } int cirpot(int x0,int y0,int x,int y,int color) { putpixel((x0+x),(y0+y),color); putpixel((x0+y),(y0+x),color); putpixel((x0+y),(y0-x),color); putpixel((x0+x),(y0-y),color); putpixel((x0-x),(y0-y),color); putpixel((x0-y),(y0-x),color); putpixel((x0-y),(y0+x),color); putpixel((x0-x),(y0+y),color); return(0); } /* 參數法畫圓 */ void cs_circle(int x0,int y0,int r,int dt) { int x,y,n,i; float t=0,t1; t1=dt*0.0174533; n=360/dt; moveto(x0+r,y0); for(i=1;i { t=t+t1; x=x0+r*cos(t); y=y0+r*sin(t); lineto(x,y); } lineto(x0+r,y0); } void cs_Circle(int x0,int y0,int r1,int color1) { int i,x=x0,y=y0,r=r1,color=color1; cs_circle(x,y,r,1); } void fun() { printf(“************************************************************n”);printf(“*input '1' ues midpointline painting line!*n”);printf(“*input '2' ues DDA_line painting line!*n”);printf(“*input '3' ues system function painting line!*n”); printf(“*input '4' ues midBresenham painting elliptic!*n”);printf(“*input '5' ues parametricpainting elliptic!*n”); printf(“*input '6' ues system function painting elliptic!*n”); printf(“*input '7' ues midBresenham painting circle!*n”);printf(“*input '8' ues midBresenham painting circle!*n”);printf(“*input '9' ues parametricpainting circle!*n”);printf(“*input 'a' print all graphics!!*n”);printf(“*input 'E'exit system!*n”); printf(“************************************************************n”);} /*主函數塊*/ void main() { int gdriver=DETECT,gmode; /*setbkcolor(9);*/ char c; initgraph(&gdriver,&gmode,“c:tc”); fun(); scanf(“%c”,&c); do { switch(c) { case '1': midpointline(120,220,200,160,20);break;case '2': DDA_line(110,120,200,340,10);break;case '3': line(110,120,200,240);break; case '4': MidBresenhamllipse(34,55,6);break;case '5': cs_Ellipse(120,240,20,120,21);break;case '6': ellipse(110,250,0,360,100,40);break; case '7': BresenhemCircle(100,100,50,4);break;case '8': circle(100,100,67);break;case '9': cs_Circle(100,100,23,2);break;case 'a': midpointline(120,220,200,160,20);DDA_line(110,120,200,340,10);line(110,120,200,240); MidBresenhamllipse(34,55,6);cs_Ellipse(120,240,20,120,21);ellipse(110,250,0,360,100,40); BresenhemCircle(100,100,50,4);circle(100,100,67); cs_Circle(100,100,23,2);break; } printf(“Input any key to continue!!n”);getch(); cleardevice(); fun(); scanf(“%c”,&c); }while(c!='E'); printf(“exit system!n”); closegraph(); } 1.有三個整數a,b,c,由鍵盤輸入,輸出其中最大的數。#include scanf(“%d%d%d”,&a,&b,&c);if(a>b&&a>c) printf(“%dn”,a);else if(b>a&&b>c) printf(“%dn”,b); else printf(“%dn”,c);} 2.編程輸入整數a和b,若a2?b2大于100,則輸出a2?b2百位以上的數字,否則輸出兩數之和。 #include printf(“%dn”,(d+e));else printf(“%dn”,f);} 3.有一函數: ?x(x?1)? y??2x?11(1?x?10) ?3x?11(x?10)?編寫一程序,輸入x,輸出y值。#include y=x;else if(x<10&&x>=1) y=2*x-11; else y=3*x-11; printf(“%dn”,y);} 4.給出一百分制成績,要求輸出成績等級’A’,’B’,’C’,’D’,’E’。90分以上為’A’,80-89分為’B’,70-79分為’C’,60-69分為’D’,60分以下為’E’ #include printf(“A”);else if(x<90&&x>=80) printf(“B”); else if(x<80&&x>=70) printf(“C”); else if(x<70&&x>=60) printf(“D”); else printf(“E”);printf(“n”);} 5.提高題:給一個不多于5位的正整數,要求:①求出它是幾位數;②分別打印出每一位數字;③按逆序打印出各位數字,例如原數是321,應輸出123。#include for(i=0;j>1;i++) j=j/10;} printf(“%dnn”,i);{ for(k=1;k<=i;k++){ b=a%10; a=a/10; printf(“%d”,b);} } }.求解一元二次方程a*x2+b*x+c=0 #include int main(){ int a,b,c,m;double x1,x2,n; //解為double類型 printf(“請輸入ax2+bx+c=0中的a,b,c: n”);scanf(“%d %d %d”,&a,&b,&c);//輸入參數 m=(b*b-4*a*c);if(m<0) printf(“方程無解”);else n=sqrt((double)m); //對m進行強制類型轉換為double,因為接為double x1=(-b-m)/(2*(double)a); x2=(-b+m)/(2*(double)a); printf(“x1=%.2lf x2=%.2lfn”,x1,x2);return 0;}.有一個分數數列: 23581321,,,?求出這個數列前20項之和 1235813#include double sum(int n){ int i;double part = 0; for(i = 1.0;i <= n;i++) part +=(1.0 / i);return 2 * n-part;} int main(void){ printf(“%.18fn”, sum(20));return 0;} 將從鍵盤輸入的偶數寫成兩個素數之和。#include int a,b,c,d; scanf(“%d”,&a); for(b=3;b<=a/2;b+=2) { for(c=2;c<=sqrt(b);c++) if(b%c==0)break; if(c>sqrt(b)) d=a-b; else break; for(c=2;c<=sqrt(d);c++) if(d%c==0)break; if(c>sqrt(d)) printf(“%d=%d+%dn”,a,b,d); } } 1:5位跳水高手參加10米高臺跳水決賽,有好事者讓5人據實力預測比賽結果.A選手說:B第二,我第三B選手說:我第二,E第四;C選手說:我第一,D第二;D選手說:C最后,我第三;E選手說:我第四,A第一.決賽成績公布之后,每位選手的預測都只說對了一半,即一對一錯.請編程解出比賽的實際名次. 1.#include #include } for(i=1;i<=4;i++) b=a[0];a[0]=a[3];a[3]=b;b=a[1];a[1]=a[2];a[2]=b;for(k=1;k<=4;k++)printf(“%d”,a[k-1]);{ } a[i-1]=(a[i-1]+5)%10;a[4-j]=b%10;b=b/10;} 2、編寫程序,對輸入兩個正整數m和n,求出它們的最大公約數和最小公倍數 #include “stdio.h” #include “math.h” void main(){ int n,m,maxgy,mingb,i,p;printf(“please input n and m:”);scanf(“%d%d”,&n,&m);if(n>m){ p=n;n=m;m=p;/*m和n交換*/ } for(i=n;i>=1;i--) if(m%i==0&&n%i==0) break;maxgy=i;printf(“nmaxgy=%d mingb=%dn”,maxgy,m*n/maxgy); } 2、編寫程序,對輸入兩個正整數m和n,求出它們的最大公約數和最小公倍數 #include “stdio.h” #include “math.h” void main(){ int n,m,maxgy,mingb,t,p;printf(“please input n and m:”);scanf(“%d%d”,&n,&m);if(n>m){ p=n;n=m;m=p;/*m和n交換*/ } p=m*n;while(m%n!=0){ t=m%n; m=n; n=t;} maxgy=n;printf(“nmaxgy=%d mingb=%dn”,maxgy,p/maxgy);} #include “stdio.h” #include “math.h” void main(){ int n,m,maxgy,p;int maxgy1(int m,int n);printf(“please input n and m:”);scanf(“%d%d”,&n,&m);if(n>m){ p=n;n=m;m=p;/*m和n交換*/ } p=m*n; maxgy=maxgy1(m,n);printf(“nmaxgy=%d mingb=%dn”,maxgy,p/maxgy);} int maxgy1(int m,int n){ if(n==0) return m;else return maxgy1(n,m%n);} 3輸入n判斷n是否為素數 #include “stdio.h” void main(){ int n,i,flag;flag=1;printf(“please input n:”);scanf(“%d”,&n);for(i=2;i if(n%i==0) { flag=0; break; } if(flag==1) printf(“n%d is ssn”,n);else printf(“n%d is not ssn”,n);} #include “stdio.h”、求100以內的所有素數,并按10個一行進行打印。#include “math.h” void main(){ int n,i,flag,sum;sum=0;for(n=2;n<=100;n++){ flag=1; for(i=2;i<=sqrt(n);i++) if(n%i==0) { flag=0; break; } if(flag==1) { sum++; printf(“%5d”,n); if(sum%10==0) printf(“n”); } } printf(“n”);} 4、用遞歸求1到100的和 #include return 1;else return n+lj(n-1);} 累加法求1到100的和 #include sum=sum+i;printf(“result=%dn”,sum);} #include printf(“result=%dn”,sum);} #include if(i>100) break; sum=sum+i; i++;} printf(“result=%dn”,sum);} 求20到40以及60到80中所有能被3整除數的和 #include if(i%3==0) sum=sum+i; if(i==40) i=i+19;} //i%3==0&&i>=20&&i<=40||i>=60&&i<=80 printf(“result=%dn”,sum);} A+aa+aaa+….+a…..a #include t=t*10+a; sum=sum+t;} printf(“result=%ldn”,sum);} 1、請從鍵盤上輸入年、月、日,求該年月日是該年的第多少天? #include int year,month,day,sum=0,i;int days(int,int);printf(“please input year month and day:”);scanf(“%d%d%d”,&year,&month,&day);for(i=1;i int day;switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12:day=31;break;case 4: case 6: case 9: case 11:day=30;break;case 2:if(year%4==0&&year%100!=0||year%400==0) } return day; day=29;else day=28;} 2、求3到1000內所有尾數為3的素數之和。#include } int ss(int n){ int flag=1,i;for(i=2;i<=sqrt(n);i++)if(n%i==0){ flag=0;break;int i,sum=0;int ss(int);for(i=3;i<=1000;i++)if(ss(i)==1) if(i%10==3) sum=sum+i;printf(“result=%dn”,sum); } } return flag; 3、從鍵盤上輸入一個整數,將它拆成質因子的乘積。例如 18=2*3*3 #include } if(n%i==0){ } else i++;printf(“%d*”,i);n=n/i;printf(“b n”);} 4、從鍵盤上輸入一串字符,統計字母、數字、空格和其它字符的個數。#include char ch;int c,d,s,o;c=d=s=o=0;while((ch=getchar())!=10){ if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z') c++;else if(ch>='0'&&ch<='9') d++;else if(ch==' ') s++;else o++;} printf(“c=%dnd=%dns=%dno=%dn”,c,d,s,o);} 5、從鍵盤上輸入10個數,求它們的最大值。#include } int n,i,max;scanf(“%d”,&n);max=n;for(i=1;i<10;i++){ scanf(“%d”,&n);if(max max=n;} printf(“max=%dn”,max);3. 一個數恰好等于它的因子之和,這個數就稱為“完數”。例如,6的因子為1,2,3而6=1+2+3,因此6是完數。編程找出求1000以內的所有完全數。#include “stdio.h” #include “math.h” void main(){ int n,s,i,k;for(n=1;n<=1000;n++){ s=0; for(i=1;i if(n%i==0) s=s+i; if(n==s) { printf(“%5d its factors is ”,n); for(k=1;k if(n%k==0) printf(“%d,”,k); printf(“b n”); } } printf(“n”);} .打印出楊輝三角形(要求打印出10行如下圖)#include “stdio.h” #include “math.h” void main(){ long i,j,x,y,z,k;long jc(int);for(i=0;i<10;i++){ for(j=0;j<=i;j++) { x=jc(i); y=jc(j); z=jc(i-j); printf(“%4d”,x/(y*z)); } printf(“n”);} } long jc(int n){ long x=1,k;if(n==0) return 1;else for(k=1;k<=n;k++) x=x*k;return x;} #include “stdio.h” #include “math.h” void main(){ long i,j,x,y,z,k;for(i=0;i<10;i++){ for(j=0;j<=i;j++) { x=y=z=1; for(k=1;k<=i;k++) x=x*k; for(k=1;k<=j;k++) y=y*k; for(k=1;k<=i-j;k++) z=z*k; printf(“%4d”,x/(y*z)); } printf(“n”);} } 7.用*打印圖形 #include “stdio.h” void main(){ int i,j,k,n;printf(“please input n:”);scanf(“%d”,&n);for(i=1;i<=n;i++)/**/ { for(j=1;j<=40-i;j++)/**/ printf(“ ”); for(k=1;k<=2*i-1;k++)/**/ printf(“*”); printf(“n”);} for(i=n-1;i>=1;i--)/**/ { for(j=1;j<=40-i;j++)/**/ printf(“ ”); for(k=1;k<=2*i-1;k++)/**/ } } printf(“*”);printf(“n”); 大班語言活動:詩歌《畫圓》 活動目標: 1.在想想、講講的過程中,理解小動物畫圓的方法,學習詩歌。 2.感受動物畫圓的趣味,體驗自主學習的快樂。 活動準備: 反映詩歌內容的圖片一套。 活動過程: 一、導入部分:用身體畫圓,激起幼兒學習的興趣,引出詩歌主題。 1.教師用手勢畫一個圓形,問:你們看,我畫了什么?我是怎樣畫出來的?還能用其他的動作來畫圓嗎? 2.請幼兒嘗試用自己的身體動作來畫圓。 3.教師和全體幼兒一起來用身體動作畫圓。 二、理解掌握部分:初步了解詩句的結構,學習詩歌。 1.學習小魚畫圓的詩句 (1)師:小動物們看見我們這么畫圓覺得非常有趣,它們也想來畫,你們看誰來了呀? (2)出示小魚圖片,教師以小魚的口吻說:我是一條快活的小魚,喜歡在小河里游來游去,我畫圓的方法和你們不一樣,請你們猜猜,我是怎樣畫圓的呢?(引導幼兒猜測) (3)師:你們真聰明,幫我想出了這么多的辦法,看,我是怎樣畫圓的呀?(出示圖片) (4)師:小魚是怎樣畫圓的?(吐出泡泡一串串)讓幼兒表演動作。 (5)師:小魚為什么要用這種方法畫圓?(突出動物的特點)它的圓畫在什么地方? (6)教師結合圖片完整朗誦小魚畫圓的詩句:“小魚畫圓,吐出泡泡一串串,在水中畫圓。” (7)幼兒完整地學念詩句,并表演小魚吐泡泡的動作。 2.學習小猴畫圓的詩句 (1)師:看,還有誰也來畫圓了? (2)出示小猴圖片,教師以小猴的口吻說:我畫圓的方法也很不一樣,你們知道我是怎么畫的嗎? (3)(出示圖片)問:小猴是怎么畫圓的?在哪里畫的?小猴為什么要用這種方法畫圓?(突出動物的特點) (4)教師結合圖片完整朗誦小猴畫圓的詩句:“小猴畫圓,抓住樹枝蕩一圈,在樹上畫圓。” (5)幼兒完整地學念詩句,并表演小猴畫圓的動作。 3.學習青蛙畫圓的詩句 (1)師:除了小魚和小猴,還有其它的動物朋友也來了,我們趕快來認識一下吧!師:這個動物朋友呀身穿綠衣服,唱起歌來“呱呱呱”,它是誰?(青蛙) (2)問:青蛙是怎么畫圓的?在哪里畫的?青蛙為什么要用這種方法畫圓?(突出動物的特點) (3)教師結合圖片完整朗誦青蛙畫圓的詩句:“青蛙畫圓,撲通一聲跳下水,在水中畫圓。” (4)幼兒完整地學念詩句,并表演青蛙畫圓的動作。 4.學習刺猬畫圓的詩句 (1)師:最后這位朋友可厲害了,渾身長滿的尖尖的刺,你們知道他是誰嗎?(刺猬) (2)問:小朋友想一想,小刺猬是怎樣畫圓的?在哪里畫圓的?為什么要用這種方法? (3)教師結合圖片完整朗誦刺猬畫圓的詩句:“刺猬畫圓,團起身子滾一滾,在草地畫圓。” (4)幼兒完整地學念詩句,并表演刺猬畫圓的動作。 5.完整學習詩歌,感受動物畫圓的趣味。 師:小朋友畫圓有趣嗎?其實畫圓是一首好聽的詩歌,我們一起來聽一聽。(教師完整的朗誦一遍詩歌) 幼兒完整的學念詩句,并表演畫圓的動作。 三、延伸活動:詩歌仿編 1.討論:還有什么小動物會來畫圓呢?怎樣畫圓?在哪里畫圓? 2.教師引導幼兒將想象出來的內容講述出來,編成詩句。第二篇:c語言源程序
第三篇:C語言畫圓橢圓
第四篇:c語言源程序段
第五篇:大班語言活動《畫圓》1