刘汝佳算法入门
Belle唯唯
这个作者很懒,什么都没留下…
展开
-
判断闰年C语言实现
#include <stdio.h>#include <stdlib.h>int main(){int n; while(scanf("%d",&n)!=EOF) { if((n%4==0&&n%100!=0)||n%400==0) { printf("%d是闰年\n",n); } else printf原创 2016-11-30 09:19:02 · 747 阅读 · 3 评论 -
排列(超级麻烦)+改进简单版
#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ //freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); int a,b,c; for(a=1; a<=3; a++) { for(b原创 2016-12-03 15:46:29 · 185 阅读 · 0 评论 -
sscanf
#include <stdio.h>#include <stdlib.h>#define MAXN 10#include <string.h>#include <time.h>int main(){ char s[20]; gets(s); int HH,MM,SS; sscanf(s,"%d:%d:%d",&HH,&MM,&SS); return原创 2016-12-14 23:09:18 · 192 阅读 · 0 评论 -
单词的长度
#include <stdio.h>#include <stdlib.h>#define MAXN 10#include <string.h>#include <time.h>#include <ctype.h>int main(){ int n; while(scanf("%d",&n)!=EOF) { char a[n][20];原创 2016-12-14 23:30:05 · 246 阅读 · 0 评论 -
逆序输出数组
1 2 3 4 5 6 7^X 逆序输出 7 6 5 4 3 2 1Process returned 0 (0x0) execution time : 5.967 s Press any key to continue.#include <stdio.h>#include <stdlib.h>#define MAXN 5+10int a[MAXN];int原创 2016-12-05 23:37:32 · 628 阅读 · 0 评论 -
开灯问题
#include <stdio.h>#include <stdlib.h>#define MAXN 100+10int a[MAXN];int main(){ // int a[MAXN]; int i,j; int n,k; int first=1; //标识变量 用于区别第一个灯 让它输出时前面没有空格 memset(a,0,si原创 2016-12-05 23:52:48 · 224 阅读 · 0 评论 -
最长回文数2
用对称轴来遍历 按长度分奇数个和偶数个 虽然效率高,但是太费脑子了 新用了ctype.h库函数#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>char s[5000];char a[5000];int main(){ int p[200]; int x,y,x1,y1原创 2016-12-13 22:49:44 · 303 阅读 · 0 评论 -
重新实现库函数
1.只用getchar函数读入一个整数。 输入保证输入的整数能够保存在int中#include <stdio.h>#include <stdlib.h>#define MAXN 10#include <string.h>#include <time.h>int main(){ char c; int sum=0; while((c=getchar())!='原创 2016-12-13 23:34:55 · 283 阅读 · 0 评论 -
开灯问题
#include <stdio.h>#include <stdlib.h>#define MAXN 100+10int a[MAXN];int main(){ // int a[MAXN]; int i,j; int n,k; int first=1; //标识变量 用于区别第一个灯 让它输出时前面没有空格 memset(a,0,si原创 2016-12-07 19:18:49 · 153 阅读 · 0 评论 -
蛇形数组
#include <stdio.h>#include <stdlib.h>#define MAXN 10#include <string.h>#include <time.h> int a[MAXN][MAXN];int main(){ memset(a,0,sizeof(a));//memset也可以将二维数组初始化 int n,i,j,tot,x,y;原创 2016-12-07 19:34:10 · 219 阅读 · 0 评论 -
竖式问题
strchr() 用来查找某字符在字符串中首次出现的位置,其原型为: char * strchr (const char *str, char c);【参数】str 为要查找的字符串,c 为要查找的字符。strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回。注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以原创 2016-12-07 20:44:10 · 195 阅读 · 0 评论 -
关于自增运算符
#include <stdio.h>#include <stdlib.h>#define MAXN 10#include <string.h>#include <time.h>int main(){ int count=4; int j=++count; printf("%d %d ",count++,j); int t=count;原创 2016-12-07 20:55:53 · 222 阅读 · 0 评论 -
最长回文数(简单版)还不知道怎么原样输出
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ char a[50]; char s[50]; gets(s); int i=0,k=0,j; while(s[i]!='\0') { if((s[i]>='a'&&s[i]<='z')||(s原创 2016-12-10 10:15:03 · 248 阅读 · 0 评论 -
回文字符串(改进版)
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ char a[50]; char s[50]; int p[50]; gets(s); int i=0,k=0,j; while(s[i]!='\0') { if((s[i]>='a'&原创 2016-12-10 10:58:24 · 288 阅读 · 0 评论 -
计算器
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>int main(){ int a,c; char b; while(scanf("%d",&a)!=EOF) { scanf("%c",&b); while(b==' ') {原创 2016-12-15 21:05:36 · 250 阅读 · 1 评论 -
矩阵旋转90°输出
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>int main(){ int n; while(scanf("%d",&n)!=EOF) { int a[n][n]; int i,j; for(i=0;i<n;i++)原创 2016-12-15 21:24:07 · 492 阅读 · 0 评论 -
分数变成小数(四舍五入)
#include <stdio.h>#include <stdlib.h>int main(){ int a,b,c,y,z,m; while(scanf("%d%d%d",&a,&b,&c)==3) { int sum=a/b; printf("%d.",sum); int pow=10; while(c>原创 2016-12-03 15:11:09 · 606 阅读 · 0 评论 -
子序列的和
#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ //freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); int n,m; while(scanf("%d%d",&n,&m)!=EOF) { int原创 2016-12-02 23:26:56 · 157 阅读 · 0 评论 -
浅谈溢出
#include <stdio.h>#include <stdlib.h>#include <math.h>#define MAX_INT ((unsigned)(-1) >> 1)#define MIN_INT (MAX_INT + 1)int main(){ int n=2147483647; printf("%d",n+1); return 0;}输出:-2147原创 2016-11-29 21:50:55 · 333 阅读 · 0 评论 -
int类型的范围
int类型应该是-32768~32767因为0在原码中分为+0和-0 ,假设int是2个byte 则+0:0000000000000000 而-0:1000000000000000取补码后 +0: 0000000000000000 -0 : 0000000000000000 (原码取反加一)这样0在补码中只有一种而任何数的原码在转成补码都不会是1000000000000000 所以原创 2016-11-29 21:09:06 · 1021 阅读 · 0 评论 -
aabb类型的完全平方数
#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ int n,m; for(n=1;n<=9;n++) { for(m=0;m<=9;m++) { double x=n*1100+m*11; double y=sqrt(x); if(floor(y+0.5原创 2016-11-30 09:39:57 · 888 阅读 · 0 评论 -
阶乘之和(取结果的模)
#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ int n,i,j; int x=0; int f; scanf("%d",&n); for(i=1;i<=n;i++) { f=1; for(j=1;j<=i;j++)原创 2016-11-30 10:07:39 · 1621 阅读 · 0 评论 -
3*n+1
#include <stdio.h>#include <stdlib.h>#include <math.h>#include <time.h>int main(){ int n; scanf("%d",&n); int count=0; while(n>1) { if(n%2==1) { n=3*n+1;原创 2016-11-30 10:31:28 · 428 阅读 · 0 评论 -
左右结合 和优先级
&&的优先级高于||a||c>d&&!p 解释后为 (a||(c>d))&&(!p)原创 2016-12-01 22:01:16 · 463 阅读 · 0 评论 -
用文件重定向输入输出
#include <stdio.h>#include <stdlib.h>#define LOCALint main(){ #ifdef LOCAL freopen("datain.txt","r",stdin); freopen("dataout.txt","w",stdout); #endif int x; while(scanf("%d"原创 2016-12-01 22:07:06 · 253 阅读 · 0 评论 -
刘汝佳入门2.4小结与习题
2.4.1#include <stdio.h>#include <stdlib.h>int main(){ int i,n; scanf("%d",&n); for(i=1;i<=n;i++) printf("%d\n",i*2); return 0;}#include <stdio.h>#include <stdlib.h>int main(原创 2016-12-01 22:20:07 · 298 阅读 · 0 评论 -
位数
#include <iostream>#include <cstdio>int main(){ freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); //不超过10的9次方说明只用开为int类型即可 int x,n; int count=0; while(scanf("%d",&x)原创 2016-12-01 23:32:01 · 185 阅读 · 0 评论 -
水仙花数
#include <stdio.h>#include <stdlib.h>int main(){ freopen("out.txt","w",stdout); int x; for(x=100;x<=999;x++) { int a=x%10; int c=x/100; int b=(x/10)%10; if(a*a原创 2016-12-02 22:06:26 · 160 阅读 · 0 评论 -
韩信点兵
#include <iostream>#include <cstdio>int main(){ freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); int x,y,z,i; while(scanf("%d%d%d",&x,&y,&z)==3) { for(i=10;i<=100原创 2016-12-02 22:08:08 · 199 阅读 · 0 评论 -
倒三角形
#include <stdio.h>#include <stdlib.h>int main(){ freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); int n; while(scanf("%d",&n)==1) { int i,j,k; for(i=n;原创 2016-12-02 22:26:55 · 280 阅读 · 0 评论 -
调和级数
#include <stdio.h>#include <stdlib.h>int main(){ freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); int n; while(scanf("%d",&n)==1) { double sum=0; int i;原创 2016-12-02 22:42:40 · 289 阅读 · 0 评论 -
近似计算
#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ //freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); int i=1; int flag=1; double sum=1; int sign=-1;原创 2016-12-02 23:09:31 · 278 阅读 · 0 评论 -
进制转换
1.输入基数b和正整数n(十进制)#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>int main(){ int b,n; int j; while(scanf("%d%d",&b,&n)!=EOF) { int a[100];原创 2016-12-15 21:48:52 · 212 阅读 · 0 评论