n),请问每位同学平均可" />
文档库 最新最全的文档下载
当前位置:文档库 › 题目1000-1099

题目1000-1099

题目

1000: 整数a+b
题目描述
计算两个整数的和。输入输入为两个32位有符号的整数a,b,两个整数用空格隔开输出输出为两个整数的和,单独占一行
样例输入1 1
样例输出2
提示

#include
main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}

1001: 植树问题
题目描述
某学校植树节开展植树活动,已知树苗有m株,参加植树的同学有n人(且m>n),请问每位同学平均可以植树几株?还有几株剩余?输入输入两个整数m和n,分别表示树苗的数量和学生的人数(m>n)。输出输出每位同学平均植树的数量及剩余的树苗数量。
样例输入163 32
样例输出5 3
提示

#include
main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d %d\n",m/n,m%n);
return 0;
}

1002: 简单多项式求值
题目描述
求以下多项式的值:y=2x2+x+8输入输入整数x的值。输出计算并输出y的值。
样例输入1
样例输出11
提示

#include
main()
{
int x,y;
scanf("%d",&x);
y=2*x*x+x+8;
printf("%d\n",y);
return 0;
}

1003: 两个整数的四则运算
题目描述
输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和、差、积、整数商及余数。
输入输入只有两个正整数num1、num2。输出输出占一行,包括两个数的和、差、积、商及余数,数据之间用一个空格隔开。
样例输入1 2
样例输出3 -1 2 0 1
提示

#include
main()
{
int x,y;
scanf("%d%d",&x,&y);
printf("%d %d %d %d %d\n",x+y,x-y,x*y,x/y,x%y);
return 0;
}

1004: 三位数的数位分离
题目描述
从键盘输入一个任意的3位正整数,分别求出其个位、十位和百位上的数字。输入输入任意的一个三位正整数。输出依次输出个位、十位、百位上的数字。以空格间隔,但最后一个数据的后面没有空格,直接换行。
样例输入367
样例输出7 6 3
提示

#include
main()
{
int x,ge,shi,bai;
scanf("%d",&x);
ge=x%100%10;
shi=x%100/10;
bai=x/100;
printf("%d %d %d\n",ge,shi,bai);
return 0;
}

1005: 整数幂
题目描述
输入3个整数,输出它们的1次幂、2次幂和3次幂。输入输入3整数,用空格隔开输出输出3行,每行3个整数,分别是它们的1次幂、2次幂和3次幂,每个整数占9列,不足9列左对齐
样例输入1 5 100
样例输出111525 125 100 100001000000
提示

#include
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%-9d%-9d%-9d\n%-9d%-9d%-9d\n%-9d%-9d%-9d\n",
a,a*a,a*a*a,
b,b*b,b*b*b,
c,c*c,c*c*c);
return 0;
}

1006: 求等差数列的和
题目描述
给出三个整数,分别表示等差数列的第一项、最后一项和公差,求该数列的和。输入输入三个整数,之间用空格隔开。第1个数作为首项,第2个数作为末

项,第3个数作为公差.输出输出占一行,包含一个整数,为该等差数列的和。
样例输入2 11 3
样例输出26
提示

#include
int main()
{
int a,b,c,n,sum;
scanf("%d%d%d",&a,&b,&c);
n=(b-a)/c+1;
sum=n*(a+b)/2;
printf("%d\n",sum);
return 0;
}

1007: 鸡兔同笼
题目描述
鸡和兔关在一个笼子里,鸡有2只脚,兔有4只脚,没有例外。已知现在可以看到笼子里m个头和n只脚,求鸡和兔子各有多少只?输入输入两个整数m和n,分别代表笼子里头的个数和脚的个数。(假设m和n都在合法的数据范围内)输出依次输出鸡和兔的只数。(数字为0的也要输出)
样例输入12 40
样例输出4 8
提示

#include
int main()
{
int m,n,j,t;
scanf("%d%d",&m,&n);
t=n/2-m;
j=(4*m-n)/2;
printf("%d %d\n",j,t);
return 0;
}

1008: 美元和人民币
题目描述
美元越来越贬值了,手上留有太多的美元似乎不是件好事。赶紧算算你的那些美元还值多少人民币吧。假设美元与人民币的汇率是1美元兑换6.5573元人民币,编写程序输入美元的金额,输出能兑换的人民币金额。输入输入美元的金额。输出输出能兑换的人民币的数值。输出保留2位小数。
样例输入100
样例输出655.73
提示
建议用double

#include
int main()
{
float m;
scanf("%f",&m);
printf("%.2f\n",m*6.5573);
return 0;
}

1009: 求平均分
题目描述
已知某位学生的数学、英语和计算机课程的成绩,求该生三门课程的平均分。输入输入三个整数,数据之间由空格隔开。输出输出占一行,包含一个实数,为三门课的平均分,保留两位小数。
样例输入87 73 93
样例输出84.33
提示

#include
int main()
{
int a,b,c;
float ave;
scanf("%d%d%d",&a,&b,&c);
ave=(a+b+c)/3.0;
printf("%.2f\n",ave);
return 0;
}

1010: 求圆的周长和面积
题目描述
输入圆的半径,求圆的周长和面积。
要求定义圆周率为如下宏常量 #define PI 3.14159输入输入半径r的值,为一实数。输出输出一行,包括周长和面积。数据之间用一个空格隔开,数据保留小数后面两位。
样例输入3
样例输出18.85 28.27
提示

#include
#define PI 3.14159

main()
{
double r,c,s;
scanf("%lf",&r);
c=2*PI*r;
s=PI*r*r;
printf("%.2lf %.2lf\n",c,s);
return 0;
}

1011: 圆柱体表面积
题目描述
输入圆柱体的底面半径r和高h,计算圆柱体的表面积并输出到屏幕上。要求定义圆周率为如下宏常量#define PI 3.14159输入输入两个实数,为圆柱体的底面半径r和高h。
输出输出一个实数,即圆柱体的表面积,保留2位小数。
样例输入42.1 71.6
样例输出30076.14
提示

#include
#define PI 3.14159

main()
{
double r,s,h;
scanf("%lf%lf",&r,&h);
s=2*PI*r*r+2*PI

*r*h;
printf("%.2lf\n",s);
return 0;
}

1012: 求绝对值
题目描述
求实数的绝对值。输入输入一个实数。输出输出它的绝对值,结果保留两位小数
样例输入-234.00
样例输出234.00
提示

#include
#define PI 3.14159

main()
{
double a;
scanf("%lf",&a);
if(a<0) a=-a;
printf("%.2lf\n",a);
return 0;
}

1013: 求两点间距离
题目描述
给定A(x1, y1), B(x2, y2)两点坐标,计算它们间的距离。输入输入包含四个实数x1, y1, x2, y2,分别用空格隔开,含义如描述。其中0≤x1,x2,y1,y2≤100。
输出输出占一行,包含一个实数d,表示A, B两点间的距离。结果保留两位小数。
样例输入1 1 2 2
样例输出1.41
提示

#include
#include

int main()
{
double x1,y1,x2,y2,dist;
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
dist=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("%.2lf\n",dist);
return 0;
}

1014: 求三角形的面积
题目描述
给出三角形的三条边,求三角形的面积。输入输入三角形的三条边长(实数),数据之间用空格隔开。输出输出三角形的面积,结果保留2位小数。
样例输入2.5 4 5
样例输出4.95
提示
用海伦公式或其他方法均可。

