C语言 代码
pjwonline1
这个作者很懒,什么都没留下…
展开
-
获取字符串
#include int main(void){ int i=0; char a[200]; while((a[i++]=getchar())!='\n'); a[i]='\0'; printf("%s",a); return 0;}原创 2013-10-16 01:43:07 · 446 阅读 · 0 评论 -
获取最大值(经典!)
#includevoid main(){ int a=0,b; while (scanf("%d",&b),b>0) if(b>a)a=b; printf("MAX=%d\n",a);}原创 2013-11-09 12:29:52 · 382 阅读 · 0 评论 -
有两个浮点数a,b,计算a/b,要求保留小数点后面n 位(我写出小数点只能保存9~15位有效位数)
#include #include int main(void){ float a,b; int n; scanf("%f %f %d",&a,&b,&n); printf("%d.%d\n",(int)(a/b),(int)((a/b-(int)(a/b))*pow(10,n))); return 0;}原创 2013-11-08 11:18:06 · 3061 阅读 · 1 评论 -
字符检测
#include void main(){ int a,b,c,d,i; char ch[100]; a=b=c=d=i=0; printf("请输入一段字符串:\n"); gets(ch); for(;ch[i]!='\0';i++) { if(ch[i]>='A'&&ch[i]='a'&&ch[i]<='z') a++; else if (ch[i]>='0'原创 2013-11-11 01:59:04 · 465 阅读 · 0 评论 -
猴子吃桃 用递归和循环两种办法解决
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。 递归法解决====================#include int i=10;//吃了10天void eat(n){if (--i)/原创 2013-11-12 01:52:47 · 1536 阅读 · 0 评论 -
最大公约数
#include void main(){int x,y,i;printf("输入第一个数:\n");scanf("%d",&x);printf("输入第二个数:\n");scanf("%d",&y);(x<y)?(i=x):(i=y);while(!(x%i==0&&y%i==0))i--;printf("最大公约数为:%d\n",i);}原创 2013-11-11 01:59:54 · 454 阅读 · 0 评论 -
查找围栏~算法实现!!!
/*一串连续字符被称作围栏当且仅当它由间隔的‘|’和‘-’组成。比如“|-|-|-|”或“-|-|”(引号仅供说明)。注意“|-||-|”或者“--”不是围栏,因为每个都包含了两个或两个以上的相同连续字符。给你一个字符串,请找出它的最长的一个可以称作围栏的子串长度。Sample Input |||-||--|--|---|-||-|-|-|--||---||-||-||-|--||S原创 2013-12-08 22:38:43 · 1666 阅读 · 0 评论 -
合并两个静态数组并排序
#include int main(void){int a[]={9,2,1,0,5};int b[]={6,7,8,4,3};int c[10];int i,j;for(i=0;i<5;i++){c[i]=a[i];c[i+5]=b[i];}for(i=0;i<10;i++)printf("%d",c[i]);for(i=0;i<10;i++)for(j=i原创 2013-10-16 22:08:17 · 539 阅读 · 0 评论 -
计算单词个数!
//12-09题目:统计输出的文字有多少个单词//输入:// hello human ni hao //输出://There are 4 words in the line//升级版说明:可以排除任意位置的空格!(包括头尾多个空格)#include int main(){ char a[100]; int i,words; start: //获取输入 gets(a原创 2013-12-10 08:36:58 · 586 阅读 · 0 评论 -
包含《三目运算、BT交换、数组查询》的超级练习!
//输入一个序列,查找最大最小数,最小放第一,最大放最后#include #define NOW a[i]void main(){ int i=-1,a[10],MAX,MIN; printf("请输入10个整数:\n"); while(ia[MAX]?MAX=i:NOW<a[MIN]?MIN=i:i:(MAX=MIN=i):i; printf("i=%d MAX=%d[%d] M原创 2013-12-06 16:00:02 · 552 阅读 · 0 评论 -
读取文件 吧16进制转化为10进制 保存文件~
#include#includelong Tolong(char *str){ long i,t=0,m; for(i=0;str[i+1];i++) { if(str[i]>='A'&&str[i]<='F') m=str[i]-'A'+10; else if(str[i]>='a'&&str[i]<='f') m=str[i]-'a'+10; e原创 2013-12-16 23:22:37 · 721 阅读 · 0 评论 -
矩阵变换
//输入N*N的矩阵,输出它的转置矩阵。第一行为整数N。接着是一个N*N的矩阵。//输入//2//1 2//1 2//输出//1 1//2 2#includeint main(){ int a[100][100],b,i=0,j; for(scanf("%d",&b);i<b;i++) for(j=0;j<b;j++) scanf("%d",&a[i][j]);原创 2014-01-01 23:27:55 · 608 阅读 · 0 评论 -
自己写了3天的俄罗斯方块,纯原创!
#include #include #include int f,g,h,i,j,k,l,m,n,o=3,p,q=0,(*x)[3], a[20][10]={0},map[20][10]={0}, TEMP[3][3]={0},temp[3][3]={0}, T[3][3]={0,1,0,1,1,1,0,0,0}, J[3][3]={0,1,0,0,1,0,1,1,0},原创 2014-01-12 20:41:46 · 840 阅读 · 1 评论 -
生成动态随机数组,并赋值随机序列(不重复)!
#include #include #include #include #define N 100 //定义随机范围(100的话就是0-100)int * arrayMaker(int min,int max,int size){ int i=1,r,* a=(int *)calloc(size,sizeof(int)); while(i<=size) {r=rand()%si原创 2014-01-13 16:09:24 · 840 阅读 · 0 评论 -
用星号打印空五角星!N为大小
#include#define N 10void main(){ char a='*',b=' '; int i,j,k,l,m; for(i=0;i<N;i++) { for(j=0;j<N*3-i;j++) printf("%c",b); printf("%c",a); if(i>0) { for(k=0;k<i*2-1;k++) printf("%c",b);原创 2014-01-18 20:50:49 · 1455 阅读 · 0 评论 -
Python & C ACM 输入的获取
import sys for a in sys.stdin: #获取一行数据 b=a.split() #分隔成列表 print int(b[0])+int(b[1]) #输出2个数的和#include int main(){ int a,b; while(scanf("%d %d",&a,&b)!=EOF)原创 2013-11-08 00:11:01 · 1265 阅读 · 0 评论 -
逻辑题:题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单 #include #define a d[0]#define b d[1]#define c d[2]int main(void){ char d[]="zyx",temp; int i=原创 2013-11-07 23:10:53 · 6453 阅读 · 1 评论 -
最效率的素数序列数组
#include #define N 1000001#define SQRT_N 1000int a[N]={1,1};int g[N]={0};int main(){ int i,j,L,R,n; for(i=2;i<=SQRT_N;i++) { if(!a[i]) { for(j=i*i;j<N;j+=i) a[j]原创 2013-11-17 16:17:23 · 460 阅读 · 0 评论 -
合并两个动态数组并排序
#include #include int main(void){ int i,j; int * p=(int *)malloc(sizeof(int)*5); for(i=0;i<5;i++) { printf("输入第%d个任意整数:\n",i+1); scanf("%d",&p[i]); } printf("第一个数组为:"); for(i=原创 2013-10-16 01:45:16 · 685 阅读 · 0 评论 -
身高预测
1. 身高预测每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。设faHeight为其父身高,moHeight为其母身高,身高预测公式为男性成人时身高=(faHeight + moHeight)×0.54cm 女性成人时身高=(faHeigh原创 2013-10-17 00:02:38 · 4623 阅读 · 0 评论 -
兎子产子(斐波那契数列)
从前有一对长寿兎子,它们每一个月生一对兎子,新生的小兎子两个月就长大了,在第二个月的月底开始生它们的下一代小兎子,这样一代一代生下去,求解兎子增长数量的数列。#define P(x,y) printf("第%2.d月有%4.d对兔子\n",x,y)int i=1;void aga(int a,int b){ i++; P(i,b); if(i<20) aga(b,a+b);原创 2013-10-19 00:17:22 · 579 阅读 · 0 评论 -
对斐波拉契的深思,精简,精确控制。
第一种 i 控制输出个数。第二种 a 控制输出最大值。void main(){ int a=1,b=0,i=9; while(i) { printf("%d\n",a+=b,i--); if(i) printf("%d\n",b+=a,i--); }}*****************************************void main(){原创 2013-10-19 01:15:38 · 562 阅读 · 0 评论 -
ACM题目:第一行输入n m,第二行输入一个数列,n为数列长度,m为要插入的值,排序后输出,m n为零时退出程序
要求:第一行输入n m,第二行输入一个数列,n为数列长度,m为要插入的值,排序后输出,m n为零时退出程序输入:3 31 2 40 0Press any key to continue输出:1 2 3 4int main(){ int n,m,i,j; int a[100]; start: scanf("%d %d",&n,&m); a[n]=m原创 2013-10-18 21:03:45 · 2773 阅读 · 0 评论 -
ACM题目,输出A/B。如果整除则输出整数,如果不能整除则保留两位小数,除式不成立则输出no。每组输出占一行。
输入:第一行是一个整数N,代表有N组测试数据,接下来是N行,每行有两个整数A和B。问题:输出A/B。如果整除则输出整数,如果不能整除则保留两位小数,除式不成立则输出no。每组输出占一行。输入:24 210 4输入:22.50int main(void){ int a,b,i; scanf("%d",&i); while(i-->0) {原创 2013-10-17 19:37:03 · 4888 阅读 · 0 评论 -
ACM题目:魔术数 M=K*Mc ,Mc为M的变形 比如M=102564,Mc=25641,102564=4*25641。
ACM题目:魔术数 M=K*Mc ,Mc为M的变形 比如M=102564,Mc=25641,102564=4*25641。输入要求:第一行为输出数据个数N 第二行为K输入:1 4输出:102564=4*25641#include void main(){ int k,m=0,n,a,b; scanf("%d",&n); sc原创 2013-10-19 22:47:25 · 770 阅读 · 0 评论 -
非循环单向链表-增删改查排-释放
#include "stdio.h"#include "stdlib.h"#include "malloc.h"typedef struct nodes//链表主体结构{ int data;//链表DATA区域 struct nodes *next;//链表指针区域}node,*pnode;pnode add()//创建链表头节点和主体节点{ int i,len; pno原创 2013-10-16 01:32:43 · 698 阅读 · 0 评论 -
ACM题目:德国佬的资料,要求页数置反,英文首位输出。
#includeint main(){ int a,n; char b[10]={"ZOTTFFSSEN"}; scanf("%d",&n); while(n--) { scanf("%d",&a); while(a) { putchar(b[a%10]); a/=10; } puts(""); } return 0;}原创 2013-10-25 23:05:00 · 452 阅读 · 0 评论 -
精简的 递归 汉诺塔 3个以上的盘子理解起来真难啊!!!
#include #define move(x,y) printf("%d\t%c -> %c\n",i,x,y)void hanoi(int i,char a,char b,char c){ if(i==1) move(a,c); else { hanoi(i-1,a,c,b); move(a,c); hanoi(i-1,b,a,c); }}int main原创 2013-10-28 23:25:59 · 1261 阅读 · 0 评论 -
ACM题目:字符旋转木马
#includeint main(){ int k,i; char a[10],b;start: gets(a); scanf("%d",&k); while(k--) { i=0; while(a[++i]) { b=a[0]; a[0]=a[i]; a[i]=b; } } puts(a); goto start;原创 2013-10-26 00:11:19 · 576 阅读 · 0 评论 -
猜随机数
#include#includeint main(void){ int max,min,times=7,number,ai; printf("请输入数字的上限。\n"); scanf("%d",&max); printf("请输入数字的下限。\n"); scanf("%d",&min); ai=time(NULL)%(max-min+1)+min; if(max>mi原创 2013-10-29 21:49:08 · 418 阅读 · 0 评论 -
0,1,3,6,10,15序列 递归实现!
#include "stdio.h"int i=1,n;int sum(int j){ printf("%d\n",j); if(n--) sum(j+=i++); }int main(void){ printf("input n:"); scanf("%d",&n); sum(0); return 0;}原创 2013-10-30 22:51:39 · 1709 阅读 · 0 评论 -
素数!
#include #include void main() { int i,a; for(i=1;i<=21000;i++) { for(a=2;a<=sqrt(i);a++) { if (i%a==0) break; } if(a>sqrt(i)) printf("%d ",i); } }原创 2013-11-17 03:01:38 · 459 阅读 · 0 评论 -
一个及其效率的大小写转换!
#include #include int main(){ char c; while(1) { do { puts("请输入一个字母:"); c=getche(); } while(!(c='A')&&!(c='a')); if(c&32) c^=1<<5;//判断字母大小写,如果小写,变成大写. printf("\n%c\n",c);原创 2014-02-02 20:50:08 · 480 阅读 · 0 评论