资源描述:
《c语言基础编程题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、5-1 求幂之和 (15分)本题要求编写程序,计算sum=2^1+2^2+2^3+cdots+2^nsum=21+22+23+⋯+2n。可以调用pow函数求幂。输入格式:输入在一行中给出正整数nn(le≤10)。输出格式:按照格式“result=计算结果”输出。输入样例:5输出样例:result=62#include#includeintmain(){inti,n,sum=0;scanf("%d",&n);for(i=1;i<=n;i++){sum=sum+pow(2,i);}printf("result=%d",
2、sum);return0;}5-2 近似求PI (15分)本题要求编写程序,根据下式求piπ的近似值,直到最后一项小于给定精度eps。frac{pi}{2}=1+frac{1!}{3}+frac{2!}{3times5}+frac{3!}{3times5times7}+cdots+frac{i!}{3times5timescdotstimes(2timesi+1)}+cdots2π=1+31!+3×52!+3×5×73!+⋯+3×5×⋯×(2×i+1)i!+⋯输入格式:输入在一行中给出精度eps,可以使用以下语句来读输入:
3、scanf("%le",&eps);输出格式:在一行内,按照以下格式输出piπ的近似值(保留小数点后5位):PI=近似值输入样例:1E-5输出样例:PI=3.14158#include#includeintmain(){doublea=1,b=3,i=1,j=3;doubleeps,m=1,sum=0;scanf("%le",&eps);while(m>eps){m=a/b;sum=sum+m;i=i+1;j=j+2;a=a*i;b=b*j;}printf("PI=%.5lf",2+2*sum);return0;}5-3
4、 判断素数 (15分)输入一个正整数m,如果它是素数,输出"YES",否则,输出"NO"(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。输入格式:在一行中输入一个正整数m。输出格式:对每一组输入,在一行中输出结果并换行。输入样例:17输出样例:YES#include#includeintmain(){inti,j,n;scanf("%d",&n);j=sqrt(n);for(i=2;i<=j;i++)if(n%i==0)break;if(i>=j&&n!=1)printf("YES");elseprint
5、f("NO");return0;}5-4 出生年 (15分)以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。输入格式:输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1,3000]之间,n可以是2、或3、或4。注意不足4位的年份要在前面补零,例如公元1年被认为是0001年,有2个不同的数字0和1。输出格式:根据输入,输出x和能达到要求的年份。数字间以
6、1个空格分隔,行首尾不得有多余空格。年份要按4位输出。注意:所谓“n个数字都不相同”是指不同的数字正好是n个。如“2013”被视为满足“4位数字都不同”的条件,但不被视为满足2位或3位数字不同的条件。输入样例1:19884输出样例1:252013输入样例2:12输出样例2:00001#include#includeintmain(){inty,n,a,b,c,d,f[10],l=0;scanf("%d%d",&y,&n);for(inti=y;i<10000;i++){a=i/1000;b=i/100%10;c=i%100
7、/10;d=i%10;memset(f,0,sizeof(f));f[a]=1;if(f[b]!=1)f[b]=1;if(f[c]!=1)f[c]=1;if(f[d]!=1)f[d]=1;intsum=0;for(intj=0;j<10;j++){sum=sum+f[j];}if(sum==n&&l==0){printf("%d%04d",i-y,i);l++;}}return0;}5-5 计算函数P(n,x) (10分)输入一个正整数repeat(0=0)和一个双精度浮点数x,输出
8、函数p(n,x)的值(保留2位小数)。