#include
#include

int main()
{
double a,b,c,s,p;
scanf("%lf%lf%lf",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.2lf\n",s);
return 0;
}

1015: 二次方程的实根
题目描述
编程计算并输出一元二次方程ax^2+bx+c=0的两个实根,其中a、b、c的值由用户从键盘输入,假设a、b、c的值能保证方程有两个不相等的实根(即b^2-4ac>0)。
输入输入三个实数,以空格隔开。
输出输出两个实数,每个数据占7列、小数点后保留两位小数,不足7列右对齐
样例输入2 6 1
样例输出 -0.18 -2.82
提示
注意%m.nf的作用

#include
#include

int main()
{
double a,b,c,x1,x2,d;
scanf("%lf%lf%lf",&a,&b,&c);
d=sqrt(b*b-4*a*c);
x1=(-b+d)/(2*a);
x2=(-b-d)/(2*a);
printf("%7.2lf%7.2lf\n",x1,x2);
return 0;
}

1016: 银行利率
题目描述
设行1年期定期存款年利率为2.25%,存款本金为capital元,试编程计算并输出n年后的本利之和。
输入输入一个正整数和一个实数,分别代表存款年数和存款本金。输出输出一个双精度实数,小数点后保留6位有效数字。
样例输入2 100
样例输出104.550625
提示
使用math.h中的数学函数

#include
#include
int main()
{
int y;
double c,sum;
scanf("%d%lf",&y,&c);
sum=pow(1+0.0225,y)*c;
printf("%.6lf\n",sum);
return 0;
}

1017: 计算位数
题目描述
给你一个整数n(0≤n<100000),请计算出这个数的位数。
输入整数n(0≤n<100000)输出输出整数n的位数,占一行。


例输入10
样例输出2
提示
n==0时如何处理。

#include
int main()
{
int n,d;
scanf("%d",&n);
d=0;
if(n==0) d=1;
while(n!=0)
{
n/=10;
d++;
}
printf("%d\n",d);
return 0;
}

1018: 正数负数
题目描述
输入一个整数,判断该数是正数还是负数。(不考虑数字0)输入输入整数n。
输出如果该数是正数就输出“positive”,负数就输出“negative”(输出不含双引号)。

样例输入8
样例输出positive
提示

#include
int main()
{
int n;
scanf("%d",&n);
if(n>0) printf("positive\n") ;
if(n<0) printf("negative\n") ;
return 0;
}

1019: 奇数偶数
题目描述
输入一个整数,判断该数是奇数还是偶数。
输入输入整数n。
输出如果该数是奇数就输出“odd”,偶数就输出“even”(输出不含双引号)。
样例输入8
样例输出even
提示

#include
int main()
{
int n;
scanf("%d",&n);
if(n%2==0) printf("even\n");
else printf("odd\n") ;
return 0;
}

1020: 公园门票
题目描述
某公园门票的票价是每人50元,一次购票满30张,每张可以少收2元。试编写自动计费系统程序。
输入输入一个正整数,表示购票的数量。
输出输出一个实数,表示用户实际需要支付的金额,保留两位小数。
样例输入30
样例输出1440.00
提示

#include
int main()
{
int n;
double s;
scanf("%d",&n);
if(n>=30) {
s=48*n;
printf("%.2f\n",s);}
else {s=50*n;printf("%.2f\n",s) ;}
return 0;
}

1021: 两个整数的最大值
题目描述
从键盘输入任意两个整数,求出其中较大的整数并输出。
输入输入两个整数。
输出输出较大的整数。
样例输入3 9
样例输出9
提示

#include
int main()
{
int a,b;
scanf("%d%d",&a,&b);
if(a>b) printf("%d\n",a);
else printf("%d\n",b) ;
return 0;
}

1022: 两整数排序
题目描述
从键盘输入两个整数x,y,按从小到大的顺序输出它们的值。
输入输入两个整数x,y。
输出按从小到大的顺序输出它们的值。数据之间以空格间隔。

样例输入20 16
样例输出16 20
提示

#include
int main()
{
int a,b,t;
scanf("%d%d",&a,&b);
if(a>b) {t=a;a=b;b=t;printf("%d %d\n",a,b);}
else printf("%d %d\n",a,b) ;
return 0;
}


1023: 三数求大值
题目描述
从键盘输入三个整数x,y和z,求出其中最大的数。
输入输入三个整数,用空格隔开。
输出输出最大整数。
样例输入20 16 18
样例输出20
提示

#include
int main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
max=a;
if(b>max) max=b;
if(c>max) max=c;
printf("%d\n",max);
return 0;
}

1024: 三整数排序
题目描述
从键盘输入三个整数x,y和z,按从大到小的顺序输出它们的

值。
输入输入三个整数x,y和z。
输出按从大到小的顺序输出它们的值。

样例输入20 16 18
样例输出20 18 16
提示

#include
int main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(b>a) {t=a;a=b;b=t;}
if(c>a) {t=a;a=c;c=t;}
if(c>b) {t=b;b=c;c=t;}
printf("%d %d %d\n",a,b,c);
return 0;
}

1025: 大小写转换
题目描述
输入一个字母,若是小写字母,则变为大写输出,否则,原样输出。
输入输入为一个字符。
输出按题目要求输出一个字符,单独占一行。
样例输入a
样例输出A
提示

#include
int main()
{
char ch;
ch=getchar();
if(ch>='A' && ch<='Z') printf("%c\n",ch);
if(ch>='a' && ch<='z') printf("%c\n",ch-32);
return 0;
}

1026: 计算字母序号
题目描述
输入一个英文字母(可能是大写,也可能是小写),输出该字母在字母表中的序号(’a’和’A’的序号为1)。
输入输入只有一个英文字母。
输出输出一个整数,表示该字母在字母表的序号,输出单独占一行。
样例输入D
样例输出4
提示

#include
int main()
{
char ch;
ch=getchar();
if(ch>='A' && ch<='Z') printf("%d\n",ch-64);
if(ch>='a' && ch<='z') printf("%d\n",ch-96);
return 0;
}

1027: 最大字符
题目描述
给你三个ASCII字符(不含空白字符:包括空格、制表符\t、回车换行符\n),找出其中最大的那个输入输入包含三个字符,之间有一个空格隔开。输出输出ASII码最大的那个字符,占一行。
样例输入a b c
样例输出c
提示

#include
int main()
{
char a,b,c,d,max;
scanf("%c %c %c",&a,&b,&c);
if(a>b) d=a;
else d=b;
if(d>c) max=d;
else max=c;
printf("%c\n",max);
return 0;
}

1028: 字符类型判断
题目描述
从键盘输入一个字符,判断该字符是否大写字母、小写字母、数字字符或其他字符。分别输出对应的
提示
信息。
输入输入一个字符。
输出如果该字符是大写字母,则输出“upper”;若是小写字母,则输出“lower”;若是数字字符,则输出“digit”;若是其他字符,则输出“other”。(输出不含双引号)。
样例输入1
样例输出digit
提示

#include
int main()
{
char ch;
ch=getchar();
if(ch>='0' && ch<='9') printf("digit\n");
else if(ch>='A' && ch<='Z') printf("upper\n");
else if(ch>='a' && ch<='z') printf("lower\n");
else printf("other\n");
return 0;
}

