C语言的学习要从基础開始。这里是100个经典的算法-1C语言的学习要从基础開始,这里是100个经典的算法





题目:古典问题:有一对兔子,从出生后第3个月起每一个月都生一对兔子。小兔





子长到第三个月后每一个月又生一对兔子,假如兔子都不死,问每一个月的兔子总数





为多少?









__________________________________________________________________









程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....









___________________________________________________________________





程序源码:

main()

{

long f1,f2;

int i;

f1=f2=1;

for(i=1;i<=20;i++)

{ printf("%12ld %12ld",f1,f2);

if(i%2==0) printf("\n");/*控制输出,每行四个*/

f1=f1+f2;/*前两个月加起来赋值给第三个月*/

f2=f1+f2;/*前两个月加起来赋值给第三个月*/

}

}





上题还可用一维数组处理。you try!









题目:推断101-200之间有多少个素数,并输出全部素数。









__________________________________________________________________









程序分析:推断素数的方法:用一个数分别去除2到sqrt(这个数),假设能被整





除,则表明此数不是素数,反之是素数。









___________________________________________________________________









程序源码:

#include "math.h"

main()

{

int m,i,k,h=0,leap=1;

printf("\n");

for(m=101;m<=200;m++)

{ k=sqrt(m+1);

for(i=2;i<=k;i++)

if(m%i==0)

{leap=0;break;}

if(leap) {printf("%-4d",m);h++;

if(h%10==0)

printf("\n");

}

leap=1;

}

printf("\nThe total is %d",h);

}









题目:打印出全部的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位





数字立方和等于该数本身。

比如:153是一个“水仙花数”,由于153=1的三次方





+5的三次方+3的三次方。









__________________________________________________________________









程序分析:利用for循环控制100-999个数,每一个数分解出个位,十位。百位。









___________________________________________________________________









程序源码:

main()

{

int i,j,k,n;

printf("'water flower'number is:");

for(n=100;n<1000;n++)

{

i=n/100;/*分解出百位*/

j=n/10%10;/*分解出十位*/

k=n%10;/*分解出个位*/

if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

{

printf("%-5d",n);

}

}

printf("\n");

}





 





题目:将一个正整数分解质因数。比如:输入90,打印出90=2*3*3*5。









__________________________________________________________________





 





程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完





成:

(1)假设这个质数恰等于n。则说明分解质因数的过程已经结束,打印出就可以。

(2)假设n<>k,但n能被k整除。则应打印出k的值,并用n除以k的商,作为新的正





整数你n,反复运行第一步。

(3)假设n不能被k整除,则用k+1作为k的值,反复运行第一步。









___________________________________________________________________





 





程序源码:

/* zheng int is divided yinshu*/

main()

{

int n,i;

printf("\nplease input a number:\n");

scanf("%d",&n);

printf("%d=",n);

for(i=2;i<=n;i++)

{

while(n!=i)

{

if(n%i==0)

{ printf("%d*",i);

n=n/i;

}

else

break;

}

}

printf("%d",n);

}









题目:利用条件运算符的嵌套来完毕此题:学习成绩>=90分的同学用A表示。60





-89分之间的用B表示,60分下面的用C表示。

__________________________________________________________________









程序分析:(a>b)?a:b这是条件运算符的基本样例。

___________________________________________________________________









程序源码:

main()

{

int score;

char grade;

printf("please input a score\n");

scanf("%d",&score);

grade=score>=90?

'A'score>=60?

'B':'C');

printf("%d belongs to %c",score,grade);

}





 





题目:输入两个正整数m和n,求其最大公约数和最小公倍数。









__________________________________________________________________









程序分析:利用辗除法。









___________________________________________________________________









程序源码:

main()

