本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+… 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留三位小数。
输入样例:
5
输出样例:
0.917
#include
#include
int main()
{
int n,i;
double sum;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=pow((-1),(i-1))*i/(2*i-1);
}
printf("%.3f\n",sum);
}
本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
10 31
输出样例:
7 143
#include
int main()
{
int j,i;
int m,n;
int num=0,sum=0;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
for(j=2;j<=i;j++)
{
if(i%j==0)
break;
}
if(j==i)
{
sum += i;
num++;
}
}
printf("%d %d\n",num,sum);
}
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。
输入样例:
20
输出样例:
32.66
#include
int main()
{
int n,i;
double sum,m=2,s=1,t;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+m/s;
t=m;
m=s+m;
s=t;
}
printf("%.2f",sum);
}
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?
输入格式:
输入在一行中给出正整数N(1
输出格式:
在一行中输出第一天共摘了多少个桃子。
输入样例:
3
输出样例:
10
#include
int main()
{
int d,x1=0,x2=1;
scanf("%d",&d);
for(int i=d;i>1;i--)
{
x1=(x2+1)*2;
x2=x1;
}
printf("%d",x1);
}
本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。
输入格式:
输入在一行中给出精度eps,可以使用以下语句来读输入:
scanf("%le", &eps);
输出格式:
在一行内,按照以下格式输出π的近似值(保留小数点后5位):
PI = 近似值
输入样例:
1E-5
输出样例:
PI = 3.14158
#include
int main()
{
double fun(double eps);
double eps;
scanf("%le",&eps);
printf("PI = %.5lf",fun(eps));
}
double fun(double eps)
{
int i;
double a=1,pi=1;
for(i=1;a>=eps;i++){
a=a*i/(2*i+1);
pi+=a;
}
return(2*pi);
}
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。
下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。
输入格式:
输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。
输出格式:
对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。
输入样例:
2
M 1.75
F 1.8
输出样例:
1.61
1.96
#include
int main()
{
int n;
float h;
char sex;
scanf("%d\n",&n);
{
while(n--)
{
scanf("%c %f\n",&sex,&h);
if(sex=='M')
{
printf("%.2f\n",h/1.09);
}
else
{
printf("%.2f\n",h*1.09);
}
}
}
}
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 随机输入一个整数n,求得 Fn除以10086的余数是多少
输入格式:
输入一个整数n
输出格式:
输出一个整数Fn除以10086的余数
输入样例:
3
输出样例:
2
#include
int main()
{
int i,n,f1=1,f2=1,fn;
scanf("%d",&n);
if(n==1||n==2)
fn=1;
else
{
for(i=3;i<=n;i++)
{
fn=f1%10086+f2%10086;
f1=f2;
f2=fn;
}
}
printf("%d",fn);
}
本题要求编写程序,输入一行字符,统计其中数字字符、空格和其他字符的个数。建议使用switch语句编写。
输入格式:
输入在一行中给出若干字符,最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照
blank = 空格个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。请注意,等号的左右各有一个空格,逗号后有一个空格。
输入样例:
在这里给出一组输入。例如:
Reold 12 or 45T
输出样例:
在这里给出相应的输出。例如:
blank = 3, digit = 4, other = 8
#include
int main()
{
int b=0,d=0,o=0;
char c;
while((c=getchar())!='\n')
{
if(c==' ') {
b++;
}
else if(c=='0'||c=='1'||c=='2'||c=='3'||c=='4'||c=='5'||c=='6'||c=='7'||c=='8'||c=='9'){
d++;
}
else {
o++;
}
}
printf("blank = %d, digit = %d, other = %d\n",b,d,o);
}
输入一个整数n,求出1到n的累加和。
输入格式:
输入一个n值。
输出格式:
输出结果。
输入样例:
在这里给出一组输入。例如:
5
输出样例:
在这里给出相应的输出。例如:
15
#include
int main()
{
int i,n,sum;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum+i;
printf("%d",sum);
}
计算1+3+5+7+…+99+101的值。
输入格式:
无需输入。
输出格式:
按输出样例的形式输出累加的结果。
输入样例:
输出样例:
sum=2601
#include
int main()
{
int i,sum;
for(i=1;i<=101;i+=2)
{
sum=sum+i;
}
printf("sum=%d",sum);
}
计算1∗2∗3+3∗4∗5+…+99∗100∗101
输入格式:
无需输入。
输出格式:
按输出样例的形式输出累加的结果。
输入样例:
输出样例:
sum=13002450
#include
int main()
{
int i,sum=0;
for(i=1;i<100;i+=2)
{
sum=sum+i*(i+1)*(i+2);
}
printf("sum=%d",sum);
}
计算a+aa+aaa+…+aa…a(n个a)的值,a和n的值由键盘输入。a和n均为正整数,累加的结果定义为双精度实型。
输入格式:
a和n的值在一行输入,中间以空格分隔。
输出格式:
输出时结果只保留整数部分,并按输出样例的形式输出。
输入样例:
2 5
输出样例:
在这里给出相应的输出。例如:
sum=24690
#include
int main()
{
int i,a,n;
double t,sum=0;
scanf("%d %d",&a,&n);
t=a;
for(i=1;i<=n;i++)
{
sum+=t;
t=a+t*10;
}
printf("sum=%.0lf",sum);
}
读入1个10以内的正整数X(程序内变量名不一定是X,自定),输出1到X间(含X)所有数的平方根表。
输入格式:
输入一个正整数X的值。
输出格式:
分行输出1到X之间所有数的平方根,取两位小数。
输入样例:
在这里给出一组输入。例如:
4
输出样例:
在这里给出相应的输出。例如:
1.00
1.41
1.73
2.00
#include
#include
int main()
{
int x,i;
double a;
scanf("%d",&x);
for(i=1;i<=x;i++)
{
a=sqrt(i);
printf("%.2lf\n",a);
}
}
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。
请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。
输入格式:
输入:一个整数n,表示开始购买的饮料数量(0
输出格式:
输出:一个整数,表示实际得到的饮料数
输入样例:
在这里给出一组输入。例如:
100
输出样例:
在这里给出相应的输出。例如:
149
#include
int main()
{
int n,sum;
scanf("%d",&n);
while((n/3)>0)
{
sum=sum+n;
n=n/3;
}
printf("%d\n",sum);
}
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
输出样例:
A B C D
E F G
H I
J
#include
int main()
{
int i,n,m=65;
scanf("%d",&n);
for(;n>0;n--)
{
for(i=1;i<=n;i++)
{
printf("%c ",m);
m++;
}
printf("\n");
}
}
所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。
输入格式:
输入在一行中给出2个正整数m和n(1
输出格式:
逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + … + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。
输入样例:
2 30
输出样例:
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14
#include
int main()
{
int i,j,m,n,s,k,count=0;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
s=0;
for(j=1;j<i;j++)
{
if(i%j==0)
{
s+=j;
}
}
if(s==i)
{
printf("%d = 1",i);
for(k=2;k<i;k++)
{
if(i%k==0)
{
printf(" + %d",k);
}
}
printf("\n");
count++;
}
}
if(count==0)
{
printf("None\n");
}
return 0;
}
求1!+3!+5!+……+n!的和,要求用循环嵌套设计,n<12。
输入格式:
输入在一行中给出一个不超过12的正整数n。
输出格式:
在一行中按照格式“n=n值,s=阶乘和”的顺序输出,其中阶乘和是正整数。
输入样例:
5
输出样例:
n=5,s=127
#include
int main()
{
int i,k,n,s=0,f=1;
scanf("%d",&n);
for(i=1;i<=n;i+=2)
{
for(k=1;k<=i;k++)
{
f = f*k;
}
s += f;
f = 1;
}
printf("n=%d,s=%d",n,s);
}
本题要求输出2到n之间的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。
输入格式:
输入在一行中给出一个长整型范围内的整数。
输出格式:
输出素数,每个数占6位,每行输出10个。如果最后一行输出的素数个数不到10个,也需要换行。
输入样例:
10
输出样例:
2 3 5 7
#include
int main()
{
int i,j,n,m=0;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
for(j=2;j<=i;j++)
{
if(i%j==0) break;
}
if(j==i)
{
printf("%6d",i);
m++;
if(m%10==0&&m%10<10)
{
printf("\n");
}
}
}
return 0;
}
本题要求对任意给定的一位正整数N,打印从N到1的上三角乘法口诀表(详见样例)。
输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。
输出格式:
输出上三角N*N部分口诀表,其中等号右边数字占4位、左对齐。
输入样例:
6
输出样例:
16=6 26=12 36=18 46=24 56=30 66=36
15=5 25=10 35=15 45=20 55=25
14=4 24=8 34=12 44=16
13=3 23=6 33=9
12=2 22=4
1*1=1
#include
int main()
{
int n,i,k;
scanf("%d",&n);
while(n>0)
{
for(i=1;i<=n;i++)
{
k=i*n;
printf("%d*%d=%-4d",i,n,k);
}
printf("\n");
n--;
}
return 0;
}
公鸡每只5元,母鸡每只3元,小鸡1元3只,而且鸡必须整只买。100元钱买100只鸡(每一种鸡都要有),公鸡、母鸡、小鸡各多少只?请编写程序给出各种购买方案。
输入格式:
输入为一个正整数n,表示要求输出前n种可能的方案。方案的顺序,是按照公鸡只数从少到多排列的。
输出格式:
显示前n种方案中公鸡、母鸡、小鸡各多少只。每行显示一种方案,数字之间空一格,最后一个数字后没有空格。
注意:如果全部方案不到n种,就顺序输出全部可能的方案。
输入样例:
5
输出样例:
在这里给出相应的输出。例如:
4 18 78
8 11 81
12 4 84
#include
int main ()
{
int l=0,x,y,z,n;
scanf("%d",&n);
if(l!=n)
{
for(x = 1;x <= 20;x++)
{
for(y = 1;y <= 34;y++)
{
for(z = 1;z <= 100;z++)
if(x+y+z == 100&&5*x+3*y+z/3 == 100&&z%3 == 0)
{
printf("%d ",x);
printf("%d ",y);
printf("%d",z);
printf("\n");
l++;
if(l==n) break;
}
if(l==n) break;
}
if(l==n) break;
}
}
return 0;
}
输出1000以内所有各位数字之和为n的正整数,例如:如果输入的n是6,那么,105的各位数字之和1+0+5=6, 123的各位数字之和1+2+3=6,两者都满足要求。每行输出6列,每个整数占8位宽度右对齐。
输入格式:
从键盘输入整数n的值。
输出格式:
每行输出6列,每个整数占8位宽度右对齐。如果最后一行不足6列,也需要换行。
输入样例:
在这里给出一组输入。例如:
6
输出样例:
在这里给出相应的输出。例如:
6 15 24 33 42 51
60 105 114 123 132 141
150 204 213 222 231 240
303 312 321 330 402 411
420 501 510 600
#include
int main()
{
int a,b,c,n,i,m=0;
scanf("%d",&n);
for(i=1;i<1000;i++)
{
a=i%10;
b=i%100/10;
c=i/100;
if(a+b+c==n)
{
printf("%8d",i);
m++;
if(m%6==0&&m%6<6) printf("\n");
}
}
}
编写一段程序,输入一个整数,像右面这样显示出输入整数层的金字塔形状。
提示: 第 i 行显示(i-1)×2 +1 个 ‘* ’
输入样例:
3
#include
int main ()
{
int n,i,j,k;
scanf("%d",&n);
printf("让我们来画一个金字塔。\n");
printf("金字塔有几层:\n");
for (i=1; i<=n; i++)
{
for (j=1; j<=n-i; j++)
{
printf(" ");
}
for(k=1; k <= (2*i-1); k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
求1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的和
输入格式:
输入一个整数。
输出格式:
输出所求的和。
输入样例:
在这里给出一组输入。例如:
3
输出样例:
在这里给出相应的输出。例如:
sum = 10
#include
int main()
{
int i,k,n,sum=0,s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(k=1;k<=i;k++)
{
s=s+k;
}
sum+=s;
s=0;
}
printf("sum = %d",sum);
}
本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。
输入格式:
输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。
输出格式:
按照以下格式输出:
average = 成绩均值
count = 及格人数
其中平均值精确到小数点后一位。
输入样例:
5
77 54 92 73 60
输出样例:
average = 71.2
count = 4
#include
int main()
{
int i,n;
int count=0;
double average;
double sum=0.0;
scanf("%d",&n);
int a[n];
if(n==0){
printf("average = 0.0\n");
printf("count = 0");
}
else{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
sum=sum+a[i];
if(a[i]>=60){
count++;
}
}
average=(sum*1.0)/n;
printf("average = %.1lf\n",average);
printf("count = %d",count);
return 0;
}
}