C语言教程 第23页
C 库宏 – EDOM C 标准库 – <errno.h> 描述 C 库宏 EDOM 表示一个域错误,它在输入参数超出数学函数定义的域时发生,errno 被设置为 EDOM。 声明 下面是 EDOM 宏的声明。 #define EDOM some_value 参数 NA 返回值 NA 实例 下面的实例演示了 EDOM 宏的用法。 #include <stdio.h> #include <errno.h> #include <math.h> int main() { double val; errno = 0; val = sqrt(-10); if(errno == EDOM) { printf("Invalid value \n"); } else { printf("Valid value\n"); } errno = 0; val = sqrt(10); if(errno == EDOM) { printf("Invalid value\n"); } else { printf("Valid value\n"); } return(0); } 让我们编译并运行上面的程序,这将产生以下结果: Invalid value Valid value C 标准库 – <errno.h>
C 练习实例63 C 语言经典100例 题目:画椭圆ellipse(在TC中实现)。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include "stdio.h" #include "graphics.h" #include "conio.h" int main() { int x=360,y=160,driver=VGA,mode=VGAHI; int num=20,i; int top,bottom; initgraph(&driver,&mode,""); top=y-30; bottom=y-30; for(i=0;i<num;i++) { ellipse(250,250,0,360,top,bottom); top-=5; bottom+=5; } getch(); } C 语言经典100例
C 练习实例64 C 语言经典100例 题目:利用ellipse and rectangle 画图(在TC中实现)。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include "stdio.h" #include "graphics.h" #include "conio.h" main() { int driver=VGA,mode=VGAHI; int i,num=15,top=50; int left=20,right=50; initgraph(&driver,&mode,""); for(i=0;i<num;i++) { ellipse(250,250,0,360,right,left); ellipse(250,250,0,360,20,top); rectangle(20-2*i,20-2*i,10*(i+2),10*(i+2)); right+=5; left+=5; top+=10; } getch(); } C 语言经典100例
C 练习实例61 – 杨辉三角形 C 语言经典100例 题目:打印出杨辉三角形(要求打印出10行)。 程序分析: 结构如下所示: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include <stdio.h> int main() { int i,j; int a[10][10]; printf("\n"); for(i=0;i<10;i++) { a[i][0]=1; a[i][i]=1; } for(i=2;i<10;i++) for(j=1;j<i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<10;i++) { for(j=0;j<=i;j++) printf("%5d",a[i][j]); printf("\n"); } } 以上代码执行输出结果为: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9...
C 练习实例62 C 语言经典100例 题目:学习putpixel画点,(在TC中实现)。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include "stdio.h" #include "graphics.h" int main() { int i,j,driver=VGA,mode=VGAHI; initgraph(&driver,&mode,""); setbkcolor(YELLOW); for(i=50;i<=230;i+=20) for(j=50;j<=230;j++) putpixel(i,j,1); for(j=50;j<=230;j+=20) for(i=50;i<=230;i++) putpixel(i,j,1); } C 语言经典100例
C 练习实例59 C 语言经典100例 题目:画图,综合例子。(在TC中实现)。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // # define PAI 3.1415926 # define B 0.809 # include "graphics.h" #include "math.h" int main() { int i,j,k,x0,y0,x,y,driver,mode; float a; driver=CGA;mode=CGAC0; initgraph(&driver,&mode,""); setcolor(3); setbkcolor(GREEN); x0=150;y0=100; circle(x0,y0,10); circle(x0,y0,20); circle(x0,y0,50); for(i=0;i<16;i++) { a=(2*PAI/16)*i; x=ceil(x0+48*cos(a)); y=ceil(y0+48*sin(a)*B); setcolor(2); line(x0,y0,x,y); } setcolor(3);circle(x0,y0,60); /* Make 0 time normal size letters */ settextstyle(DEFAULT_FONT,HORIZ_DIR,0); outtextxy(10,170,"press a key"); getch(); setfillstyle(HATCH_FILL,YELLOW); floodfill(202,100,WHITE); getch(); for(k=0;k<=500;k++) { setcolor(3); for(i=0;i<=16;i++) { a=(2*PAI/16)*i+(2*PAI/180)*k; x=ceil(x0+48*cos(a)); y=ceil(y0+48+sin(a)*B); setcolor(2); line(x0,y0,x,y); } for(j=1;j<=50;j++) { a=(2*PAI/16)*i+(2*PAI/180)*k-1; x=ceil(x0+48*cos(a)); y=ceil(y0+48*sin(a)*B); line(x0,y0,x,y); } } restorecrtmode(); } C 语言经典100例
C 练习实例60 C 语言经典100例 题目:画图,综合例子2。(在TC中实现)。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include "graphics.h" #define LEFT 0 #define TOP 0 #define RIGHT 639 #define BOTTOM 479 #define LINES 400 #define MAXCOLOR 15 int main() { int driver,mode,error; int x1,y1; int x2,y2; int dx1,dy1,dx2,dy2,i=1; int count=0; int color=0; driver=VGA; mode=VGAHI; initgraph(&driver,&mode,""); x1=x2=y1=y2=10; dx1=dy1=2; dx2=dy2=3; while(!kbhit()) { line(x1,y1,x2,y2); x1+=dx1;y1+=dy1; x2+=dx2;y2+dy2; if(x1<=LEFT||x1>=RIGHT) dx1=-dx1; if(y1<=TOP||y1>=BOTTOM) dy1=-dy1; if(x2<=LEFT||x2>=RIGHT) dx2=-dx2; if(y2<=TOP||y2>=BOTTOM) dy2=-dy2; if(++count>LINES) { setcolor(color); color=(color>=MAXCOLOR)?0:++color; } } closegraph(); } C 语言经典100例
C 练习实例83 C 语言经典100例 题目:求0—7所能组成的奇数个数。 程序分析:用1,3,5,7作个位,0不能作最高位。一位数,两位数。。。7位数。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #include<stdlib.h> int factorial(int a,int b);/*求阶乘*/ int main() { int sum=0,i; sum+=4; /*一位数不能按下面处理,一位数时的奇数有4个*/ for(i=2;i<8;i++) sum+=4*(factorial(7,i-1)-factorial(6,i-2)); printf("可以组成%d个奇数\n",sum); return 0; } int factorial(int a,int b) { int i,sum=1; if(b<=0)return 1; for(i=0;i<b;i++) sum*=(a-i); return sum; } 以上实例运行输出结果为: 可以组成29692个奇数 C 语言经典100例
C 练习实例93 C 语言经典100例 题目:时间函数举例2 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { long i=10000000L; clock_t start,finish; double TheTimes; printf("做%ld次空循环需要的时间为",i); start=clock(); while(i--); finish=clock(); TheTimes=(double)(finish-start)/CLOCKS_PER_SEC; printf("%f秒。\n",TheTimes); return 0; } 以上实例运行输出结果为: 做10000000次空循环需要的时间为0.025367秒。 C 语言经典100例
C 练习实例84 C 语言经典100例 题目:一个偶数总能表示为两个素数之和。 程序分析:我去,这是什么题目,要我证明这个问题吗?真不知道怎么证明。那就把一个偶数分解成两个素数吧。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #include<stdlib.h> int Isprimer(unsigned int n); int main() { unsigned int n,i; do{ printf("请输入一个偶数:\n"); scanf("%d",&n); }while(n%2!=0); for(i=1;i<n;i++) if(Isprimer(i)&&Isprimer(n-i)) break; printf("偶数%d可以分解成%d和%d两个素数的和\n",n,i,n-i); return 0; } int Isprimer(unsigned int n) { int i; if(n<4)return 1; else if(n%2==0)return 0; else for(i=3;i<sqrt(n)+1;i++) if(n%i==0)return 0; return 1; } 以上实例运行输出结果为: 请输入一个偶数: 4 偶数4可以分解成1和3两个素数的和 C 语言经典100例