{

int a,b,num1,num2,temp;

printf("please input two numbers:\n");

scanf("%d,%d",&num1,&num2);

if(num1 { temp=num1;

num1=num2; 

num2=temp;

}

a=num1;b=num2;

while(b!=0)/*利用辗除法。直到b为0为止*/

{

temp=a%b;

a=b;

b=temp;

}

printf("gongyueshu:%d\n",a);

printf("gongbeishu:%d\n",num1*num2/a);

}









题目:输入一行字符。分别统计出当中英文字母、空格、数字和其他字符的个数





__________________________________________________________________









程序分析:利用while语句,条件为输入的字符不为'\n'.









___________________________________________________________________









程序源码:

#include "stdio.h"

main()

{char c;

int letters=0,space=0,digit=0,others=0;

printf("please input some characters\n");

while((c=getchar())!='\n')

{

if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letters++;

else if(c==' ')

space++;

else if(c>='0'&&c<='9')

digit++;

else

others++;

}

printf("all in all:char=%d space=%d digit=%d others=%





d\n",letters,space,digit,others);

}









题目:求s=a+aa+aaa+aaaa+aa...a的值,当中a是一个数字。比如





2+22+222+2222+22222(此时共同拥有5个数相加),几个数相加有键盘控制。









__________________________________________________________________









程序分析:关键是计算出每一项的值。









___________________________________________________________________









程序源码:

main()

{

int a,n,count=1;

long int sn=0,tn=0;

printf("please input a and n\n");

scanf("%d,%d",&a,&n);

printf("a=%d,n=%d\n",a,n);

while(count<=n)

{

tn=tn+a;

sn=sn+tn;

a=a*10;

++count;

}

printf("a+aa+...=%ld\n",sn);

}









题目:一个数假设恰好等于它的因子之和,这个数就称为“完数”。

比如6=1+2





+3.编程找出1000以内的全部完数。









___________________________________________________________________









程序源码:

main()

{

static int k[10];

int i,j,n,s;

for(j=2;j<1000;j++)

{

n=-1;

s=j;

for(i=1;i {

if((j%i)==0)

{ n++;

s=s-i;

k[n]=i;

}

}

if(s==0)

{

printf("%d is a wanshu",j);

for(i=0;i printf("%d,",k);

printf("%d\n",k[n]);

}

}

}





 





题目:一球从100米高度自由落下。每次落地后反跳回原高度的一半。再落下,





求它在第10次落地时。共经过多少米?第10次反弹多高?









___________________________________________________________________









程序源码:

main()

{

float sn=100.0,hn=sn/2;

int n;

for(n=2;n<=10;n++)

{

sn=sn+2*hn;/*第n次落地时共经过的米数*/

hn=hn/2; /*第n次反跳高度*/

}

printf("the total of road is %f\n",sn);

printf("the tenth is %f meter\n",hn);

}









题目:一仅仅猴子摘了N个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的





一半又多吃了一个,到第十天的时候发现另一个.









___________________________________________________________________









程序源码:

/* 猴子吃桃问题 */

main()



int i,s,n=1;

for(i=1;i<10;i++)

{

s=(n+1)*2

n=s;

}

printf("第一天共摘了%d个桃\n",s);

}





 





迭代法求方程根





___________________________________________________________________





 





/* 迭代法求一个数的平方根 */

#define Epsilon 1.0E-6 /*控制解的精度*/

#include<math.h>

main()

{

float a,x0,x1;

printf("请输入要求的数:");

scanf("%f",&a);

x0=a/2;

x1=(x0+a/x0)/2;

while(fabs(x1-x0)>=Epsilon)

{

x0=x1;

x1=(x0+a/x0)/2;

}

printf("%f的平方根:%f.5\n",x1);

}





 





/* 上题的还有一种算法 */

#define Epsilon 1.0E-6 /*控制解的精度*/ 

#include <stdio.h>

#include <math.h> 

main() 

{

float num,pre,this; 

do 



scanf("%f",&num);/*输入要求平方根的数*/ 

}while(num<0); 

if (num==0) 

printf("the root is 0"); 

else 

{

this=1; 

do



pre=this;

this=(pre+num/pre)/2; 

}while(fabs(pre-this)>Epsilon);/*用解的精度,控制循环次数*/ 



printf("the root is %f",this); 

}









用牛顿迭代法 求方程 2*x*x*x-4*x*x+3*x-6 的根

/* 牛顿迭代法 */

#define Epsilon 1.0E-6 /*控制解的精度*/

#include<math.h>

main()



float x1,x0=1.5;

x1=x0-(2*x0*x0*x0-4*x0*x0+3*x0-6)/(6*x0*x0-8*x0+3);

while(fabs(x1-x0>=Epsilon)



x0=x1;

x1=x0-(2*x0*x0*x0-4*x0*x0+3*x0-6)/(6*x0*x0-8*x0+3);

}

printf("方程的根为%f\n",x1);

}









用二分法求上题

/* 二分法 */

#define Epsilon 1.0E-5 /*控制解的精度*/

#include<math.h>





main()



folat x1,x2,x0,f1,f2,f0;

x0=(x1+x2)/2;

f0=2*x0*x0*x0-4*x0*x0+3*x0-6; /* 求中点的函数值 */

while(fabs(f0)>=Epsilon)



if(f0*f1<0)

{ x2=x0;

f2=2*x2*x2*x2-4*x2*x2+3*x2-6;

}

if(f0*f2<0)

{ x1=x0;

f1=2*x1*x1*x1-4*x1*x1+3*x1-6;

}

x0=(x1+x2)/2;

f0=2*x0*x0*x0-4*x0*x0+3*x0-6;

}

