if(min>a[i])min=a[i];
sum+=a[i];
}
printf("%.1lf",(sum-min-max)/8);
return0;
}
7.题目标题:
统计
题目描述:
统计个位数为6的n位数,且能被m整除的共有多少个?
输入描述:
一个整数n(n<=5),表示该整数的位数,一个整数m(1~9);
输出描述:
符合条件的数的个数。
样式输入:
23
样式输出:
3
#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;
}
8.题目标题:
四位数
题目描述:
计算满足下述条件的四位数的个数:
把数字abcd重新组成两个新的两位数:
ac及db,如果新组成的两个十位数ac>db,且ac必须是偶数且能被n(n为1~9的整数)整除,db必须是奇数,同时两个新数的十位数字均不为零。
输入描述:
一个1~9的整数。
输出描述:
符合条件的数的个数。
样式输入:
5
样式输出:
180
#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;
}
9.题目标题:
产值翻番计算
题目描述:
假设当年工业产值为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;
}
10.题目标题:
行李托运
题目描述:
铁路托运行李规定:
行李重不超过50公斤的,托运费按每公斤0.15元计费;如超过50公斤,超过部分每公斤按0.25元计费。
请编程实现自动计费功能。
输入描述:
输入一个整数,表述要托运的行李的重量,单位为公斤
输出描述:
托运的行李重量(单位公斤)空格和运费(单位为元,保留2位小数)。
样式输入:
45
样式输出:
456.75
#include
intmain()
{
doublex,y;
scanf("%lf",&x);
if(x<50)
y=x*0.15;
else
y=(x-50)*0.25+50*0.15;
printf("%.0lf%.2lf",x,y);
return0;
}
11.题目标题:
分数比较
题目描述:
请编程实现比较两个分数的大小。
(注:
进行分数的通分后再比较分子的大小)
输入描述:
输入两个分数,格式为分子/分母分子/分母,分子,分母均为整数。
输出描述:
输出比较后的结果。
如果等于,则输出分子/分母=分子/分母;如果小于分子/分母<分子/分母;如果大于,则输出分子/分母>分子/分母
样式输入:
1/21/3
样式输出:
1/2>1/3
#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;
}
12.题目标题:
求人数
题目描述:
定义一个函数,功能是计算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;
}
13.题目标题:
求圆的周长和面积
题目描述:
从键盘输入圆的半径,求该圆的周长和面积。
(注:
取3.14)
输入描述:
一个实数r。
输出描述:
圆的周长和面积。
样式输入:
1
样式输出:
r=1.00,l=6.28,s=3.14
#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",r,l,s);
return0;
}
14.题目标题:
确定一个数的位数
题目描述:
编写程序用来确定一个数的位数。
如:
输入:
567输出:
Thenumber567has3digits假设输入的数最多不超过四位。
输入描述:
一个整数n。
输出描述:
按指定格式输出这个数的位数。
样式输入:
567
样式输出:
Thenumber567has3digits
#include
main()
{
intn,x,digits=0;
scanf("%d",&n);
x=n;
do
{
x=x/10;
digits++;
}while(x);
printf("Thenumber%dhas%ddigits",n,digits);
}
15.题目标题:
阶乘累加
题目描述:
计算1!
+2!
+3!
……+n!
输入描述:
一个整数n(n<=20)。
输出描述:
1到n的阶乘累加之和。
样式输入:
5
样式输出:
s=153
#include
intmain()
{
intn,i;
scanf("%d",&n);
longlongs=1,sum=0;
for(i=1;i<=n;i++)
{
s*=i;
sum+=s;
}
printf("s=%lld",sum);
return0;
}
16.题目标题:
计算e的近似值
题目描述:
利用泰勒级数e=1+1/1!
+1/2!
+……+1/n!
计算e的近似值。
精度要求最后一项的绝对值小于f(如:
f=1e-5)。
输入描述:
精度。
输出描述:
e的近似值,保留6位小数。
样式输入:
1e-5
样式输出:
e=2.718282
#include
#include
doublefac(intn)
{
if(n==1)
return1;
else
returnn*fac(n-1);
}
intmain()
{
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;
}
17.题目标题:
求水仙花数
题目描述:
打印n(三位的整数)以内的所有水仙花数。
所谓水仙花数是指一个三位的整数,其各位数字的立方和等于该数本身。
例如:
153是水仙花数,因为153=1^3+5^3+3^3。
输入描述:
一个整数n。
输出描述:
符合条件的水仙花数。
样式输入:
400
样式输出:
153
370
371
#include
intmain()
{
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;
}
18.题目标题:
百马百担问题
题目描述:
百马百担问题:
有n1匹马,驮n2担货,大马驮3担,中马驮2担,两匹小马驮1担,问有多少种驮法?
注意:
每种马至少有1匹.
输入描述:
两个整数n1(马匹数)和n2(担货数)。
输出描述:
驮法数。
样式输入:
100100
样式输出:
6
#include
intmain()
{
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*x)==n2)
sum++;
}
printf("%d",sum);
return0;
}
19.题目标题:
函数求解1/n的累乘
题目描述:
利用自定义函数编写程序,求下面的式子:
Y=1*1/2*1/3……*1/n(n的数值由键盘输入,n<=10)
输入描述:
输入一个正整数
输出描述:
输出为小数,保留小数点后12位有效数字。
样式输入:
3
样式输出:
0.166********7
#include
#include
#include
intmain()
{
intn,i;
doublet=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
t/=i;
printf("%.12lf",t);
return0;
}
20.题目标题:
整数的分解)
题目描述:
将一个正整数分解质因数。
例如:
输入90,打印出90=2*3*3*5。
输入描述:
输入一个正整数。
输出描述:
等式左边输出整数,等式右边整数相乘形式。
样式输入:
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;
}