_(3)编写一个程序,计算x=x-9x+× ×××0+的近似值《直到最后一项的绝对值小于">
赞
踩
编写一个程序,计算的近似值(直到最后一项的绝对值小于eps)。(eps为极小值,可以由用户输入,也可以以常量的形式出现;用户输入的x绝对值应该小于1,否则不能结束循环)
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
-
- int main()
- {
- double sum,eps=0.0000000001,x,t;
- int n;
- scanf("%lf",&x);
- sum=x;
- t=x;
- for(n=1;t>=eps;n=n+2)
- {
- t=-1*t*n/(n+1)*x*x/(n+3);
- sum+=x;
- }
- printf("sum=%lf\n",sum);
- return 0;
- }
取出一个无符号的十进制整数中所有奇数数字,按原来的顺序组成一个新的数。
- #include <stdio.h>
-
- int main()
- {
- long x,s=0,j=0; //x:输入数据;s:输出数据的倒序;j:输出数据;
- int n,i; //n:x从个位开始往左位移的单个数字;i:s从个位开始往左位移的单个数字;
- scanf("%ld",&x);
- //本题使用位运算更简单,初学时所做,暴力解
- while(x) //x!=0
- {
- n=x%10;
- if(n%2!=0)
- s=s*10+n;
- x=x/10;
- }
- while(s)
- {
- i=s%10;
- j=j*10+i;
- s=s/10;
- }
- printf("%ld",j);
- }
请编写一个程序,实现以下功能:接收键盘上的输入,直到按Enter键为止,对于这些字母按如下规则进行转换:
① 如果输入的大写字母,请转换为小写字母;如果输入的小写字母,请转换为大写字母。
② 对于非字母字符,则不进行转换,原样输出。
③ 若有连续的一个以上的空格时,则只输出一个空格。
请对输入的信息按上述规则进行转换后,再在屏幕上进行输出。
- #include <stdio.h>
-
- int main()
- {
- char c,front= '\0';
- scanf("%c",&c);
- while(c!= '\n')
- {
- if(c!=' ')
- {
- if(c>='A'&&c<='Z')
- {
- c=c+32;
- putchar(c);
- }
- else if(c>='a'&&c<='z')
- {
- c=c-32;
- putchar(c);
- }
- else
- putchar(c);
- }
- if(c== ' ')
- if(c!=front)
- putchar(c);
- front=c;
- c=getchar();
- }
- return 0;
- }
从键盘上输入若干个学生的成绩,统计输出所有学生成绩之和,并计算这些学生的平均成绩。
- #include <stdio.h>
-
- int main()
- {
- float s,i=0; //s:单人分数;i:人数
- float avg=0,sum=0;
- scanf("%f",&s);
- while(s>=0) //输入任意复数退出循环
- {
- i++;
- sum=sum+s;
- avg=sum/i;
- scanf("%f",&s);
- }
- printf("\nsum=%f\navg=%f\n",sum,avg);
- return 0;
- }
- #include <stdio.h>
-
- int main()
- {
- int x,m,s=0;
- scanf("%d",&x);
- while(x!=0)
- {
- m=x%10;
- s=s+m;
- x=x/10;
- }
- printf("%d",s);
- return 0;
- }
求一元二次方程的根,用3个函数分别求判别式大于0、等于0和小于0时的根,并输出结果。主函数中输入系数a、b、c。
- #include <stdio.h>
- #include <math.h>
-
- int main()
- {
- double a,b,c,delta,x1,x2,p,q;
- scanf("%lf %lf %lf",&a,&b,&c);
- if(a==0)
- printf("不是一元二次方程!\n");
- else
- {
- delta=b*b-4*a*c;
- if(delta==0)
- {
- printf("方程有两个相等的实数根!\n");
- x1=-b/(2*a);
- x2=x1;
- printf("%.2lf , %.2lf\n",x1,x2);
- }
- else if(delta>0)
- {
- printf("方程有两个不相等的实数根!\n");
- x1=-b/(2*a)+sqrt(delta)/(2*a);
- x2=-b/(2*a)-sqrt(delta)/(2*a);
- printf("%.2lf , %.2lf\n",x1,x2);
- }
- else
- {
- printf("方程有两个不相等的复数根!\n");
- p=-b/(2*a);
- q=sqrt(-delta)/(2*a);
- printf("%.wlf + %.2lfi\n",p,q);
- printf("%.wlf - %.2lfi\n",p,q);
- }
- }
- return 0;
- }
- #include <stdio.h>
- #include <stdlib.h>
-
- unsigned int getfactorial(unsigned int n,unsigned int x);
-
- int main()
- {
- unsigned int x,n,p;
- scanf("%u %u",&n,&x);
- p=getfactorial(n,x);
- printf("p(%u)=%u\n",x,p);
- return 0;
- }
-
- unsigned int getfactorial(unsigned int n,unsigned int x)
- {
- unsigned int result;
- if(n==0)
- result=1;
- else if(n==1)
- result=x;
- else if(n>1)
- result=((2*n-1)*x*getfactorial(n-1,x)-(n-1)*getfactorial(n-2,x))/n;
- return result;
- }
计算银行存款余额和利息:假设银行存款季度利息是5.3%,根据输入的原始数据计算利息和账户余额,并以表格的形式输出每个季度的利息和账户余额。要求写两个函数,一个用来计算利息和余额,一个用来输出。
- #include <stdio.h>
-
- double function(float);
- void display(float,int);
-
- int main()
- {
- float sum;
- int season;
- scanf("%f %d",&sum,&season);
- display(sum,season);
- return 0;
- }
-
- double function(float sum)
- {
- float a,acc;
- a=0.053;
- acc=sum*a;
- return acc;
- }
-
- void display(float sum,int season)
- {
- int i;
- printf("季度 利息 账户余额\n");
- printf("--------------------------\n");
- for(i=1;i<=season;i++)
- {
- printf("%d %f %f\n",i,function(sum),function(sum)*i+sum);
- /*利息=本金×利率×时间*/
- printf("----------------------------\n");
- }
- }
- #include <stdio.h>
-
- double fun(void);
-
- int main()
- {
- printf("数列的和:%lf\n",fun());
- return 0;
- }
-
- double fun()
- {
- int n=1;
- double term,sum=0.0;
- do
- {
- term=(double)(2*n-1)/(2*n*2*n);
- sum=sum+term;
- n++;
- }while(term>0.0001);
- return sum;
- }
设w是一个大于10的无符号整数,若w是n(n>=2)位的整数,编写一个函数求w的低n-1位的数作为函数的返回值。如w=5923,则函数返回值为923。
- #include <stdio.h>
-
- int fun(unsigned int);
-
- int main()
- {
- unsigned int w;
- scanf("%u",&w);
- if(w<10)
- {
- printf("data error!");
- }
- else
- printf("%d",fun(w));
- return 0;
- }
-
- int fun(unsigned int w)
- {
- int r=1,n=1,s;
- s=w;
- while(s>10)
- {
- s=s/10;
- r=r*10;
- n++;
- }
- w=w%r;
- return w;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。