1029: 判断水仙花数
题目描述
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33。
现在要求输入一个三位数,判断该数是否是水仙

花数,如果是,输出“yes”,否则输出“no”输入输入一个三位的正整数。输出输出“yes”或“no”。
样例输入153
样例输出yes
提示

#include
int main()
{
int a,b,c,m,n,i;
scanf("%d",&m);
a=m/100;
b=(m/10)%10;
c=m%10;
if(m==a*a*a+b*b*b+c*c*c)
printf("yes\n");
else
printf("no\n");
return 0;
}

1030: I love 闰年!
题目描述
根据一个年份,判断是否是闰年。输入输入为一个整数,表示一个年份。
输出如果是闰年,输出"Yes",否则输出"No"。输出单独占一行。
样例输入2012
样例输出Yes
提示

#include
int main()
{
int year;
scanf("%d",&year);
if (year%4==0&&year%100!=0||year%400==0)
printf("Yes\n");
else printf("No\n");
return 0;
}

1031: 三角形判定
题目描述
给你三个正整数,判断用这三个整数做边长是否能构成一个三角形。输入输入为三个正整数(32-int),中间有一个空格隔开。输出如果能构成三角形,输出"Yes",否则输出"No"
样例输入3 4 5
样例输出Yes
提示

#include
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a-bb&&a-ca&&b-cprintf("Yes\n");
else printf("No\n");
return 0;
}

1032: 判断直角三角形
题目描述
输入三个非负整数,判断用这三个整数做边长是否能构成一个直角三角形。输入输入三个非负整数。输出能否构成直角三角形。如能输出:yes.若不能,输出:no。
样例输入6 8 10
样例输出yes
提示
注意,不能构成三角形的情况应该输出"no", 比如若输入0 2 2,则应该输出"no"。

#include
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a-bb&&a-ca&&b-c{
if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
printf("yes\n");
else printf("no\n");
}
else printf("no\n");
return 0;
}

1033: 判断点在第几象限
题目描述
从键盘输入2个整数x、y值,表示平面上一个坐标点,判断该坐标点处于第几象限,并输出相应的结果。输入输入x,y值表示一个坐标点。坐标点不会处于x轴和y轴上,也不会在原点。输出输出对应的象限,用数字1,2,3,4分别对应四个象限。
样例输入1 1
样例输出1
提示

#include
int main()
{
int x,y;
scanf("%d%d",&x,&y);
if(x>0&&y>0) printf("1\n");
else if(x<0&&y>0) printf("2\n");
else if(x<0&&y<0) printf("3\n");
else if(x>0&&y<0) printf("4\n");
return 0;
}

1034: 员工薪水
题目描述
某公司规定,销售人员工资由基本工资和销售提成两部分组成,其中基本工资是1500元/月,销售提成规则如下:销售额小于等于10000元时,按照5%提成;销售额大于10000元但小于等于50000元时,超出10000部分按照3%提成;销售额大于50000元时,超出50000部

分按照2%提成。
编写程序,根据销售额计算员工收入。
输入输入一个整数表示销售额输出输出员工的薪水,保留2位小数。
样例输入30000
样例输出2600.00
提示

#include
int main()
{
int sale,s1,s2,s3;
const int b = 1500;
scanf("%d",&sale);
if(sale<=10000) printf("%.2f\n",sale*0.05+b);
else if(sale>10000&&sale<=50000) printf("%.2f\n",(sale-10000)*0.03+10000*0.05+b);
else if(sale>50000) printf("%.2f\n",(sale-50000)*0.02+(50000-10000)*0.03+10000*0.05+b);
return 0;
}

1035: 数学考试
题目描述
输入圆的的半径r和一个整型数k,当k=1时,计算圆的面积;但k=2时,计算圆的周长,当k=3时,既要求求圆的周长也要求出圆的面积。编程实现以上功能。圆周率为3.1415926。输入输入圆的的半径r(实数)和一个整型数k。输出输出占一行。当k=1时,输出圆的面积;当k=2时,输出圆的周长,当k=3时,既要求求圆的周长也要求出圆的面积。要求保留2位小数,数据之间用空格隔开。
样例输入1 2
样例输出6.28
提示

#include
#define PI 3.1415926
int main()
{
int k;
double r,s,c;
scanf("%lf%d",&r,&k);
switch(k)
{
case 1:
s=PI*r*r;
printf("%.2f\n",s);
break;
case 2:
c=PI*r*2;
printf("%.2f\n",c);
break;
case 3:
s=PI*r*r;
c=PI*r*2;
printf("%.2f %.2f\n",c,s);
break;

}
return 0;
}

1036: 五级制成绩
题目描述
给定一个百分制成绩, 请根据百分制成绩输出其对应的等级。转换关系如下: 90分以上为’A’,80~89为’B’, 70~79为’C’, 60~69为’D’,60分以下为’E’。
输入一个百分制成绩(0~100的整数)。输出输出对应的等级
样例输入100
样例输出A
提示

#include
int main()
{
int x,y;
scanf("%d",&y);
switch((y<=100&&y>=90&&(x=1))||(y<=89&&y>=80&&(x=2))||(y<=79&&y>=70&&(x=3))||(y<=69&&y>=60&&(x=4))||(y<=60&&y>=0&&(x=5)),x)
{
case 1:
printf("A\n");break;
case 2:
printf("B\n"); break;
case 3:
printf("C\n"); break;
case 4:
printf("D\n"); break;
case 5:
printf("E\n"); break;
}
return 0;
}

1037: 夏季促销
题目描述
商场夏季促销,购物500元以下,不打折;购物500元(含)以上,95折;购物1000元(含)以上,9折;购物3000元(含)以上,85折;购物5000元(含)以上,8折。根据消费金额,确定用户实际需要支付的数目。输入输入一个实数,表示消费金额。输出输出一个实数,表示用户实际需要支出的数目,保留两位小数。
样例输入5100
样例输出4080.00
提示

#include
int main()
{
double sale;
scanf("%lf",&sale);
if(sale<500&&sale>=0) printf("%.2f\n",sale);
else if (sale<1000&&sale>=500) printf("%.2f\n",sale*0.95);
else if (sale<3000&&sale>=1000) printf("%.2f\n",sal

e*0.9);
else if (sale<5000&&sale>=3000) printf("%.2f\n",sale*0.85);
else if (sale>=5000) printf("%.2f\n",sale*0.8);
return 0;
}

1038: 分段函数求值
已知:y是x的函数, 当x<-2时,y=7-2x; 当x>=-2,且x<3时,y=5-|3x+2|; 当x>=3时,y=3x+4 输入任意输入一个整数x。输出输出为一个整数,即x对应的函数值。
样例输入2
样例输出-3
提示

#include
#include
int main()
{
int x;
scanf("%d",&x);
if(x<-2) printf("%d\n",7-2*x);
else if(x>=-2&&x<3) printf("%d\n",5-abs(3*x+2) );
else if(x>=3) printf("%d\n",3*x+4);
return 0;
}

1039: 某年某月有多少天
题目描述
给你一个年份和月份,求该月有多少天 输入一个年份(正整数),一个月份(1-12),中间有一个空格隔开输出该月的天数,单独占一行。
样例输入2012 2
样例输出29
提示

