
C语言编程题目
iindus
专注于计算机技术的天才少年。
展开
-
保留一个实数的两位小数,从第三位实现四舍五入
#includeint main(){ float real_num; printf("input a real number:"); scanf("%f",&real_num); real_num=(int)(real_num*100+0.5);//实现四舍五入,并仅保存了开始的两位小数 real_num/=100;//还原来出两位小数 printf("the result is %.2f/n",real_num); return 0;}类似此算法,可以实现保留任意原创 2010-07-22 00:05:00 · 6009 阅读 · 0 评论 -
计算某年某月某日是该年的第几天。
<br />01.#include<stdio.h> 02.int main() 03.{ 04. int count(int month); 05. int year,month,day;//定义年月日 06. int i,leap,sum=0;//定义变化量 07. printf("please input the date (eg:2010-01-01):"); 08. scanf("%d-%d-%d",&year,原创 2010-07-22 00:08:00 · 2629 阅读 · 0 评论 -
求近似PI的值
<br />#include<stdio.h>#include<math.h>void main(){//利用公式PI/4=1-1/3+1/5-1/7+... 直到最后一项的绝对值小于1e-6 float sum=0,tn=1;//sum表示累加和项,tn表示下一项 int sign=1;//符号位 long n=1;//n表示计算的项数 while(fabs(tn)>1e-6) { sum=sum+tn;//累加求和 sign*=-1; tn=(float原创 2010-07-26 00:19:00 · 858 阅读 · 1 评论 -
爱因斯坦阶梯问题
设有一阶梯,若每步跨2阶,最后余1阶;若每步跨3阶,最后余2阶;若每步跨5阶,最后余4阶;若每步跨6阶,最后余5阶;若每步跨7阶,正好到阶梯顶。问该阶梯共有多少阶?#includeint main(){ //由题意可知,x为一个奇数,且是7的倍数,故可以每步跨14,进行一个循环。 int x=7; while(x%3!=2||x%5!=4||x%6!=5)//剩下的三个条件作为循环的条件 x=x+14; printf("%d/n",x);}原创 2010-07-26 23:53:00 · 1490 阅读 · 0 评论 -
求最大公约数
#includeint main(){ int num1,num2,r;//r为余数 printf("input tow integer number:"); scanf("%d%d",&num1,&num2); if(num1原创 2010-07-28 23:43:00 · 408 阅读 · 0 评论 -
输出斐波那契数列前40项
<br />#include<stdio.h>int main(){//输出斐波那契数列f(n)=f(n-1)+f(n-2) long f1=1,f2=1; int i; for(i=1;i<=20;i++)//每次输出2个,循环20次 输出40个数 { printf("%-10ld%-10ld",f1,f2); f1=f1+f2; f2=f1+f2; if(i%2==0)//控制每行输出4个数 printf("/n"); }}原创 2010-07-29 00:36:00 · 10638 阅读 · 1 评论 -
判断是否为素数
<br />#include<stdio.h>#include<math.h>int main(){//判断一个数是否为素数 int num,i=2,flag=1;//flag为1时,num是素数,否则不是。 printf("input the number(num>=2):"); scanf("%d",&num); while(flag&&i<=sqrt(num))//循环控制条件 { if(num%i==0) flag=0;//如果num能被整除,flag=原创 2010-07-29 00:18:00 · 616 阅读 · 0 评论 -
求一个N位正整数,各位数字之和
<br />#include<stdio.h>int main(){//求一个n位数各个位数之和 long num; int sum=0,tn;//tn为每位数 printf("input a integer number:"); scanf("%ld",&num); while(num!=0) { tn=num%10;//计算个位上的数字 sum=sum+tn; num=num/10;//使sum去掉最低位 } printf("sum=%d/n原创 2010-07-28 23:56:00 · 3036 阅读 · 0 评论