printf("用二分法求得方程的根:%f\n",x0); 

}









题目:打印出例如以下图案(菱形)





*

***

******

********

******

***

*





___________________________________________________________________









程序分析:先把图形分成两部分来看待。前四行一个规律,后三行一个规律,利





用双重for循环。第一层控制行。第二层控制列。

___________________________________________________________________









程序源码:

main()

{

int i,j,k;

for(i=0;i<=3;i++)

{

for(j=0;j<=2-i;j++)

printf(" ");

for(k=0;k<=2*i;k++)

printf("*");

printf("\n");

}

for(i=0;i<=2;i++)

{

for(j=0;j<=i;j++)

printf(" ");

for(k=0;k<=4-2*i;k++)

printf("*");

printf("\n");

}

}









题目:一个5位数,推断它是不是回文数。即12321是回文数,个位与万位同样,





十位与千位同样。





___________________________________________________________________









程序分析:同29例





___________________________________________________________________









程序源码:

main( )

{

long ge,shi,qian,wan,x;

scanf("%ld",&x);

wan=x/10000;

qian=x%10000/1000;

shi=x%100/10;

ge=x%10;

if (ge==wan&&shi==qian)/*个位等于万位而且十位等于千位*/

printf("this number is a huiwen\n");

else

printf("this number is not a huiwen\n");

}





 





题目:请输入星期几的第一个字母来推断一下是星期几,假设第一个字母一样。





则继续推断第二个字母。





___________________________________________________________________









程序分析:用情况语句比較好。假设第一个字母一样,则推断用情况语句或if语





句推断第二个字母。

___________________________________________________________________









程序源码:

#include <stdio.h>

void main()

{

char letter;

printf("please input the first letter of someday\n");

while ((letter=getch())!='Y') /*当所按字母为Y时才结束*/

{ switch (letter)

{case 'S':printf("please input second letter\n");

if((letter=getch())=='a')

printf("saturday\n");

else if ((letter=getch())=='u')

printf("sunday\n");

else printf("data error\n");

break;

case 'F':printf("friday\n");break;

case 'M':printf("monday\n");break;

case 'T':printf("please input second letter\n");

if((letter=getch())=='u')

printf("tuesday\n");

else if ((letter=getch())=='h')

printf("thursday\n");

else printf("data error\n");

break;

case 'W':printf("wednesday\n");break;

default: printf("data error\n");

}

}

}









题目:Press any key to change color, do you want to try it. Please





hurry up!





___________________________________________________________________









程序源码:

#include <conio.h>

void main(void)

{

int color;

for (color = 0; color < 8; color++)



textbackground(color); /*设置文本的背景颜色*/

cprintf("This is color %d\r\n", color);

cprintf("ress any key to continue\r\n");

getch(); /*输入字符看不见*/

}

}









题目:学习gotoxy()与clrscr()函数





___________________________________________________________________









程序源码:

#include <conio.h>

void main(void)

{

clrscr(); /*清屏函数*/

textbackground(2);

gotoxy(1, 5); /*定位函数*/

cprintf("Output at row 5 column 1\n");

textbackground(3);

gotoxy(20, 10);

cprintf("Output at row 10 column 20\n");

}





 





题目:练习函数调用





___________________________________________________________________









程序源码:

#include <stdio.h>

void hello_world(void)

{

printf("Hello, world!\n");

}