#include
int main()
{
int year,month,days;
scanf("%d%d",&year,&month);
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("%d\n",31);
break;

case 4:
case 6:
case 9:
case 11:printf("%d\n",30);

break;
case 2:
if(!(year%4)&&(year%100)||!(year%400)!=0) printf("%d\n",29);
else printf("%d\n",28);
break;
}
return 0;
}

1040: 四则运算
题目描述
给你一个简单的四则运算表达式,包含两个实数和一个运算符,请编程计算出结果 输入表达式的格式为:s1 $ s2, s1和s2是两个实数,'$'表示的是运算符(+,-,*,/),也可能是其他字符 输出如果运算符合法,输出表达式的值;若运算符不合法或进行除法运算时除数是0,则输出"Wrong input!"。最后结果小数点后保留两位。
样例输入1.0 + 1.0
样例输出2.00
提示
除数是0,用|s2|<1e-10(即10的-10次方)判断

#include
#include
int main()
{
double a,b;
char ch;
scanf("%lf %c %lf",&a,&ch,&b);
if(ch=='+') printf("%.2f\n",a+b);
else if(ch=='-') printf("%.2f\n",a-b);
else if(ch=='*') printf("%.2f\n",a*b);
else if(ch=='/'&&fabs(b)>=1e-10) printf("%.2f\n",a/b);
else printf("Wrong input!");
return 0;
}

1041: 绝对值最大
题目描述
输入3个整数,输出绝对值最大的那个数。
输入输入包含3个int范围内的整数,用空格隔开。
输出输出三个数中绝对值最大的数,单独占一行。若绝对值最大的数不唯一,则输出最先出现的那个。例如,若输入为1 -3 3,则输出为-3;若输入为1 3 -3则输出为3。
样例输入1 2 -3
样例输出-3
提示

#include
#include
int main()
{
int a,b,c,max,t;
scanf("%d%d%d",&a,&b,&c);
max=abs(a);t=a;
if(abs(b)>max) {max=abs(b);t=b;}
if(abs(c)>max) {max=abs(c);t=c;}
printf("%d\n",t);
return 0;
}

1042: n个数求和
题目描述
输入一个整数n和n个整数,输出这n个整数的和。

输入输入有两行:第一行是一个正整数n,第二行是n个整数。输出输出一个整数,即n个数的和。输出单独占一行。
样例输入37 3 2
样例输出12
提示

#include
int main()
{
int x,n,i,sum=0;
scanf("%d",&n);
for(i=0;i{
scanf("%d",&x);
sum+=x;
}
printf("%d\n",sum);
return 0;
}

1043: 累加和
题目描述
求1+2+3+...
.+n的值。输入输入只有一个型正整数n(n<=60000)。输出输出一个整数,即1到n的累加和。
样例输入3
样例输出6
提示

#include
int main()
{
int n,i,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++) sum+=i;
printf("%d\n",sum);
return 0;
}

1044: 数列求和1
题目描述
输入一个整数n,输出数列1+1/2+1/3+……前n项的和。输入输入只有一个正整数n。输出输出要求结果保留2为小数,单独占一行。
样例输入3
样例输出1.83
提示

#include
int main()
{
int n,i;
float sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=1.0/i;
}
printf("%.2f\n",sum);
return 0;
}

1045: 数列求和2
题目描述
输入一个整数n,输出数列1+1/3+1/5+……前n项的和。
输入输入只有一个正整数n。输出结果保留2为小数,单独占一行
样例输入3
样例输出1.53
提示

#include
int main()
{
int n,i;
float sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=1.0/(2*i-1);
}
printf("%.2f\n",sum);
return 0;
}

1046: 数列求和3
题目描述
输入一个整数n,输出数列1-1/3+1/5-……前n项的和。输入输入只有一个整数n。
输出结果保留2为小数,单独占一行。
样例输入3
样例输出0.87
提示

#include
int main()
{
int n,i;
float sum=0,f=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=f/(2*i-1);
f=-f;
}
printf("%.2f\n",sum);
return 0;
}

1047: 数列求和4
题目描述
求1-2/3+3/5-4/7+5/9-6/11+...
的前n项和,结果保留3位小数。输入输入正整数n(n>0)。输出输出一个实数,保留3位小数,单独占一行。
样例输入5
样例输出0.917
提示

#include
int main()
{
int n,i;
float sum=0,f=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=(f*i)/(2*i-1);
f=-f;
}
printf("%.3f\n",sum);
return 0;
}

1048: 最大值
题目描述
输入一个整数n和n个整数,输出这n个整数的最大值。输入输入有两行:第一行是一个正整数n,第二行是n个整数。输出输出包含一个整数,即n个数中的最大值,单独占一行。
样例输入43 7 5 6
样例输出7
提示

#include
int main()
{
int n,i,x,max;
scanf("%d",&n);
if(n>=1) scanf("%d",&x);
max=x;
for(i=2;i<=n;i++)
{
scanf("%d",&x);
if(max>=x) max=max;
else max=x;
}
printf("%d\n",max);
return 0;
}

1049: 不及格率

目描述
输入n和n个学生成绩(实数),输出不及格率。
输入输入的第一行是一个整数n,第二行是n个实数,用空格隔开。输出输出一个实数,表示不及格率,结果保留2位小数,单独占一行。
样例输入8 98 45 86 79 56 75 90 70
样例输出0.25
提示
注意,不及格率为0时,输出0.00

#include
int main()
{
int n,m,i,x;
scanf("%d",&n);
m=0;
for (i = 1; i <= n; i++)
{
scanf("%d",&x);
if(x<60) m++;
}
printf("%.2f\n",(double)m/n);
return 0;
}

1050: 数值统计
统计给定的n个数中,负数、零和正数的个数。输入输入的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个整数输出输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。
样例输入6 0 1 2 3 -1 0
样例输出1 2 3
提示

#include
int main()
{
int n,i,x,a=0,b=0,c=0;
scanf("%d",&n);
if(n<100) for(i=1;i<=n;i++)
{
scanf("%d",&x);
if(x<0) a++;
else if(x>0) c++;
else b++;
}
printf("%d %d %d\n",a,b,c);
return 0;
}

1051: 奇数的乘积
题目描述
给你n个整数,求他们中所有奇数的乘积。输入第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。输出输出n个数中的所有奇数的乘积,占一行。
样例输入5 2 5 4 6 7
样例输出35
提示

#include
int main()
{
int n,i,x,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
if(x%2==0) continue;
else s *= x;
}
printf("%d\n",s);
return 0;
}

1052: 对数表
题目描述
输入两个正整数m和n,输出m到n之间每个整数的自然对数。
输入输入包括两个整数m和n(m<=n),之间用一个空格隔开。
输出每行输出一个整数及其对数,整数占4列,对数占8列,对数保留4位小数。
样例输入2 4
样例输出 2 0.6931 3 1.0986 4 1.3863
提示

#include
#include
int main()
{
int m,n,i;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
printf("%4d%8.4f\n",i,log(i));
}
return 0;
}

1053: 阶乘表
题目描述
输入一个正整数n(n<20),输出1到n之间阶乘表。输入输入只有一个正整数n。输出输出1到n之间的阶乘表,格式见输出样例。每行两个数据,第一个数据占4列,第二个数据占20列,左对齐。
样例输入5
样例输出1 1 2 2 3 6 4 24 5 120
提示

