if(min>a[i])min=a[i];
sum+=a[i];
}
printf("%lf",(sum-min-max)/8);
return0;
}
七.
题目标题:
统计(左利芳)
题目描述:
统计个位数为6的n位数,且能被m整除的共有多少个?
输入描述:
一个整数n(n<=5),表示该整数的位数,一个整数m(1~9);
输出描述描述:
符合条件的数的个数。
#include
intf(intn)
{
intt=1,i;
for(i=1;i<=n;i++)
t*=10;
returnt;
}
intmain()
{
intn,m,i,count=0;
scanf("%d%d",&n,&m);
for(i=f(n-1)+6;iif(i%m==0)
count++;
printf("%d",count);
return0;
}
八.
题目标题:
四位数(左利芳)
题目描述:
计算满足下述条件的四位数的个数:
把数字abcd重新组成两个新的两位数:
ac及db,如果新组成的两个十位数ac>db,且ac必须是偶数且能被n(n为1~9的整数)整除,db必须是奇数,同时两个新数的十位数字均不为零。
输入描述:
一个1~9的整数。
输出描述描述:
符合条件的数的个数。
#include
intmain()
{
inti,j,count=0,n;
scanf("%d",&n);
for(i=10;i<100;i+=2)
for(j=11;j<100;j+=2)
if(i>j&&i%n==0)
count++;
printf("%d",count);
return0;
}
九.
题目标题:
产值翻番计算(左利芳)
题目描述:
假设当年工业产值为100,工业产值的增长率每年为c%,从键盘输入一个c(0<=c<=30),试求工业产值过多少年可实现翻番(即增加一倍)。
注:
后一年的产值是在前一年的基础上增长c%。
输入描述:
一个0~30的实数(增长率)。
输出描述描述:
实现翻番的年数。
样式输入:
6
样式输出:
12
#include
intmain()
{
intcount=0;
doublec,t=1;
scanf("%lf",&c);
while(t<2)
{
t*=(c/100+1);
count++;
}
printf("%d",count);
return0;
}
十.
题目标题:
四位数(左利芳)
题目描述:
计算满足下述条件的四位数的个数:
把数字abcd重新组成两个新的两位数:
ac及db,如果新组成的两个十位数ac>db,且ac必须是偶数且能被n(n为1~9的整数)整除,db必须是奇数,同时两个新数的十位数字均不为零。
输入描述:
一个1~9的整数。
输出描述描述:
符合条件的数的个数。
十一.
题目标题:
分数比较(彭纪良)
题目描述:
请编程实现比较两个分数的大小。
(注:
进行分数的通分后再比较分子的大小)
输入描述:
输入两个分数,格式为分子/分母分子/分母,分子,分母均为整数。
输出描述描述:
输出比较后的结果。
如果等于,则输出分子/分母=分子/分母;如果小于分子/分母<分子/分母;如果大于,则输出分子/分母>分子/分母
#include
intgcd(intx,inty)
{
intr=x%y;
while(r)
{
x=y;
y=r;
r=x%y;
}
returny;
}
intmain()
{
inta,b,c,d,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(b>d)
t=gcd(b,d);
else
t=gcd(d,b);
if(a*d/t>c*b/t)
printf("%d%d>%d%d",a,b,c,d);
elseif(a*d/t==c*b/t)
printf("%d%d=%d%d",a,b,c,d);
else
printf("%d%d<%d%d",a,b,c,d);
return0;
}
十二
题目标题:
求人数(甘文)
题目描述:
定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。
用主函数来调用它,统计50个学生成绩中,高于平均成绩的有多少人?
输入描述:
输入50个学生的成绩
输出描述描述:
输出一个整数表示高于平均成绩的人数
样式输入:
45464748495041525354
55565758596061626364
65666768697071727374
75767778798081828384
85868788899091929394
样式输出:
25
#include
#include
#include
intaver(inta[],doublesum)
{
inti=0,n=0;
for(;i<50;i++)
if(a[i]>sum)
n++;
returnn;
}
intmain()
{
inta[55],i;
doublesum=0;
for(i=0;i<50;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
sum/=50;
printf("%d",aver(a,sum));
return0;
}
十三.
题目标题:
3.2求圆的周长和面积
题目描述:
从键盘输入圆的半径,求该圆的周长和面积。
(注:
取3.14)
输入描述:
一个实数r。
输出描述描述:
圆的周长和面积。
#include
#definePI3.14
intmain()
{
doubler,l,s;
scanf("%lf",&r);
l=2*PI*r;
s=PI*r*r;
printf("r=%.2f,l=%.2f,s=%.2f",l,s);
return0;
}
十四.
题目标题:
3.4确定一个数的位数
题目描述:
编写程序用来确定一个数的位数。
如:
输入:
567输出:
Thenumber567has3digits假设输入的数最多不超过四位。
输入描述:
一个整数n。
输出描述描述:
按指定格式输出这个数的位数。
#include
main()
{
intn,x,digits=0;
scanf("%d",&n);
x=n;
do
{
x=x/10;
digits++;
}
while(x);
printf("Thenumberb%dhas%ddigits",n,digits);
}
十五.
题目标题:
3.9阶乘累加
题目描述:
计算1!
+2!
+3!
……+n!
输入描述:
一个整数n(n<=10)。
输出描述描述:
1到n的阶乘累加之和。
样式输入:
5
样式输出:
s=153
#include
main()
{
intn,i,s,sum;
scanf("%d",&n);
longs=1,sum=0;
for(i=1;i<=n;i++)
{
s*=i;
sum+=s;
}
printf("s=%lld",sum);
return0;
}
十六.
计算e的近似值
利用泰勒级数e=1+1/1!
+1/2!
+……+1/n!
计算e的近似值。
精度要求最后一项的绝对值小于f(如:
f=1e-5)。
#include
#include
doublefac(intn)
{
if(n==1)
return1;
elsereturnn*fac(n-1);
}
main()
{
inti=1;
doublee=1.0,t,f;
scanf("%le",&f);
for(t=1.0;t>f;i++)
{
t=1.0/fac(i);
e+=t;
}
printf("e=%.6lf",e);
return0;
}
十七.
题目标题:
3.12求水仙花数
题目描述:
打印n(三位的整数)以内的所有水仙花数。
所谓水仙花数是指一个三位的整数,其各位数字的立方和等于该数本身。
例如:
153是水仙花数,因为153=1^3+5^3+3^3。
输入描述:
一个整数n。
输出描述描述:
符合条件的水仙花数。
#include
main()
{
inti,x,y,z,a;
scanf("%d",&a);
for(i=100;i<=a;i++)
{
x=i/100;
y=i/10%10;
z=i%10;
if(i=x*x*x+y*y*y+z*z*z);
printf("%d\n",i);
}
return0;
}
十八.
题目标题:
3.17百马百担问题
题目描述:
百马百担问题:
有n1匹马,驮n2担货,大马驮3担,中马驮2担,两匹小马驮1担,问有多少种驮法?
注意:
每种马至少有1匹.
输入描述:
两个整数n1(马匹数)和n2(担货数)。
输出描述描述:
驮法数。
#include
main()
{
intd,z,x;
intsum=0,n1,n2;
scanf("%d%d",&n1,&n2);
for(d=1;d<=n1;d++)
for(z=1;z<=n1-d;z++)
{
x=n1-d-z;
if((3*d+2*z+0.5*z)==n2);
sum++;
}
printf("%d",sum);
return0;
}
十九.
题目标题:
函数求解1/n的累乘(谌海军)
题目描述:
利用自定义函数编写程序,求下面的式子:
Y=1*1/2*1/3……*1/n(n的数值由键盘输入,n<=10)
输入描述:
输入一个正整数
输出描述描述:
输出为小数,保留小数点后12位有效数字。
#include
#include
#include
main()
{
intn,i;
doublet=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
t/=i;
printf("%.12lf",t);
return0;
}
二十.
题目标题:
整数的分解(胡宁静)
题目描述:
将一个正整数分解质因数。
例如:
输入90,打印出90=2*3*3*5。
输入描述:
输入一个正整数。
输出描述描述:
等式左边输出整数,等式右边整数相乘形式。
#include
intisprime(intn)
{
inti;
for(i=2;i*i<=n;i++)
if(n%i==0)
return0;
return1;
}
intmain()
{
intnum,i;
scanf("%d",&num);
printf("%d=",num);
if(isprime(num))
printf("1*%d",num);
else
{
for(i=2;i<=num;i++)
if(num%i==0)
{
num/=i;
printf("%d",i);
break;
}
for(i=2;i<=num;i++)
while(num%i==0)
{
num/=i;
printf("*%d",i);
}
}
return0;
}