void three_hellos(void)

{

int counter;

for (counter = 1; counter <= 3; counter++)

hello_world();/*调用此函数*/

}

void main(void)

{

three_hellos();/*调用此函数*/

}





 





题目:文本颜色设置





___________________________________________________________________









程序源码:

#include <conio.h>

void main(void)

{

int color;

for (color = 1; color < 16; color++)

{

textcolor(color);/*设置文本颜色*/

cprintf("This is color %d\r\n", color);

}

textcolor(128 + 15);

cprintf("This is blinking\r\n");

}









题目:求100之内的素数





___________________________________________________________________









程序源码:

#include <stdio.h>

#include "math.h"

#define N 101

main()

{

int i,j,line,a[N];

for(i=2;i<N;i++) a=i;

for(i=2;i<sqrt(N);i++)

for(j=i+1;j<N;j++)

{

if(a!=0&&a[j]!=0)

if(a[j]%a==0)

a[j]=0;}

printf("\n");

for(i=2,line=0;i<N;i++)

{

if(a!=0)

{printf("%5d",a);

line++;}

if(line==10)

{printf("\n");

line=0;}

}

}









题目:对10个数进行排序





___________________________________________________________________









程序分析:能够利用选择法,即从后9个比較过程中。选择一个最小的与第一个





元素交换,下次类推。即用第二个元素与后8个进行比較,并进行交换。









程序源码:

#define N 10

main()

{int i,j,min,tem,a[N];

/*input data*/

printf("please input ten num:\n");

for(i=0;i<N;i++)

{

printf("a[%d]=",i);

scanf("%d",&a);}

printf("\n");

for(i=0;i<N;i++)

printf("%5d",a);

printf("\n");

/*sort ten num*/

for(i=0;i<N-1;i++)

{min=i;

for(j=i+1;j<N;j++)

if(a[min]>a[j]) min=j;

tem=a;

a=a[min];

a[min]=tem;

}

/*output data*/

printf("After sorted \n");

for(i=0;i<N;i++)

printf("%5d",a);

}









题目:求一个3*3矩阵对角线元素之和





___________________________________________________________________









程序分析:利用双重for循环控制输入二维数组,再将a累加后输出。





___________________________________________________________________









程序源码:

main()

{

float a[3][3],sum=0;

int i,j;

printf("please input rectangle element:\n");

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf("%f",&a[j]);

for(i=0;i<3;i++)

sum=sum+a;

printf("duijiaoxian he is %6.2f",sum);

}









题目:有一个已经排好序的数组。现输入一个数。要求按原来的规律将它插入数





组中。





___________________________________________________________________









程序分析:首先推断此数是否大于最后一个数。然后再考虑插入中间的数的情况





,插入后此元素之后的数,依次后移一个位置。





___________________________________________________________________









程序源码:

main()

{

int a[11]={1,4,6,9,13,16,19,28,40,100};

int temp1,temp2,number,end,i,j;

printf("original array is:\n");

for(i=0;i<10;i++)

printf("%5d",a);

printf("\n");

printf("insert a new number:");

scanf("%d",&number);

end=a[9];

if(number>end)

a[10]=number;

else

{for(i=0;i<10;i++)

{ if(a>number)

{temp1=a;

a=number;

for(j=i+1;j<11;j++)

{temp2=a[j];

a[j]=temp1;

temp1=temp2;

}

break;

}

}

}

for(i=0;i<11;i++)

printf("%6d",a);

}









题目:将一个数组逆序输出。





___________________________________________________________________









程序分析:用第一个与最后一个交换。

___________________________________________________________________









程序源码:

#define N 5

main()

{ int a[N]={9,6,5,4,1},i,temp;

printf("\n original array:\n");

for(i=0;i<N;i++)

printf("%4d",a);

for(i=0;i<N/2;i++)

{temp=a;

a=a[N-i-1];

a[N-i-1]=temp;

}

printf("\n sorted array:\n");

for(i=0;i<N;i++)

printf("%4d",a);

}





 





题目:学习static定义静态变量的使用方法





___________________________________________________________________









程序源码:

#include "stdio.h"

varfunc()

{

int var=0;

static int static_var=0;

printf("\40:var equal %d \n",var);

printf("\40:static var equal %d \n",static_var);

printf("\n");

var++;

static_var++;

}