#include
int main()
{
int n,i;
long long s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s = s * i;
printf("%-4d%-20lld\n",i,s);
}
return 0;
}

1054: 平方和与立方和
题目描述
给定两个整数m和n,求出m~n这段连续的整数中所有偶数的平方和以及所有奇数的立方和。输入由两个整数m和n组成,你可以假定m<=n.输出应

包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。
样例输入2 5
样例输出20 152
提示

#include
int main()
{
int x,y,sum1,sum2,i;
scanf("%d %d",&x,&y);
sum1=0; sum2=0;
for(i=x;i<=y;i++)
{
if(i%2==0) sum1+=i*i;
if(i%2!=0) sum2+=i*i*i;
}
printf("%d %d\n",sum1,sum2);
}

1055: 阶乘的累加和
题目描述
求1! + 2! + ……n!输入输入一个整数n,你可以假定n不大于10。输出输出一个整数,即阶乘累加的结果,单独占一行。
样例输入4
样例输出33
提示

#include
int main()
{
int n,s=0,a=1,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a*=i;
s+=a;
}
printf("%d\n",s);
return 0;
}

1056: 求数列的和
题目描述
数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。输入由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。输出输出该数列的和,占一行,要求精度保留2位小数。
样例输入84 4
样例输出97.93
提示

#include
#include
int main()
{
double s,n;
int m,i;
scanf("%lf%d",&n,&m);
s=0;
for(i=0; i{
if(i==0) s=n;
else
{
n=sqrt(n);
s+=n;
}
}
printf("%.2lf\n",s);
return 0;
}

1057: 前n项和
题目描述
输入n和a,求a+aa+aaa+…aa…a(n个a),如当n=3,a=2时,2+22+222的结果为246输入包含两个整数,n和a,含义如上述,你可以假定n和a都是小于10的非负整数输出输出前n项和,单独占一行
样例输入3 2
样例输出246
提示

#include
int main()
{
int a,b,n,i,s=0;
scanf("%d %d",&n,&a);
b=a;
for(i=1;i<=n;i++)
{
s+=a;
a=a*10+b;
}
printf("%d\n",s);
}

1058: 正弦函数
题目描述
输入x,计算上面公式的前20项和。输入输入一个实数x。输出输出一个实数,即数列的前20项和,结果保留3位小数。
样例输入1
样例输出0.841
提示

#include
#include
int main()
{
double x,c,y,f;
int i,a,j;
scanf("%lf",&x);
f=1.0;
y=0;

for(i=1;i<=20;i++)
{ a=2*i-1;
c=1;
for(j=1;j<=a;j++)
c*=j;
y+=f*pow(x,a)/c;
f=-f;
}
printf("%.3lf\n",y);
return 0;

}

1059: 猴子吃桃
题目描述
悟空第一天摘下桃子若干,当即吃掉一半,还不过瘾,又多吃一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?输入输入一个数n(1<=n<=30)。输出输出第一天的桃子个数。
样例输入3
样例输出10
提示

#include
int main()
{
int n,i,x=1;
scanf("%d",&n

);
if(n>=1&&n<=30)
for(i=n;i>1;i--)
x=(x+1)*2;
printf("%d\n",x);
return 0;
}

1060: 兔子繁殖问题
题目描述
这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。按此规律,假设没有兔子死亡,第一个月有一对刚出生的小兔子,问第n个月有多少对兔子?输入输入月数n(1<=n<=44)。输出输出第n个月有多少对兔子。
样例输入3
样例输出2
提示

#include
int main()
{
long f1=1,f2=1,c;
int i,n;
scanf("%d",&n);
if(n>=1&&n<=44)
for(i=3; i<=n; i++)
{
c=f1+f2;
f1=f2;
f2=c;
}
printf("%ld\n",c);
return 0;
}

1061: 整存零取
题目描述
假设银行一年整存零取的月息为x,现在某人手头有一笔钱,他打算在今后5年中,每年年底取出1000元作为孩子来年的教育金,到第5年孩子毕业时刚好取完这笔钱,请编程计算第1年年初时他应存入银行多少钱。输入输入一个实数x,表示月息。输出输出一个实数,小数点后保留两位小数,占一行。
样例输入0.01875
样例输出2833.29
提示

#include
int main()
{
int i;
double x,sum;
sum=0;
scanf("%lf",&x);
for(i=1;i<=5;i++)
sum=(sum+1000)/(1+12*x);
printf("%.2f\n",sum);
return 0;
}

1062: 素数判定
题目描述
输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。输入输入一个正整数n(n<=1000)输出如果n是素数输出"Yes",否则输出"No"。输出占一行。
样例输入2
样例输出Yes
提示

#include
#include
int main()
{
int m,i,k;
scanf("%d",&m);

k=sqrt(m);
if(m==1) printf("No\n");
else if(m<=1000)
{
for(i=2;i<=k;i++)
if(m%i==0) break;
if(i>k) printf("Yes\n");
else printf("No\n");
}
}

1063: 求解不等式
题目描述
已知不等式 1!+2!+3!+...
+m!?n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。输入输入一个正整数n,n不大于1000000。输出输出m的取值范围,具体格式见输出样例。
样例输入1000000
样例输出m<=9
提示
例1:

#include
int main()
{
int i,m=0,n,a=1,s=0;
scanf("%d",&n);
for(i=1;s{
a*=i;
s+=a;
m++;
}
printf("m<=%d\n",m-1);
return 0;
}

例2:
#include
int main()
{
int n,s=0,a=1,i=1,m=0;
scanf("%d",&n);
while(s{
a*=i;
s+=a;
i++;
m++;
}
printf("m<=%d\n",m-1);
return 0;
}

1064: 求解不等式(加强版)
题目描述
已知不等式 1!+2!+3!+...
+m!?n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。输入输入一个整数n,n为int范围内的正整型。输出输出m的取值范围,具体格式见输出

样例。
样例输入2000000000
样例输出m<=12
提示

#include
int main()
{
double s=0,a=1,n;
int i=1,m=0;
scanf("%lf",&n);
while(s{
a*=i;
s+=a;
i++;
m++;
}
printf("m<=%d\n",m-1);
return 0;
}

1065: 最高分
题目描述
输入一批学生的成绩(整数),输出最高分。输入输入包含多个非负整数和一个负整数。该负数不作为有效成绩,只表示输入结束。输出输出一个整数,即最高分。单独占一行。
样例输入 7 6 5 9 2 -1
样例输出9
提示

#include
int main()
{
int s,max;
scanf("%d",&s);
max=s;
while(s>=0)
{
scanf("%d",&s);
if(s>max) max=s;
}
printf("%d\n",max);
return 0;
}

1066: 逆序数字
时间限制: 1 Sec内存限制: 30 MB提交: 706解决: 444[提交][状态][讨论版]

题目描述
输入一个int型整数,将其逆序输出,每个数字后有一个空格。输入输入一个整数n,你可以假设n在int范围内输出将n按其逆序输出,每个数字后有一个空格,输出占一行。例如,输入12354,输出4 5 3 2 1
样例输入12354
样例输出4 5 3 2 1
提示

#include
int main()
{
int i,c,m,n;
scanf("%d",&n);
while(n>0)
{
m=n%10;
n=n/10;
printf("%d ",m);
}
printf("\n");
return 0;
}

1067: 顺序输出各位数字
题目描述
输入一个整数,从高位开始逐位分割并输出各位数字。输入输入一个正整数n,n是int型数据输出依次输出各位上的数字,每一个数字后面有一个空格,输出占一行。例如,输入 12345 ,输出 1 2 3 4 5
样例输入12345
样例输出1 2 3 4 5
提示

#include
#include

int main()
{
int n,i,ws;
int a[100];
scanf("%d",&n);
ws=log10(n)+1;
for(i=0; i{
a[i]=n%10;
n/=10;
}
/*
----------逆序输出-----
for(i=0; i{
if(i==0) printf("%d",a[i] );
else printf(" %d", a[i]);

}
*/

//---------顺序输出
for(i=ws-1; i>0; i--)
{
printf("%d ", a[i]);
}
printf("%d\n", a[i]);

return 0;
}

1068: 最大公约数
题目描述
输入两个正整数,输出其最大公约数。输入输入两个正整数m和n,数据之间用空格隔开。输出输出一个整数,表示m和n的最大公约数。
样例输入4 6
样例输出2
提示

#include
#include
int main()
{
int m,n,t;
scanf("%d%d",&m,&n);
if(m{
t=m;m=n;n=t;
}
while(n!=0)
{
t=m%n;
m=n;
n=t;
}
printf("%d\n",m);
return 0;
}

1069: 最大公约与最小公倍
题目描述
输入两个正整数,输出其最大公约数和最小公倍数。输入输入两个正整数n和m(n,m<=1000000)。输入保证最终结果在int范围内。输出输出两个整数,用空格隔开。表示m和n的最大公约数和最小公倍数。
样例输入4 6
样例输出2 12
提示

#include
int main()
{
long m

,n,t,a,b;
scanf("%ld%ld",&m,&n);
a=m;b=n;
if(m{
t=m;m=n;n=t;
}
while(n!=0)
{
t=m%n;
m=n;
n=t;
}
printf("%ld %ld\n",m,a/m*b);
return 0;
}

1070: 加密字符
题目描述
从键盘输入一批字符,以@结束,按要求加密并输出。输入从键盘输入一批字符,占一行,以@结束。输出输出占一行 加密规则: 1)、所有字母均转换为小写。
2)、若是字母'a'到'y',则转化为下一个字母。
3)、若是'z',则转化为'a'。
4)、其它字符,保持不变。
样例输入Kyh520@
样例输出lzi520
提示

#include
int main()
{
char c;
while((c=getchar())!='@')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
if(c>='A'&&c<='Z') c=c+32;
if(c>='a'&&c<'z') c=c+1;
else if(c=='z') c=c-25;
}
printf("%c",c);
}
return 0;
}

1071: 统计数字字符的个数
题目描述
输入一行字符,以回车符作为输入结束的标志。统计其中数字字符的个数。输入多个字符,以回车符结束,回车符不作为有效字符。输出输出一个整数,表示数字字符的个数。
样例输入12abrt12@2013
样例输出8
提示

#include
int main()
{
char c;
int i=0;
while((c=getchar())!='\n')
{
if(c>='0'&&c<='9') i++;
}
printf("%d\n",i);
return 0;
}

1072: 字符分类统计
题目描述
输入一行字符,以回车符作为输入结束的标志。统计其中英文字母、数字字符和其他字符的个数。输入多个字符,以回车符结束,回车符不作为有效字符。有效字符个数不超过100。输出输出分3行,格式见输出样例。
样例输入Abse 4+5*3=?
样例输出
letter:4
digit:3
other:5
提示

#include
int main()
{
char c;
int i=0,j=0,k=0;
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) i++;
else if(c>='0'&&c<='9') j++;
else k++;
}
printf("letter:%d\ndigit:%d\nother:%d\n",i,j,k);
return 0;
}

