【c语言】c语言常见编程题总结(二)

来源:互联网 发布:看日漫用什么软件 编辑:程序博客网 时间:2024/04/30 13:56
/*20.判断一个字符串是否为回文字符串#include <stdio.h>int main(){char s[100];int i,j=0;printf("请输入字符串:");gets(s);i=strlen(s)-1;for(;j<=i;i--,j++){if(s[i]!=s[j])break;}if(j<=i){printf("no\n");}else{printf("yes\n");}return 0;}*//*19.判断一个数是否为回文数#include <stdio.h>int main(){int num,tmp;int sum=0;printf("请输入一个数:");scanf("%d",&num);tmp=num;    while(num){sum=sum*10+num%10;num/=10;}if(tmp==sum)printf("yes\n");elseprintf("no\n");return 0;}*//*18.求解1+2!+3!+...+20!的和#include <stdio.h>int main(){long n=1,sum=0;int i;for(i=1;i<=20;i++){n=i*n;sum=sum+n;}printf("1+2!+3!+...+20!=%ld\n",sum);return 0;}*//*17.求解1-1/2+1/3-1/4...+1/99-1/100的值#include <stdio.h>int main(){double sum=0,k=1;int i;for(i=1;i<=100;i++){sum=sum+k/i;k=k*(-1);}printf("sum=%f\n",sum);return 0;}*//*16.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不够,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个;     以后每天早上都吃了前一天剩下的一半零一个,到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。#include <stdio.h>int main(){int n=1;int day;for(day=9;day>0;day--){n=2*(n+1);}printf("第一天一共摘了%d个.\n",n);return 0;}*//*15.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?#include <stdio.h>int main(){double height=100;double sum=100;double n=0;int i;for(i=0;i<10;i++){sum=sum+2*n;height=height/2;n=height;}printf("height=%f,sum=%f\n",height,sum);return 0;}*//*14.求解:s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字,n是a的个数#include <stdio.h>int main(){int a,n;int num=0;int sum=0;int i;printf("请输入a和n的值:");scanf("%d,%d",&a,&n);for(i=0;i<n;i++){num=num*10+a;sum=sum+num;}printf("%d+...+%d=%d\n",a,num,sum);return 0;}*//*13.有一分数序列,求解:2/1,3/2,5/3,8/5,13/8,21/13求出这个数列的前20项之和#include <stdio.h>int main(){int m=1;int n=2;double sum=0.0;int i;for(i=0;i<20;i++){sum=sum+(double)n/(double)m;n=m+n;m=n-m;}printf("2/1+3/2+5/3+...=%0.2f\n",sum);return 0;}*//*12.在屏幕上输出2000年之前的所有闰年和闰年的个数  闰年的计算方法:  能被4整除且不能被100整除的为闰年;  能被400整除的是闰年;#include <stdio.h>int main(){int year;for(year=0;year<=2000;year++){if(year%4==0){if(year%100==0){if(year%400==0)printf("%d\t",year);}elseprintf("%d\t",year);}}printf("\n");return 0;}*//*11.有1、2、3、4个四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#include <stdio.h>int main(){int i,j,k;int m=0;for(i=1;i<5;i++){for(j=1;j<5;j++){for(k=1;k<5;k++){if(i!=j&&i!=k&&k!=j){printf("%d%d%d\t",i,j,k);m++;}}}}printf("有%d个数\n",m);return 0;}*/

0 0