void main()

{int i;

for(i=0;i<3;i++)

varfunc();

}





 





题目:学习使用auto定义变量的使用方法





___________________________________________________________________









程序源码:

#include "stdio.h"

main()

{int i,num;

num=2;

for (i=0;i<3;i++)

{ printf("\40: The num equal %d \n",num);

num++;

{

auto int num=1;

printf("\40: The internal block num equal %d \n",num);

num++;

}

}

}









C语言的学基础,100个经典的算法-2

程序源码:

#include "stdio.h"

main()

{

int i,num;

num=2;

for(i=0;i<3;i++)

{

printf("\40: The num equal %d \n",num);

num++;

{

static int num=1;

printf("\40:The internal block num equal %d\n",num);

num++;

}

}

}





 





题目:学习使用external的使用方法。





___________________________________________________________________









程序源码:

#include "stdio.h"

int a,b,c;

void add()

{ int a;

a=3;

c=a+b;

}

void main()

{ a=b=4;

add();

printf("The value of c is equal to %d\n",c);

}





 





题目:学习使用register定义变量的方法。





___________________________________________________________________









程序源码:

void main()

{

register int i;

int tmp=0;

for(i=1;i<=100;i++)

tmp+=i;

printf("The sum is %d\n",tmp);

}





 





题目:宏#define命令练习(1)





___________________________________________________________________









程序源码:

#include "stdio.h"

#define TRUE 1

#define FALSE 0

#define SQ(x) (x)*(x)

void main()

{

int num;

int again=1;

printf("\40: Program will stop if input value less than 50.\n");

while(again)

{

printf("\40lease input number==>");

scanf("%d",&num);

printf("\40:The square for this number is %d \n",SQ(num));

if(num>=50)

again=TRUE;

else

again=FALSE;

}

}





 





题目:宏#define命令练习(2)





___________________________________________________________________









程序源码:

#include "stdio.h"

#define exchange(a,b)

{ \ /*宏定义中同意包括两道衣裳命令的情形,此时必须在最右边加上"\"*/

int t;\

t=a;\

a=b;\

b=t;\

}

void main(void)

{

int x=10;

int y=20;

printf("x=%d; y=%d\n",x,y);

exchange(x,y);

printf("x=%d; y=%d\n",x,y);

}





 





题目:宏#define命令练习(3)





___________________________________________________________________









程序源码:

#define LAG >

#define SMA <

#define EQ ==

#include "stdio.h"

void main()

{ int i=10;

int j=20;

if(i LAG j)

printf("\40: %d larger than %d \n",i,j);

else if(i EQ j)

printf("\40: %d equal to %d \n",i,j);

else if(i SMA j)

printf("\40:%d smaller than %d \n",i,j);

else

printf("\40: No such value.\n");

}





 





题目:#if #ifdef和#ifndef的综合应用。





___________________________________________________________________









程序源码:

#include "stdio.h"

#define MAX

#define MAXIMUM(x,y) (x>y)?x:y

#define MINIMUM(x,y) (x>y)?y:x

void main()

{ int a=10,b=20;

#ifdef MAX

printf("\40: The larger one is %d\n",MAXIMUM(a,b));

#else

printf("\40: The lower one is %d\n",MINIMUM(a,b));

#endif

#ifndef MIN

printf("\40: The lower one is %d\n",MINIMUM(a,b));

#else

printf("\40: The larger one is %d\n",MAXIMUM(a,b));

#endif

#undef MAX

#ifdef MAX

printf("\40: The larger one is %d\n",MAXIMUM(a,b));

#else

printf("\40: The lower one is %d\n",MINIMUM(a,b));

#endif

#define MIN

#ifndef MIN

printf("\40: The lower one is %d\n",MINIMUM(a,b));

#else

printf("\40: The larger one is %d\n",MAXIMUM(a,b));

#endif

}





 





题目:#include 的应用练习





___________________________________________________________________









程序源码:

test.h 文件例如以下:

#define LAG >

#define SMA <

#define EQ ==

#include "test.h" /*一个新文件50.c,包括test.h*/

#include "stdio.h"

void main()