1073: 向Z同学学习
题目描述
Z同学为了实现暑假去云南旅游的梦想,决定以后每天只消费1元,每花k元就可以再得到1元,一开始Z同学有M元,问最多可以坚持多少天。输入输入2个整数M, k,(2 <= k <= M <= 1000)。
输出输出一个整数,表示M元可以消费的天数。
样例输入4 3
样例输出5
提示

#include

int main()
{
int m,k,i,day;
scanf("%d%d",&m,&k);
for(i=1,day=0;i<=m;i++,day++)
{
if(i%k==0) m++;
}
printf("%d\n",day);
return 0;
}

1074: 分解质因子
题目描述
将一个正整数分解质因数,例如,输入90,输出2 3 3 5。输入输入一个正整数n(2<=n<=2000)。输出从小到大输出n的所有质因子,每两个数之间空一格。
样例输入20
样例输出2 2 5
提示
注意,最后一个数后面没有空格!!

#include
int main()

{
int n,i;
scanf("%d",&n);

for(i=2; i<=n; i++)
{
while(n!=i)
{
if(n%i==0)
{
printf("%d ",i);
n=n/i;
}
else break;
}
}
printf("%d\n",n);
return 0;
}

1075: 青蛙爬井
题目描述
有一口深度为high米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬up米,夜里则顺井壁向下滑down米,若青蛙从某个早晨开始向外爬,对于任意指定的high、up和down值(均为自然数),计算青蛙多少天能够爬出井口?输入输入3个正整数:high、up和down。输出输出一个整数,表示天数。输出单独占一行。
样例输入10 2 1
样例输出9
提示

#include
int main()
{
int h,m,n,i,k;
scanf("%d%d%d",&h,&m,&n);
if(m>=h)
i=0;
else
{
for(i=1;;i++)
{k=h-(m-n)*i;
if(k<=m)
break;
}
}
printf("%d\n",i+1);
return 0;
}

1076: 海军节上的鸣炮声计算
题目描述
在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各n响。已知A舰每个a秒放一次,B舰每隔b秒放一次,C舰每隔c秒放一次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次炮声。输入输入n,a,b,c的值,所有输入不大于10000。输出输出一个整数,代表观众听到的礼炮声总数。
样例输入21 7 6 5
样例输出54
提示

#include
int main()
{
int i,num=0,n,t,a,b,c,max;
scanf("%d%d%d%d",&n,&a,&b,&c);
max=a;
if(b>max) max=b;
if(c>max) max=c;
t=max*(n-1);
for(i=0;i<=t;i++)
{

if(i%a==0&&i<=a*(n-1))
{
num++;
continue;
}
if(i%b==0&&i<=b*(n-1))
{
num++;
continue;
}
if(i%c==0&&i<=c*(n-1))
num++;
}
printf("%d\n",num);
return 0;
}

1077: 百钱买百鸡
题目描述
百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用100文钱买100只鸡,公鸡、母鸡、小鸡各买多少只?
本程序要求解的问题是:给定一个正整数n,用n文钱买n只鸡,问公鸡、母鸡、小鸡各买多少只?输入输入一个正整数n(n<=100)。输出如果有解,种组合占一行,包含公鸡、母鸡、小鸡的个数,用正整数表示,每个数据占4列。公鸡母鸡小鸡个数均大于等于0,按公鸡数目从小到大输出,公鸡数目相同按母鸡数目从小到大输出,以此类推。如果无解,输出“No Answer”。
样例输入100
样例输出 0 25 75 4 18 78 8 11 81 12 4 84
提示

