![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
leafinsnowfield
这个作者很懒,什么都没留下…
展开
-
C语言语言中符号的优先级的口诀
优先决括号成员第一; //括号运算符[]()成员运算符. ->全体单目第二; //所有的单目运算符比如++-- +(正) -(负) 指针运算*&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移位运算符:> ,关系:> = 等于(与)不等排第七; //即==!=位与异或和位或; //这几个都是位运算: 位与(&)转载 2014-09-06 22:10:50 · 638 阅读 · 0 评论 -
while(--t)与while(t--)的区分
注意同样的地方时while循环的结束条件是t是否=0原创 2014-09-20 23:13:30 · 764 阅读 · 0 评论 -
sizeof a与strlen(s)的区分
#include #include int main(void){ int a =1; char b[4] ="aaa"; printf("%zd %zd %lu\n",sizeof a,sizeof(int),sizeof a); printf("%zd %zd\n",sizeof b,strlen(b)); return 0;}转载 2014-09-26 23:08:42 · 623 阅读 · 0 评论 -
静态变量和外部变量的使用问题
#include #define MAXLINE 1000int way;int beforeway;int cway(int data);void cycle(int s[],int i);int main(){ int n; while(scanf("%d",&n)&&(n>0)){ int c; c=cway(原创 2014-10-05 14:00:00 · 881 阅读 · 0 评论 -
1623
#include #define MAXLINE 1000int main(){ int data[MAXLINE][2]; int n; scanf("%d",&n); if(n1000){ printf("over\n"); }else{ int i=0; while(n--){ int c; scanf("%d",&c); data[i][0原创 2014-10-05 21:32:40 · 388 阅读 · 0 评论 -
1624
#include #define MAXLINE 1000int main(){ int n; scanf("%d",&n); if(n1000){ printf("over\n"); }else{ char h; h=getchar(); char data[MAXLINE][MAXLINE]; int first=0,second=0; int g=n;原创 2014-10-05 19:08:26 · 425 阅读 · 0 评论 -
1608
#include int main(){ int n; int line[20]; scanf("%d",&n); int number=0; int data; int i=0; //printf("%d\n",n); if(n10000){ printf("over"); }else{ int copyn=n; while(n>0){ w原创 2014-10-06 02:37:26 · 325 阅读 · 0 评论 -
1608+有问题
#include int main(){ int n; scanf("%d",&n); if(n=20){ printf("over"); }else{ while(n>0){ int data; scanf("%d",&data); if(data=1){ printf("0"); int j=9; for(data>0){原创 2014-10-05 22:25:36 · 351 阅读 · 0 评论 -
char 类型的声明的必须是字符不可以是数字
%c%s用于字符型的数组;而且如果插入原创 2014-10-06 16:15:33 · 5525 阅读 · 0 评论 -
竞赛的规则
注意1并不是所有算法竞赛允许你用程序读写文件。甚至有的竞赛允许访问文件但不允许你用freopen这样的重定向方式读写文件。原创 2014-10-04 14:51:06 · 404 阅读 · 0 评论 -
关于管道小技巧的的定义以及优点
管道可以将数据保存在命令行中原创 2014-10-06 16:40:43 · 408 阅读 · 0 评论 -
1001总结
正确的代码#include int main(){ int A,B; while(scanf("%d",&A)==1&&scanf("%d",&B)==1){ printf("%d\n",A+B); } return 0;}错误的原创 2014-10-06 12:11:35 · 404 阅读 · 0 评论 -
正确的程序(数据统计)
#include #define INF 10000000int main(){ int x,n=0,min=INF,max=-INF,s=0; while(scanf("%d",&x)==1){ s+=x; if(x<min){ min=x; //printf("min=%d\n",min); } if(x>max){ max=x; //print原创 2014-10-06 16:37:04 · 335 阅读 · 0 评论 -
(采用标准输入输出)在本机测试时用文件重定向,一旦提交到比赛就可以方面删除重定向语句的范例
#define LOCAL#include #define INF 100000000int main(){#ifdef LOCAL freopen("data.in","r",stdin); freopen("data.out","w",stdout);#endif int x,n=0,min=INF,max=-INF,s=0; while(scanf("%d",&x)==1)原创 2014-10-04 15:46:13 · 570 阅读 · 0 评论 -
计数器和累加器的使用循环结构程序设计中的常见问题有2个以及解决方法
1是算术运算溢出2程序效率低下原创 2014-10-06 16:39:08 · 1312 阅读 · 0 评论 -
SOJ1001题目时间太长
#include int count(int i,int n);int power(int z,int y);int main(){ int x; int ways; while(scanf("%d",&x)==1&&x!=0){ int now; for(now=1;x%power(10,now)!=x;now++原创 2014-10-06 16:36:15 · 505 阅读 · 1 评论 -
文件比较
有标准大难文件,还可以进行文件比较,(在windows的系统中可以使用fc命令,在Linux的操作系统中可以使用diff命令)原创 2014-10-06 16:36:26 · 369 阅读 · 0 评论 -
关于_int64的范围以及输出格式
%I64u%l64u原创 2014-10-06 12:21:58 · 1524 阅读 · 0 评论 -
1624
用scanf是不能读入一行有空格的字符串的,用gets吧。 用“gets(str) != NULL”可以判断输入是否结束,如果此条件为假(即gets(str) == NULL),则表示输入结束(对于本题)。原创 2014-10-06 14:26:24 · 409 阅读 · 0 评论 -
关于数组和指针的声明
char *pmessage;pmessage="now is the time";原创 2014-10-06 16:28:59 · 352 阅读 · 0 评论 -
*t++与(*t)++差距与用法
*t++就是*(t++),也就是先取*t,然后t这个指针在后移一位(*t)++就是先取*t,然后把*t这个值再++,就是*t这个值自增1,前一个是取值后,指针自增,后一个是取值后,把取出来的值自增。原创 2014-10-06 16:35:12 · 3004 阅读 · 0 评论 -
关于库函数中scanf函数有返回值以及如果停止运行的方法(windows和linux)
scanf函数返回的是成功输入的变量的个数当输入结束时scan原创 2014-10-06 16:37:09 · 847 阅读 · 0 评论 -
数据统计的错误分析与改进
#include int main(){ int x,n=0,min,max,s=0; while(scanf("%d",&n)==1){ s+=x; if(x<min){ min=x; } if(x>max){ max=x; } n++; } printf("%d %d %.3lf\n",max,min,(double)s/n); return 0原创 2014-10-06 16:39:26 · 747 阅读 · 0 评论 -
1628正确但是超时的3种方法
#include #include int main(){ int number; double max; double data; scanf("%d",&number); while(number--){ scanf("%lf",&data); int sqort; sqort=sqrt(data); //printf("%lf\n",max); doubl原创 2014-10-22 21:17:02 · 692 阅读 · 0 评论 -
立方跟
是math.h里一函数,求x的n次幂 x必须>0, 立方根就是1/3次幂了 但这里要用3.0或1.0/3,否则成了整除结果为1原创 2014-10-22 22:30:37 · 337 阅读 · 0 评论 -
1628可以执行的
#include #include #include #define MAXN 100int main(){ int number; double sum=0; scanf("%d",&number); while(number--){ char data[MAXN]; scanf("%s",data); int i; i=0; if(data[i]=='+'|原创 2014-10-22 22:47:21 · 712 阅读 · 0 评论 -
注意数字一定要注意有没有正负号符号,大小,小数点
注意数字一定要注意有没有正负号符号,大小,小数点原创 2014-10-22 22:49:58 · 1231 阅读 · 0 评论 -
必要的存储量(是否一定要用数组)
1输入一些数,统计个数,不用数组#include int main(){ int number=0; int data; while(scanf("%d\n",&data)==1){ number++; } printf("%d\n",number); return 0;}原创 2014-10-23 13:42:03 · 802 阅读 · 0 评论 -
各种取值范围
ACM博客_kuangbin 新博客kuangbin.net退役狗 新博客 kuangbin.netint ,long , long long类型的范围unsigned int 0~4294967295 int 2147483648~2147483647 unsigned long 0~4294967295long 2147483648~21转载 2014-10-06 12:15:55 · 718 阅读 · 0 评论 -
有问题的阶乘之和运行操作行得到输出结果和运行时间的表格(应为还没有看附录)
#include #include int main(){ const int MOD=1000000; int i,j,n; int s=0; scanf("%d",&n); if(n>25){ n=25; } for(i=1;i<=n;i++){ int factorial=1.0; for(j=1;j<=i;j++){ factorial=factor原创 2014-10-06 16:37:30 · 366 阅读 · 0 评论 -
在程序中使用文件的方法
最简单的方法是使用输出输入重定向,printf写入文件原创 2014-10-06 16:36:15 · 384 阅读 · 0 评论 -
图形用户界面
图形用户界面又称图形用户接口,原创 2014-10-06 16:38:23 · 425 阅读 · 0 评论 -
数据统计 题目是输入一些整数,求出它们的最大值,最小值和平均值
题目:是输入一些整数,求出它们的最大值,最小值和平均值( )原创 2014-10-06 16:38:50 · 12393 阅读 · 0 评论 -
1608
#include int main(){ int n; int line[20]; scanf("%d",&n); int number=0; int data; int i=0; //printf("%d\n",n); if(n10000){ printf("over"); }else{ int copyn=n; while(n>0){ w原创 2014-10-06 10:38:51 · 393 阅读 · 0 评论 -
1623
注意输入的是一个数组的话可以用用“scanf("%s", str) == 1”这个条件可以判断输入是否结束。如果此条件为假,则输入结束(对于本题)。原创 2014-10-06 13:32:11 · 347 阅读 · 0 评论 -
回文字符串的注意点
注意1是循环可能是2倍关系或者奇数关系要原创 2014-10-23 13:19:33 · 384 阅读 · 0 评论 -
数据统计(fopen版)
#include #define INF 1000000000int main(){ FILE *fin,*fout; fin=fopen("data.in","rb"); fout=fopen("data.out","wb"); int x,n=0,min=INF,max=-INF,s=0; while(fscanf(fin,"%d",&x)==1){ s+=x; if(x原创 2014-10-06 20:56:46 · 551 阅读 · 0 评论 -
输出技巧方法2种
#include int main(){ int n; scanf("%d",&n); int i; for(i=2;i<=(2*n);i=i+2){ printf("%d\n",i); } return 0;}上面是方法1原创 2014-10-07 11:58:13 · 283 阅读 · 0 评论 -
关于reverse的问题
#include #include void reverse(char data[]);/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) { char s[]="111";原创 2014-10-07 11:59:13 · 609 阅读 · 0 评论 -
命令行(window与Linux)
打开运行,然后输入cmd然后enter然后原创 2014-10-07 11:58:37 · 415 阅读 · 0 评论