{ int i=10;

int j=20;

if(i LAG j)

printf("\40: %d larger than %d \n",i,j);

else if(i EQ j)

printf("\40: %d equal to %d \n",i,j);

else if(i SMA j)

printf("\40:%d smaller than %d \n",i,j);

else

printf("\40: No such value.\n");

}









题目:学习使用按位与 & 。

___________________________________________________________________









程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1





___________________________________________________________________









程序源码:

#include "stdio.h"

main()

{

int a,b;

a=077;

b=a&3;

printf("\40: The a & b(decimal) is %d \n",b);

b&=7;

printf("\40: The a & b(decimal) is %d \n",b);

}





 





题目:学习使用按位或 | 。





___________________________________________________________________









程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1





___________________________________________________________________









程序源码:

#include "stdio.h"

main()

{

int a,b;

a=077;

b=a|3;

printf("\40: The a & b(decimal) is %d \n",b);

b|=7;

printf("\40: The a & b(decimal) is %d \n",b);

}





 





题目:学习使用按位异或 ^ 。

___________________________________________________________________









程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0





___________________________________________________________________









程序源码:

#include "stdio.h"

main()

{

int a,b;

a=077;

b=a^3;

printf("\40: The a & b(decimal) is %d \n",b);

b^=7;

printf("\40: The a & b(decimal) is %d \n",b);

}





 





题目:取一个整数a从右端開始的4~7位。

___________________________________________________________________









程序分析:能够这样考虑: 

(1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)

(3)将上面二者进行&运算。





___________________________________________________________________









程序源码:

main()

{

unsigned a,b,c,d;

scanf("%o",&a);

b=a>>4; 

c=~(~0<<4);

d=b&c;

printf("%o\n%o\n",a,d);

}





 





题目:学习使用按位取反~。

___________________________________________________________________









程序分析:~0=1; ~1=0;





___________________________________________________________________









程序源码:

#include "stdio.h"

main()

{

int a,b;

a=234;

b=~a;

printf("\40: The a's 1 complement(decimal) is %d \n",b);

a=~a;

printf("\40: The a's 1 complement(hexidecimal) is %x \n",a);

}





 





题目:绘图,学用circle画圆形。





___________________________________________________________________









程序源码:

/*circle*/

#include "graphics.h"

main()

{

int driver,mode,i;

float j=1,k=1;

driver=VGA;mode=VGAHI;

initgraph(&driver,&mode,"");

setbkcolor(YELLOW);

for(i=0;i<=25;i++)

{

setcolor(8);

circle(310,250,k);

k=k+j;

j=j+0.3;

}

}





 





题目:绘图。学用line画直线。

___________________________________________________________________









程序源码:

#include "graphics.h"

main()

{

int driver,mode,i;

float x0,y0,y1,x1;

float j=12,k;

driver=VGA;mode=VGAHI;

initgraph(&driver,&mode,"");

setbkcolor(GREEN);

x0=263;y0=263;y1=275;x1=275;

for(i=0;i<=18;i++)

{

setcolor(5);

line(x0,y0,x0,y1);

x0=x0-5;

y0=y0-5;

x1=x1+5;

y1=y1+5;

j=j+10;

}

x0=263;y1=275;y0=263;

for(i=0;i<=20;i++)

{

setcolor(5);

line(x0,y0,x0,y1);

x0=x0+5;

y0=y0+5;

y1=y1-5;

}

}





 





题目:绘图。学用rectangle画方形。





___________________________________________________________________









程序分析:利用for循环控制100-999个数,每一个数分解出个位,十位,百位。

___________________________________________________________________









程序源码:

#include "graphics.h"

main()

{

int x0,y0,y1,x1,driver,mode,i;

driver=VGA;mode=VGAHI;

initgraph(&driver,&mode,"");

setbkcolor(YELLOW);

x0=263;y0=263;y1=275;x1=275;

for(i=0;i<=18;i++)

{

setcolor(1);

rectangle(x0,y0,x1,y1);

x0=x0-5;

y0=y0-5;

x1=x1+5;

y1=y1+5;

}

settextstyle(DEFAULT_FONT,HORIZ_DIR,2);

outtextxy(150,40,"How beautiful it is!");

line(130,60,480,60);

setcolor(2);

circle(269,269,137);

}