#include
int main()
{
int i, j, k, n, a;
scanf("%d", &n);
a = 0;
for (i = 0; i <= n / 5; i++)
for (j = 0; j <= n / 3; j++)
{
k = n - i - j;
if (i * 15 + j * 9 + k == n * 3)
{
printf("%4d%4d%4d\n", i, j, k);
a = 1;
}
}
if(a==0) printf("No Answer\n");
return 0;
}

1078: 聚餐人数统计
题目描述
马克思手稿中有这样一道趣味数学题:男人、女人和小孩总计m个人,

在一家饭店里吃饭,共花了n先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,请用穷举法编程计算男人、女人和小孩各有几个。输入输入两个正整数,表示人数m和花费n。输出若问题有解,则输出所有解,每行输出三个数据,代表男人、女人和小孩的人数,用空格分隔;若问题无解,则输出“No answer”
样例输入30 50
样例输出0 20 101 18 112 16 123 14 134 12 145 10 156 8 167 6 178 4 189 2 1910 0 20
提示

#include
int main()
{
int i,m,n,x,y,z,flag=1;
scanf("%d%d",&m,&n);
i=(n-m)/2;
for(x=0;x<=i;x++)
{
y=(n-m)-2*x;
z=m-x-y;
if(3*x+2*y+z==n)
{
printf("%d %d %d\n",x,y,z);
flag=0;
}
}
if(flag) printf("No answer\n");
return 0;
}

1079: 三位数求解
题目描述
已知xyz+yzz=n,其中n是一个正整数,x、y、z都是数字(0-9),编写一个程序求出x、y、z分别代表什么数字。如果无解,则输出“No Answer” 注意:xyz和yzz表示一个三位数,而不是表示x*y*z和y*z*z。输入输入一个正整数n。输出输出一行,包含x、y、z的值,每个数值占4列。
样例输入532
样例输出 3 2 1
提示

#include

int main()
{
int x,y,z,n,flag=1;
scanf("%d",&n);
for(x=1;x<=9;x++)
{
for(y=1; y<=9;y++)
{
for(z=0;z<=9;z++)
{
if((x*100+y*10+z+y*100+z*10+z)==n)
{
printf("%4d%4d%4d\n",x,y,z);
flag=0;
}
}
}
}
if(flag) printf("No Answer\n");
return 0;
}

1080: 打印数字图形
题目描述
从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。输入正整数n(1≤n≤9)。输出指定数字图形。
样例输入5
样例输出1 121 12321 1234321123454321 1234321 12321 1211
提示

#include

int main()
{
int n,i,j,x,y;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++) printf(" ");
for(x=1;x<=i;x++) printf("%d",x);
for(y=i-1;y>0;y--) printf("%d",y);
printf("\n");
}
for(i=1;i<=n-1;i++)
{
for(j=1;j<=i;j++) printf(" ");
for(x=1;x<=n-i;x++) printf("%d",x);
for(y=n-i-1;y>0;y--) printf("%d",y);
printf("\n");
}
return 0;
}

1081: a+b(多实例测试1)
题目描述
计算A+B 输入输入第1行为一个整数n(1≤n≤10),代表测试的组数。
下面有n组测试数据,每组1行,为2个整数,为A, B。输出对每行输入,输出A+B的值,单独占一行。
样例输入21 23 4
样例输出37
提示
此类多实例测试解决方案: scanf("%d",&n); for(i=1;i<=n;i++) { //读入、处理一组测试实例 } 本题标程: #include"stdio.h" int main() { int a,b,n,i; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d%d",&a,&b); printf("%d\n",a+b); } return 0; }

#include

int main()
{
int a,b,n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
}
return 0;
}

10

82: a+b(多实例测试2)
题目描述
计算A+B输入输入数据有多组。
每组一行,为整数A, B。输出对每行输入,输出A+B的值,单独占一行。
样例输入1 23 4
样例输出37
提示
此类多实例测试解决方案: while(scanf("%d%d",&a,&b)!=EOF) { //读入一组测试数据 //处理 //输出结果 } 注:EOF是宏定义常量-1,scanf函数遇到文件结束标志函数返回值是-1,键盘输入时,ctrl+z表示输入结束 本题标程: #include"stdio.h" int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { printf("%d\n",a+b); } return 0; }

#include

int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
printf("%d\n",a+b);
}
return 0;
}

1083: a+b(多实例测试3)
题目描述
计算A+B输入输入数据有多组。
每组一行,为两个整数A, B。输入0 0表示输入结束,该组输入不用处理。输出对每行输入,输出A+B的值,单独占一行。
样例输入1 20 0
样例输出3
提示
本题标程: #include"stdio.h" int main() { int a,b; while(scanf("%d%d",&a,&b), a!=0||b!=0) printf("%d\n",a+b); return 0; }

#include

int main()
{
int a,b;
while(scanf("%d%d",&a,&b), a!=0||b!=0)
printf("%d\n",a+b);
return 0;
}

1084: n个数求和 (多实例测试)
题目描述
求n个整数的和。输入输入第一行是一个整数T,表示有T组测试实例; 每组输入包括两行: 第一行一个数n表示接下来会有n个整数; 第二行空格隔开的n个数。输出对于每组输入,在一行输出n个数的和(保证和不会超出int类型的范围)!
样例输入231 2 34-1 0 -19 22
样例输出62
提示

