C语言
岩枭
自强不息,厚德载物
展开
-
c语言;求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和 其中a是一个数字 例如:2+22+222+2222+22222
程序://求Sn = a + aa + aaa + aaaa + aaaaa的前5项之和,其中a是一个数字,例如:2 + 22 + 222 + 2222 + 22222#includeint main(){int i = 0;int a = 0;int sum = 0;int num=0;scanf("%d",&num);for (i = 0; i {a = a * 10 + num;sum =原创 2016-05-29 13:34:07 · 6689 阅读 · 0 评论 -
c语言:编写冒泡排序,排序一个整形数组(从小到大)
程序:不妨按从小到大排序#include stdio.h>int main (){ int a[10]; int i = 0; int j = 0; int t = 0; printf ("input 10 numbers:"); for ( i = 0; i 10; i++) { scanf ("%d",&a[i]); } for (i = 0; i 9; i++) for ( j =原创 2016-05-29 13:34:10 · 13723 阅读 · 1 评论 -
c语言:模拟实现printf,要求功能:print("ccc\ts!",'b','i','t',"welcome to you");
程序:#include stdio.h>#include stdlib.h>#include stdarg.h>int my_printf(const char *fmt, ...){const char *s;char c;va_list ap;//参数列表va_start(ap, fmt);//取的fmt指针给apwhile (*fmt){/*if (*fmt != ‘s‘ || *fmt !原创 2016-05-29 13:34:13 · 981 阅读 · 0 评论 -
c语言:常用各种头文件的作用,如:#include <stdlib.h>
#include //设定插入点 #include //字符处理 #include //定义错误码 #include //浮点数处理 #include //文件输入输出 #include //参数化输入输出 #include //数据流输入输出 #include //定义各种数据类型最值常量 #include转载 2016-05-29 13:34:16 · 2260 阅读 · 0 评论 -
c语言:3种方法;求出0~999之间的所有“水仙花数”并输出。
方法一: #include int main(){int i,j,k,n;printf("水仙花数:",n);for(n=100;n{i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k) printf("%d\n ",n);}return 0;} 输出结果:水仙花数:153 370 371 407 Press any key原创 2016-05-29 13:34:19 · 22165 阅读 · 1 评论 -
c语言:使用main函数的参数,实现一个整数计算器
/*使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。*/#includestdio.h>#includestdlib.h>int my_calculator(char *p,int num1,int num2)//calculator表示计算器{if(p=="-原创 2016-05-29 13:34:22 · 2237 阅读 · 0 评论 -
c语言:有一个分数序列: 2/1+3/2+5/3+8/5+13/8+… 求出这个数列前 20 项的和
程序:#include int main(){ double s=0,a=2,b=1; int t,i,n=20; //改变n的值即可求任意项的和 for (i=1;i { s=s+a/b; //将各项累加 t=a; a=a+b; //将前一项的分子与分母之和作为下一项的分子 b=t; //将前一项的分子作为下一原创 2016-05-29 13:34:25 · 10551 阅读 · 0 评论 -
c语言:一个球从 100 米高的自由落下,每次落地后反跳回原高度的一半
程序:#include stdio.h>int main(){ double h=100; double t = h/2; double s=0.0; int i; for (i=1;i10;i++) { s=s+2*t; t=t/2;; //第i+1次小球弹起的高度 }s=s+100; //第i+1次落地时,共经过原创 2016-05-29 13:34:28 · 52999 阅读 · 15 评论 -
c语言:猴子吃桃问题
程序:#include int main(){ int day=9,x1,x2=1; while (day>0) { x1=(x2+1)*2; //第1天的桃子数是第2天的桃子数加1后的2倍 x2=x1; day--; } printf ("%d\n",x1); return 0;}输出结果:1534Press any原创 2016-05-29 13:34:30 · 960 阅读 · 0 评论 -
c语言:求n!从1到20的和
程序:#include stdio.h>int main(){ float s=0,t=1; int n; for (n=1;n20;n++) { t=t*n; //求n! s=s+t; //将各项累加 } printf("%f\n",s); return 0;}输出结果:2561327455189073900.000000本文出自 “岩枭”原创 2016-05-29 13:34:33 · 3974 阅读 · 0 评论 -
c语言:求1/n!从1到20的和
程序:#include stdio.h>void main(){ double s=0,t=1; double n; for (n=1;n20;n++) { t=t*(1/n); //求1/(n!) s=s+t; //将各项累加 } printf("%lf\n",s); }运行结果:1.718282本文出自 “岩枭” 博客,请务必保留此出处ht原创 2016-05-29 13:34:36 · 1616 阅读 · 0 评论 -
c语言:不使用(a+b)/2这种方式,求两个数的平均值。
程序:#includestdio.h>int main(){int a, b;int avg = 0;scanf("%d%d", &a, &b);avg = (a + b) >> 1;//右移一位相当于除以2printf("%d\n",avg);return 0;}结果:6 87本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111原创 2016-05-29 13:34:39 · 966 阅读 · 0 评论 -
c语言:一组数据中只有一个数字出现了一次。(使用位运算)
程序:#includeint main(){int arr[] = { 1,3,3,1,4,9,4,5,5 };int i = 0;int len = sizeof(arr) / sizeof(arr[0]);for (i = 1; i {arr[0] = arr[0] ^ arr[i]; //将这组数中所有数取按位或,由于相异为1,相同为0,故位运算剩下为1的就是单数}printf("这个单数原创 2016-05-29 13:34:42 · 461 阅读 · 0 评论 -
C语言:在屏幕上输出信息
#includestdio.h>int main(){ printf ("This is a C program.\n"); printf("welcome to bit\n"); return 0;}结果:This is a C program.welcome to bit Press any key to continue本文出自 “岩枭” 博客,请务必保留此出处h原创 2016-05-29 13:34:47 · 6518 阅读 · 0 评论 -
C语言:求两个整数之和
程序:#includestdio.h>int main(){ int a,b,sum; a=2; b=5; sum=a+b; printf ("%d\n",sum); return 0;}结果:7 Press any key to continue本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/107原创 2016-05-29 13:34:50 · 15846 阅读 · 0 评论 -
c语言:2种方法;求两个整数之中的较大者
方法一:程序:#includestdio.h>int main(){ int x,y,z; scanf ("%d %d",&x,&y); if(x>y) { z=x; } else { z=y; } printf ("%d\n",z); return 0;}结果:23 5454 Press any key to continue方法二:程序:原创 2016-05-29 13:34:53 · 7593 阅读 · 0 评论 -
c语言:5种方法;交换两个整数的位置(包括引入第三方变量和不引入第三方变量)
方法一:创建临时变量程序:#include void swap(int *p1, int *p2){ int t = *p1; *p1 = *p2; *p2 = t;}int main(){ int num1 = 2; int num2 = 4; int tmp = 0; printf("num1=%d\n", num1); printf("num2=%d\n", num2); swap(&num原创 2016-05-29 13:34:56 · 6535 阅读 · 0 评论 -
c语言:给十个整数比较大小
程序:#includestdio.h>int main(){ int arr[10]={1,22,30,4,51,6,7,81,9,10}; int max=0; int i=0; for(i=1;isizeof(arr)/sizeof(arr[0]);i++) { scanf("%d",&arr[i]); } max=arr[0]; for(i=1;isizeof(arr)/sizeof(a原创 2016-05-29 13:34:59 · 9341 阅读 · 0 评论 -
c语言:输入一个数,从高位向低位输出,如:输入12345,输出1 2 3 4 5
输入一个数,从高位向低位输出,如:输入12345,输出1 2 3 4 5程序:#includestdio.h>int main(){ int i=0; char s[1000000]; gets(s); while(s[i]!=0) { printf("%c\n",s[i]); i++; } return 0;}结果:1原创 2016-05-29 13:35:02 · 17417 阅读 · 1 评论 -
c语言:2种方法编程及优化;喝汽水问题
方法一:程序:#includestdio.h>int main(){ int i=0;//i表示money int j=0;//j表示空瓶子 int sum=0;//sum喝汽水总瓶数 scanf("%d",&i); sum=i; j=i; while(j>=2) { sum=sum+j/2; j=j%2+j/2; } printf("%d\n"原创 2016-05-29 13:35:05 · 888 阅读 · 0 评论 -
c语言:有趣的printf输出,“4321”
程序:#includestdio.h>int main(){ printf("%d",printf("%d",printf("%d",43))); return 0;}//第一次输出43,第二次调用printf是输出“43”两个字符,即2,第三次调用printf是输出“2”一个字符,即1。4321结果:4321 Press any key to continue本文出自原创 2016-05-29 13:35:07 · 773 阅读 · 0 评论 -
c语言:编辑一个有趣的死循环程序并对其修改,仅仅是一个“=”号的差别
死循环程序:1#includestdio.h>int main(){ int i,arr[10]; for(i=0;i10;i++) { printf("你好聪明\n"); arr[i]=0; } return 0;} 2.修改后,仅仅是一个“=”号的差别#includestdio.h>int main(){ int i,arr[10]; for(i=0;i10;i原创 2016-05-29 13:35:10 · 1034 阅读 · 0 评论 -
c语言:编辑程序输出取数组地址
取地址程序:#includestdio.h>int main(){ int i,arr[10]; printf("%p\n",&i); for(i=0;i10;i++) { printf("&arr[%d]=%p\n",i,&arr[i]); } return 0;}结果:0019FF3C&arr[0]=0019FF14&arr[1]=0019FF18&arr[2]=0019F原创 2016-05-29 13:35:13 · 4053 阅读 · 0 评论 -
c语言:求字符串的字节数,strlen
#includestdio.h>int main(){ printf("%d\n",strlen("Welcome\n")); return 0;}结果:8 Press any key to continue本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1716162原创 2016-05-29 13:35:16 · 4979 阅读 · 0 评论 -
c语言:枚举常量的用法举例
1.程序:#includestdio.h>enum os{ WIN, LINUX, UNIX};int main(){ printf("%d %d %d\N",WIN,LINUX,UNIX); return 0;}结果:0 1 2N Press any key to continue2.程序:#includestdio.h>enum os{ WIN=1原创 2016-05-29 13:35:19 · 2208 阅读 · 0 评论 -
c语言:在屏幕上输出单引号和双引号
在屏幕上输出双引号#includestdio.h>int main(){ printf("\""); /* printf("\'");*/ return 0;}结果:" Press any key to continue 在屏幕上输出单引号#includestdio.h>int main(){ printf("\'"); return 0;}结果:'原创 2016-05-29 13:35:22 · 17911 阅读 · 0 评论 -
c语言:对于一个变量n,const用法和指针的比较
程序:#includestdio.h>int main(){ const int n=10; int *p=(int *)&n; *p=20; printf("%d\n",n); return 0;}//n仍然是一个变量,只是具有常属性,利用指针取n的地址,可改变n的值结果:20 Press any key to continue本文出自 “岩枭” 博客,原创 2016-05-29 13:35:24 · 321 阅读 · 0 评论 -
c语言:输出(Welcome??)和(Welcome\?\?)
程序1:#includestdio.h>int main(){ printf("(Welcome??)"); return 0;}结果:(Welcome] Press any key to continue错误在于应该使用\?,防止被解析成三字母词,正确程序如下:程序2:#includestdio.h>int main(){ printf("(Welcome原创 2016-05-29 13:35:32 · 2626 阅读 · 0 评论 -
c语言:分别使用for循环和while循环求5!
方法一:程序:#includestdio.h>int main(){ int i=0; int j=1; for (i=0;i5;i++) { j=j*(i+1); } printf("%d\n",j); return 0;}方法二:#includestdio.h>int main(){ int i,t; t=1; i=2; while (i5) { t=t原创 2016-05-29 13:35:35 · 5786 阅读 · 0 评论 -
c语言:打印100到200之间的素数
#include#includeint main() {int i = 0;int count = 0;for (i = 101; i {int j = 0;for (j = 3; j {if (i%j == 0){break;}}if (j >sqrt(i)){count++;printf("%d ", i);}}printf("count=%d\n", count);return 0; }输原创 2016-05-29 13:35:38 · 645 阅读 · 0 评论 -
c语言:输出乘法口诀表
程序:#includeint main(){int i = 0;int j = 0;for (i = 1; i {for (j = 1; j {printf("%d*%d=%-2d ", i, j, i*j);//其中%2d中的2表示输出两格,数向后靠齐,即右对齐;若为%-2d,则表示数左对齐}printf("\n");}return 0;}输出结果:1*1=12*1=2 2*2=43*1=原创 2016-05-29 13:35:41 · 1609 阅读 · 0 评论 -
C语言:判断1000年---2000年之间的闰年
程序: //四年一润,百年不润,四百年又润#includeint main(){int i = 0;int count = 0;for (i = 1000; i {if (i % 4 == 0 && i % 100 != 0){printf("%d ", i);count++;} if ( i % 400 == 0){printf("%d ", i);count++;}}printf("coun原创 2016-05-29 13:35:44 · 912 阅读 · 0 评论 -
写一个函数返回参数二进制中 1 的个数 比如: 15 0000 1111 4 个 1
方法一:程序:#includeint count_one_bits(int t){int i = 32;int count = 0;while (i>0){if (t & 1 == 1){count++;}//t=t/2t = t >> 1;i -= 1;}return count;}int main(){int t = 0;printf("请输入一个原创 2016-05-29 13:35:47 · 347 阅读 · 0 评论 -
c语言:两种方法判断1到100之间的奇数
方法一:程序:#includeint main(){int i = 0;for (i = 1; i < 100; i += 2){printf("%d ", i);}return 0;}方法二:程序:#includeint main(){int i = 0;for (i = 1; i < 100; i ++){if (i % 2 == 1){printf原创 2016-05-29 13:35:50 · 3216 阅读 · 0 评论 -
c语言:输出以下关键字的字节大小及输出一个地址:char,short,int,float,double,long
输出以下关键字的字节大小及输出一个地址:1.#includeint main(){printf("%d\n",sizeof(char));//1printf("%d\n", sizeof(short));//2printf("%d\n", sizeof(int));//4printf("%d\n", sizeof(float));//4printf("%d\n", sizeof(原创 2016-05-29 13:35:53 · 3504 阅读 · 0 评论 -
c语言:全局变量与局部变量的区别
静态的全局变量:程序:#include#includevoid fun()//fun为定义的一个函数{int i = 0;static int num = 0;for (i = 0; i < 10;i++){num = 0;//一旦进入for循环,全局变量就赋值为0num++;printf("%d ",num);}}int main(){fun();system原创 2016-05-29 13:35:55 · 502 阅读 · 0 评论 -
c语言:判断两个数组是否有相同的元素
#includeint main(){int i = 0;int j = 0;int arr1[] = {1,2,3,4,5};int arr2[] = {1,2,7,4,9};for (i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++){for (j = 0; j < sizeof(arr2) / sizeof(arr2[0]); j原创 2016-05-29 13:35:58 · 5978 阅读 · 0 评论 -
c语言:根据华氏温度求摄氏温度,并分析错误
程序:#includeint main(){double c, f = 64;c = 5 * (f - 32) / 9;printf("f=%lf\nc=%lf\n",f,c);return 0;}结果:f=64.000000c=17.777778请按任意键继续. . .问题:为什么下面这个程序不能执行结果?#includeint main(){double原创 2016-05-29 13:36:01 · 2710 阅读 · 0 评论 -
c语言:计算存款利息
程序:#includeint main(){float P0=1000,R1=0.0036,R2=0.0225,R3=0.0198,P1,P2,P3 ;P1 = P0*(1+R1);P2 = P0*(1+R2);P3 = P0*(1+R3/2)*(1+R3/2);printf("P1=%f\nP2=%f\nP3=%f\n",P1,P2,P3);return 0;}结果:P原创 2016-05-29 13:36:04 · 21433 阅读 · 0 评论 -
c语言:求多项式1-1/2+1/3-1/4+...+1/99-1/100的值,3种循环实现
方法一:for循环实现程序:#includeint main(){double i = 0, t = 0,sum = 0,sign = -1;for (i = 1; i <= 100; i++){sign = -sign;t =sign/ i;sum = sum + t;}printf("sum=%lf\n",sum);return 0;}方法二:while循环实现原创 2016-05-29 13:36:07 · 16176 阅读 · 0 评论