这个寒假打算学习C语言。
仅作个人纪录,无参考价值。
如有错误和问题,欢迎指出和纠正。
谢谢。
下面开始今天的练习:
1.输入三个数,让他们按照由大到小的顺序输出。
#includeint swap(int *x,int *y) { int t; t = *x; *x = *y; *y = t; } int main() { int a, b, c; printf("请输入三个整数:n"); scanf_s("%d %d %d", &a, &b, &c); if (a < b) { swap(&a,&b); } if (a < c) { swap(&a,&c); } if (b < c) { swap(&b, &c); } printf("%d %d %d", a, b, c); return 0; }
2.打印100~200之间的素数
方法一:试除法
#includeint main() { int n=0,i=0; for(n=100;n<=200;n++) { for(i=n-1;i>1;i--) { if(n%i==0) break; } if(i==1) printf("%d ",n); } return 0; }
方法二:
#includeint main() { int n=0; int i=0; for(n=101;n<=200;n+=2)//偶数必然不可能为素数 { for(i=n-1;i>1;i--) { if(n%i==0) break; } if(i==1) printf("%d ",n); } return 0; }
方法三:
#include#include int main() { int n,i,k; for(n=100;n<=200;n++) { k=(int)sqrt( (double)n);//sqrt()中的类型只能为浮点型,所以此处强行转换 for(i=2;i<=k;i++) { if(n%i==0) break; } if(i>k) printf("%d ",n); } return 0; }
3.输出1-100之间3的倍数
#includeint main() { int n=0; for(n=1;n<=100;n++) { if(n%3==0) printf("%d ",n); } return 0; }
4.输出乘法口诀表
#includeint main() { int n=0,i=0; for(n=1;n<=9;n++) { for(i=n;i<=9;i++) { printf("%d×%d=%d ",n,i,n*i); if(i==9) printf("n"); } } return 0; }
5.求两个数的最大公约数
#includeint main() { int n,m,r; printf("请输入两个正整数:"); scanf("%d%d",&n,&m); while(m%n) { r=m%n; m=n; n=r; } printf("%d",r); return 0; }
6.判断1000年-2000年之间的闰年
#includeint main() { int n=0,i=0; for(n=1000;n<2000;n++) { if((n%4==0&&n%100!=0)||n%400==0) { printf("%d ",n); i++; } } printf("n一共有%d个闰年",i); return 0; }
7.计算1-2+3-4+5...+99-100的值
#includeint main() { int n; int i=1; int sum=0; for(n=1;n<=100;n++) { sum=i*n+sum; i=-i; } printf("sum=%dn",sum); return 0; }
累了,明天再写。