#include
int main()
{
int t,x,n,i,j,sum;
scanf("%d",&t);
{
for(j=0;j{
scanf("%d",&n);
sum=0;
for(i=0;i{
scanf("%d",&x);
sum+=x;
}
printf("%d\n",sum);
}
}
return 0;
}

1085: 敲7(多实例测试)
题目描述
输出7和7的倍数,还有包含7的数字例如(17,27,37...
70,71,72,73...
) 输入首先输入一个整数t,表示有t组数据。
然后有t行,每行一个整数N。(N不大于30000) 输出对于每组数据 ,输出从小到大排列的不大于N的与7有关的数字。每组数据占一行,每个数字后面有一个空格;
样例输入22030
样例输出7 14 17 7 14 17 21 27 28
提示

#include
int main()
{
int t,n,i,j,temp;
scanf("%d",&t);
{
for(j=0;j{
scanf("%d",&n);
for(i=1;i<=n;i++)
{
if(i%7==0)
{
printf("%d ",i);
}
else
{
temp=i;
while(temp>0)
{
if(temp%10==7)
{
printf("%d ",i);
break;
}
else
temp/=10;
}
}
}
printf("\n");
}
}
return 0;
}

1086: 数值统计(多实例测试)
题目描述
统计给定的n个数中,

负数、零和正数的个数 输入输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。
输出对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。
样例输入6 0 1 2 3 -1 05 1 2 3 4 0.50
样例输出1 2 30 0 5
提示

#include
int main()
{
int n,i,a,b,c;
double x;
while(scanf("%d",&n)!=EOF && n!=0)
{
a=0;b=0;c=0;
for(i=1;i<=n;i++)
{
scanf("%lf",&x);
if(x<0) a++;
else if(x==0) b++;
else c++;
}
printf("%d %d %d\n",a,b,c);
}
return 0;
}

1087: 计算两点间的距离(多实例测试)
题目描述
入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。输入输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。 输出对于每组输入数据,输出一行,结果保留两位小数。
样例输入0 0 0 10 1 1 0
样例输出1.001.41
提示

#include
#include
int main()
{
double x1,y1,x2,y2,dist;
while(scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2)!=EOF)
{
dist=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("%.2lf\n",dist);
}
return 0;
}

1088: 求奇数的乘积(多实例测试)
题目描述
给你n个整数,求他们中所有奇数的乘积 输入输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。输出输出每组数中的所有奇数的乘积,对于测试实例,输出一行。
样例输入3 1 2 34 2 3 4 5
样例输出315
提示

#include
int main()
{
int n,i,x,s;
while(scanf("%d",&n)!=EOF)
{
s=1;
for(i=1;i<=n;i++)
{
scanf("%d",&x);
if(x%2==0) continue;
else s *= x;
}
printf("%d\n",s);
}
return 0;
}

1089: 水仙花数(多实例测试)
题目描述
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33。
现在要求输出所有在m和n范围内的水仙花数。
输入输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。 输出对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开; 如果给定的范围内不存在水仙花数,则输出no; 每个测试实例的输出占一行。
样例输入100 120300 380
样例输出no370 371
提示

#include
int main()


{
int a,b,c,m,n,i,flag=0;
while(scanf("%d%d",&m,&n)!=EOF)
{

flag=0;
i=0;
for(;m<=n;m++)
{
a=m/100;
b=(m/10)%10;
c=m%10;
if(m==a*a*a+b*b*b+c*c*c)
{
i++;
flag++;
if(flag==1) printf("%d",m);
else printf(" %d",m);
}
}
if(i==0)
printf("no");
printf("\n");
}
return 0;
}

1090: ASCII码排序(多实例测试)
题目描述
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。输入输入数据有多组,每组占一行,有三个字符组成,之间无空格。输出对于每组输入数据,输出一行,字符中间用一个空格分开。
样例输入qweasdzxc
样例输出e q wa d sc x z
提示
注意:scanf("%c",&ch)格式读字符时,所有字符都是有效输入,如回车符、空格符等,如以下程序不能正常读入第二组输入数据 while(scanf("%c%c%c",&a,&b,&c)!=EOF) { if(a>b) { temp=a;a=b;b=temp; } if(a>c) { temp=a;a=c;c=temp; } if(b>c) { temp=b;b=c;c=temp; } printf("%c %c %c\n",a,b,c); } 原因是第一行输入最后的回车会被下一个scanf语句中的第一个%c读给a; 解决方法如下: while(scanf(" %c%c%c",&a,&b,&c)!=EOF) { ...
...

} 或while(scanf("%c%c%c ",&a,&b,&c)!=EOF) { ...
...

} 或while(scanf("%c%c%c\n",&a,&b,&c)!=EOF) { ...
...

} 在scanf的格式控制串中加入空白符的作用是跳过0个或多个空白符(包括空格、回车或制表符)。

#include
int main()
{
char a,b,c,temp;
while(scanf(" %c%c%c",&a,&b,&c)!=EOF)
{

if(a>b)
{
temp=a;a=b;b=temp;
}
if(a>c)
{
temp=a;a=c;c=temp;
}
if(b>c)
{
temp=b;b=c;c=temp;
}
printf("%c %c %c\n",a,b,c);
}
return 0;
}

1091: 时间间隔(多实例测试)
题目描述
从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。输入输入数据有多组。每组输入包括两行。第一行为时间点1,第二行为时间点2,时间点均以“HH:MM:SS”的格式输入。测试数据保证时间点1早于时间点2。输出对应每组数据,有一行输出,以“HH:MM:SS”的格式输出时间间隔。注意不足两位要补占位符0。格式参看输入输出。
样例输入12:01:1213:09:4312:40:1213:09:43
样例输出01:08:3100:29:31
提示
注意:要输出01:08:31中的占位符0,printf中的格式控制符用"%02d"

#include

int main()
{
int h1,m1,s1,h2,m2,s2,sum,h,m,s;
while(scanf("%02d:%02d:%02d",&h1,&m1,&s1)!=EOF)
{
scanf("%02d:%02d:%02d",&h2,&m2,&s2);
sum=h2*3600+m2*60+s2-h1*3600-m1*60-s1;
h=sum/3600;
m=sum%3600/60;
s=sum%3600%60;
printf("%02d:%02d:%02d\n",h,m,s);
}
return 0;
}

1092: 获取出生日期(多实例测试)
题目描述
输入某人的18位身份证号,输出其出生日期。输入多实例测试。首先输入一个整数n,表示测

试实例的个数,然后是n行,每行是一个18位身份证号。输出对于输入的每个身份证号,输出一行,即其对应的出生日期,输出格式为:yyyy-mm-dd。
样例输入3410106199411178657410104198202095479410122197911218097
样例输出1994-11-171982-02-091979-11-21
提示

#include

int main()
{
int year,month,day,i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%*6d%4d%2d%2d%*d",&year,&month,&day);
printf("%d-%02d-%02d\n",year,month,day);
}
return 0;
}

1093: 手机短号 (多实例)
题目描述
大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号。假设所有的短号都是是 6+手机号的后5位,比如号码为135********的手机,对应的短号就是645678。
现在,如果给你一个11位长的手机号码,你能找出对应的短号吗?
输入输入数据的第一行是一个N(N <= 200),表示有N组输入数据,接下来的N行每一行为一个11位的手机号码。
输出输出应包括N行,每行包括一个对应的短号,输出应与输入的顺序一致。
样例输入21351234567813787600321
样例输出645678600321
提示

#include

int main()
{
int num,i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%*6d%5d",&num);
printf("6%05d\n",num);
}
return 0;
}

1094: 阶乘的最高位
题目描述
输入一个正整数n。输出n!的最高位上的数字。输入输入一个正整数n(n不超过1000)。输出输出n!的最高位上的数字。
样例输入1000
样例输出4
提示

#include
#include
int main()
{
int n,i,first;
int a[5]={1,1,2,6,4};
double sum=0;
scanf("%d",&n);
if(n<5)
{
printf("%d\n",a[n]);
return 0;
}
for(i=1;i<=n;i++)
sum+=log(1.0*i)/log(10.0);
sum-=(int)sum;
first=exp(sum*log(10.0));
printf("%d\n",first);
return;
}

1095: 字符串加密
题目描述
输入一串字符和一个正整数k,将其中的英文字母加密并输出加密后的字符串,非英文字母不变。加密思想:将每个字母c加一个序数k,即用它后面的第k个字母代替,变换公式:c=c+k。如果字母为z,则后一个字母是a,也就是字母字符形成一个圆。输入输入第一行是若干字符,以回车结束。输入第二行是一个整数k,k是int范围内的正整数;输出输出加密后的字符串。
样例输入12kjsdZjk280
样例输出12edmxTde
提示

#include
int main()
{
int k;
char ch;
scanf("%d\n",&k);
k=k%26;
while(ch=getchar(),ch!='\n')
{
if(ch>='a'&&ch<='z')
{
if(ch+k>'z')
ch=ch+k-26;
else
ch=ch+k;
}
else if(ch>='A'&&ch<='Z')
{
if(ch+k>'Z')
ch=ch+k-26;
else
ch=ch+k;
}

printf("%c",ch)

相关文档
相关文档 最新文档