目录
程序二:有一个函数 如下 写一个程序,输入x值,输出y的值。
程序三:判断某一年是否为闰年。(闰年指的是能被4整除,不能被100整除或能被400整除)
程序六: 判断一个三位数是否为水仙花数。(各个位的立方和等于该数)
程序八:统计一个字符串大写字母,小写字母,数字字符,其他字符的个数。
程序九:求1-1/2+1/3-1/4+1/5-1/6+1/7-…
程序十二:求1/1!+1/2!+1/3!+1/4!+…+1/n!
程序十三:求数列的前20项之和。数列为2/1、3/2、5/3、8/5、13/8…
程序十七:输出1000之内的全部完数。(一个数如果等于它的真因子之和即为完数)
程序十六:判断一个数是几位数,并求出其后n-1(n>1)位数
程序十九:编写程序,实现公式求π的近似值直到发现某一项的绝对值小于指定阈值为止(该项不累加),指定阈值为10-6
程序一 :输入一浮点数,保留两位小数,对第三位四舍五入。
main()
{ int i;
float n;
scanf("%f",&n);
i=n*100.0+0.5;
n=i/100.0;
printf("%f",n);
return 0;
}
程序二:有一个函数 如下 写一个程序,输入x值,输出y的值。
x (x<0)
y= 2x-1 (0<=x<10)
3x-11 (x>=10)
main()
{
float x,y;
scanf("%f",&x);
if(x<0) y=x;
if(x>=0&&x<10) y=2*x-1;
if(x>=10) y=3*x-11;
printf("%f",y);
return 0;
}
程序三:判断某一年是否为闰年。(闰年指的是能被4整除,不能被100整除或能被400整除)
main()
{
int y;
scanf("%d",&y);
if(y%4==0&&y%100!=0||y%400==0)
printf("yes");
else
printf("no");
return 0;
}
程序四:求三个数的最大值。
main()
{
int a,b,c,t;
printf("请输入三位数");
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{
t=a;a=b;b=t;
}
if(a<c)
{
t=a;a=c;c=t;
}
if(b<c)
{
t=b;b=c;c=t;
}
printf("最大值是:%d ",a);
return 0;
}
程序五:从键盘输入三个整数,输出较小的两个数之和。
main()
{
int a,b,c,t;
printf("请输入三位数");
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{
t=a;a=b;b=t;
}
if(a<c)
{
t=a;a=c;c=t;
}
if(b<c)
{
t=b;b=c;c=t;
}
printf("最小两位数是%d %d\n",b,c);
printf("最小两位数的和是%d ",b+c);
return 0;
}
程序六: 判断一个三位数是否为水仙花数。(各个位的立方和等于该数)
main()
{
int a,b,c,n;
printf("请输入一个三位数");
scanf("%d",&n);
a=n/100;
b=n/10%10;
c=n%10;
if(a*a*a+b*b*b+c*c*c==n)
{ printf("是水仙花数%d\n",n);
printf("%d=%d+%d+%d\n",n,a,b,c);
}
else printf("不是水仙花数%d\n",n);
return 0;
}
程序七: 将用户输入的字母进行大小写转换。
main()
{
int i;
char ch[52];
printf("输入字符");
gets(ch);
for(i=0;ch[i]!=0;i++)
{
if(ch[i]>='a'&&ch[i]<='z') ch[i]-=32;
else if(ch[i]>='A'&&ch[i]<='Z') ch[i]+=32;
}
for(i=0;ch[i]!=0;i++)
printf("%c",ch[i]);
return 0;
}
程序八:统计一个字符串大写字母,小写字母,数字字符,其他字符的个数。
main()
{
int i,capital_letter=0,small_letter=0,num=0,other=0;
char ch[50];
printf("请输入:");
gets(ch);
for(i=0;ch[i]!=0;i++)
{
if(ch[i]>='1'&&ch[i]<='9') num++;
else if(ch[i]>='A'&&ch[i]<='Z') capital_letter++;
else if(ch[i]>='a'&&ch[i]<='z') small_letter++;
else other++;
}
printf("大写:%d\n小写:%d\n数字:%d\n其他:%d\n",capital_letter,small_letter,num,other);
return 0;
}
程序九:求1-1/2+1/3-1/4+1/5-1/6+1/7-…
main()
{
int sign=-1;
int n;
float i,sum=0.0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sign=-sign;
sum=sum+sign/i;
}
printf("%f",sum);
}
程序十:求n的阶乘。
main()
{
int n,i,sum=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum*=i;
printf("%d",sum);
}
程序十一:求1!+2!+3!+…+n!
main()
{
int n,i,t=1,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t*=i;
sum+=t;
}
printf("%d",sum);
}
程序十二:求1/1!+1/2!+1/3!+1/4!+…+1/n!
main()
{
int n,i,t=1;
double sum=0.0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t*=i;
sum+=1.0/t;
}
printf("%lf",sum);
}
程序十三:求数列的前20项之和。数列为2/1、3/2、5/3、8/5、13/8…
main()
{
int a=2,b=1,n,i,t;
double sum=0.0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+1.0*a/b;
t=a;
a=a+b;
b=t;
}
printf("%lf",sum);
}
程序十四:求出1000以内所有质数,并统计质数的个数。
main()
{ int i,num=0,j,t=0;
for(i=1;i<=1000;i++)
{
for(j=2;j<i;j++)
if(i%j==0)break;
if(i==j)
{
printf("%5d",i);
num++;
t++;
if(t%15==0){t=0;printf("\n");}
}
}
printf("\n共有%d个素数",num);
}
程序十五:将大于整数m,且仅靠m的k个质数输出
例如m=17,k=5则应输出19,23,29,31,37。
main()
{ int i,j,m,k,s=0;
scanf("%d%d",&m,&k);
for(i=m+1; ;i++)
{
for(j=2;j<i;j++)
if(i%j==0)break;
if(i==j){printf(" %d",i);s++;}
if(s==k)break;
}
}
程序十六:判断一个数是否为完数。
main()
{ int i,j,m,k,s=0;
scanf("%d",&k);
for(i=1;i<k;i++)
if(k%i==0)s+=i;
if(s==k)
{
printf("%d是完数\n",k);
for(i=1;i<k;i++)
if(k%i==0)printf(" %d",i);
}
}
程序十七:输出1000之内的全部完数。(一个数如果等于它的真因子之和即为完数)
main()
{ int i,j,sum=0;
for(i=1;i<=1000;i++)
{
sum=0;
for(j=1;j<i;j++)
if(i%j==0)sum+=j;
if(sum==i)
{
printf("\n%d是完数\n",i);
for(j=1;j<i;j++)
if(i%j==0)printf(" %d",j);
}
}
}
程序十六:判断一个数是几位数,并求出其后n-1(n>1)位数
例如若这个数为123,则应输出23。
main()
{ int a[10],i,n,j=0,s=0;
scanf("%d",&n);
while(n>0)
{
a[s]=n%10;
n/=10;
s++;
}
printf("%d位数\n",s);
for(i=s-2;i>=0;i--)
printf("%d",a[i]);
}
程序十七:求a+aa+aaa+aaa…a之和(n个a)
main()
{ int a,n,i,s=0,sum=0;
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
{
s=s*10+a;
sum+=s;
}
printf("%d",sum);
}
程序十八:求出前40项的斐波那契数列。
Fib(n)=1 n=1或n=2
Fib(n-1)+Fib(n-2) n>2
main()
{ int a=1,c=1,b=1,i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{ if(i>=3)
{
c=a+b;
a=b;
b=c;
}
printf(" %d",c);
}
}
程序十九:编写程序,实现公式求π的近似值直到发现某一项的绝对值小于指定阈值为止(该项不累加),指定阈值为10-6
main()
{ int n=1,sign=1;
float t=1.0,sum=0.0;
while(fabs(t)>=1e-6)
{
sum+=t;
sign=-sign;
n+=2;
t=sign*1.0/n;
}
printf("%f",4*sum);
}
程序二十:用户输入正偶数n,将其分解为两个素数之和。
int prime(int n)
{
int i;
for(i=2;i<n;i++)
{
if(n%i==0)return 0;
}
return 1;
}
main()
{
int n,i,sum;
scanf("%d",&n);
for(i=2;i<n/2;i++)
if(prime(i)&&prime(n-i))printf("%d=%d+%d ",n,i,n-i);
}