C语言100个经典的算法的更多相关文章

  1. C语言100个经典的算法之兔子总数计算内含printf的用法

    语言的学习基础,100个经典的算法 C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一 ...

  2. C语言100道经典算法

    经典的100个c算法 C语言的学习要从基础,100个经典的算法真不知道关于语言的应该发在那里,所以就在这里发了,发贴的原因有2个,第一个,这东西非常值得学习,第二个,想..........嘿嘿,大家应 ...

  3. C语言100个经典算法

    POJ上做做ACM的题 语言的学习基础,100个经典的算法C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典问题:有一对兔子,从出生后 ...

  4. C语言8大经典排序算法(1)

    算法一直是编程的基础,而排序算法是学习算法的开始,排序也是数据处理的重要内容.所谓排序是指将一个无序列整理成按非递减顺序排列的有序序列.排列的方法有很多,根据待排序序列的规模以及对数据的处理的要求,可 ...

  5. C语言8大经典排序算法(2)

    二.插入类排序 插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止. 插入排序一般意义上有两 ...

  6. Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现

    2017年4月29日~5月1日,国际劳动节, 三天的小长假. 在国内,小长假往往是这样的: 然而我当时在戏称为"德村"(德国农村)的Walldorf出差并且住在Wiesloch, ...

  7. Java实现经典七大经典排序算法

    利用Java语言实现七大经典排序算法:冒泡排序.选择排序.插入排序.希尔排序.堆排序.归并排序以及快速排序. 分类 类别 算法 插入排序类 插入排序.希尔排序 选择排序类 选择排序.堆排序 交换排序类 ...

  8. 100个经典C语言程序(益智类)

    100个经典C语言程序(益智类) [1.绘制余弦曲线] 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 [问题分析与算法设计] 利用cos(x)的左右对称性,将屏幕的行方向定义为x,列方向 ...

  9. [转]100个经典C语言程序(益智类问题)

    目录: 1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 8.借书方案知多少 9.杨辉三角形 10.数制转换 11.打鱼还是晒网 12.抓交通肇事 ...

随机推荐

  1. IntelliJ IDEA快捷键:Ctrl+Alt+B

    To navigate to the implementation(s) of an abstract method,position the caret at its usage or its na ...

  2. Jquery监听AJAX请求

    .ajaxComplete() 当Ajax请求完成后注册一个回调函数.这是一个 AjaxEvent. .ajaxError() Ajax请求出错时注册一个回调处理函数,这是一个 Ajax Event. ...

  3. Python 缓冲区

    转自:https://blog.csdn.net/pro_leo/article/details/41786397(有修订) 1.Python缓存作用: a.提高执行效率. b.减少内存负担. 2.首 ...

  4. 鼠标hover元素scale/zoom中心点放大效果实例页面

    CSS代码: .box { /* 可见视觉区域 */ width: 480px; height: 250px; position: relative; overflow: hidden; cursor ...

  5. canvas学习-----画直线

    画布 1.添加canvas标签  可以通过CSS或者JS来设置canvs标签的width,height;Ps: <canvas id="cvs"></canvas ...

  6. win 10 主题 美化

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha ========= 桌面背景,锁屏背景,文件名字,色调,文件夹 详细信息 显示 设置, ...

  7. Minor GC 与Full GC有什么不一样

    新生代GC(Minor GC):指发生在新生代的垃圾收集动作,因为java对象大多都具备朝生夕灭的特性,所以Minor GC非常频繁,一般回收速度也非常快 老年代GC(Major GC/Full GC ...

  8. 【洛谷】3960:列队【Splay】

    P3960 列队 题目描述 Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有n×m名学生,方阵的行数为  ...

  9. CocosCreator核心概念里的基础点

    1,锚点:是节点位置的参照点,也是自身旋转,缩放的基准点,也是子节点坐标原点.X.Y描述横纵向的锚点位置.注:锚点的取值是可以超过(0,0)~(1,1),即锚点并不在节点尺寸范围内. 2,子节点:子节 ...

  10. Cocos Creator 的实现拖尾效果

    在游戏中,有时会需要在某个游戏对象上加上移动后的轨迹若隐若现的效果.使得游戏的效果较好,比如游戏大招,刀光,法术,流星划痕之类. Cocos Creator提供了一种内置的拖尾渐隐效果的实现方法:组件 ...