1000: A+B Problem
样例输入
1 2
样例输出
3
#include <stdio.h>
void main()
{
int a,b,sum;
printf("");
scanf("%d%d",&a,&b);
sum=a+b;
printf("%d\n",sum);
}
1003: 2005年春浙江省计算机等级考试二级C 编程题(1)
输入x ,计算并输出下列分段函数 f(x) 的值。可以调用数学库函数:平方根函数sqrt(),绝对值函数fabs() 和幂函数 pow()。
保留2位小数
输入
x
输出
f(x)
样例输入
5
样例输出
15.00
#include "stdio.h"
#include "math.h"
void main()
{
double x,y;
scanf("%lf",&x);
if(x<0)
{
y=fabs(x);
}
if(x<2&&x>=0)
{
y=sqrt(x+1);
}
if(x>=2&&x<4)
y=(x+2)*(x+2)*(x+2)*(x+2)*(x+2);
}
if(x>=4)
{
y=2*x+5;
}
printf("%.2f",y);
}
1007: 2006年春浙江省计算机等级考试二级C 编程题(2)
编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。
1+1/2+ .... +1/n!
输出保留5位小数。
输入
输出
样例输入
5
样例输出
sum=1.71667
#include "stdio.h"
void main()
{
long i,n;
float s=0,t=1;
scanf("%ld",&n);
for(i=1;i<=n;i++)
{  t=t*i;
s=s+1/t;
}
printf("sum=%.5f",s);
}
1013: 2001年秋浙江省计算机等级考试二级C 编程题(2)
编制函数,其功能是在float类型一维数组中查最大值、最小值,并将它们返回到调用程序。
* 输出保留两位小数
输入
n
n个浮点数
输出
最大值 最小值
样例输入
10
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0
样例输出
10.00 1.00
#include "stdio.h"
void main()
{
int i,n;
float min,max,a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%f",&a[i]);
}
max=a[0];min=a[0];
for(i=1;i<n;i++)
{if(a[i]<min)min=a[i];
if(a[i]>max)max=a[i];}
printf("%.2f %.2f",max,min);
}
1014: 2002年秋浙江省计算机等级考试二级C 编程题(1)
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
输入
一行字符
输出
统计值
样例输入
aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
样例输出
明解c语言
23 16 2 4
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
char c;
int l=0,s=0,n=0,r=0;
while((c=getchar())!='\n')
if(c<='z'&&c>='a'||c<='Z'&&c>='A')
l++;
else if(c==' ')
s++;
else if(c<='9'&&c>='0')
n++;
else
r++;
printf("%d %d %d %d",l,n,s,r);
}
1015: 2002年秋浙江省计算机等级考试二级C 编程题(2)
输入一个正整数n.求1+1/2!+1/3!+....+1/n!
要求定义并调用函数fact(n)计算n的阶乘,函数返回值的类型是点单精度浮点型。
* 输出保留4位小数
输入
正整数n
输出
数列之和
样例输入
2
样例输出
1.5000
#include "stdio.h"
void main()
{
long i,n;
float s=0,t=1;
scanf("%ld",&n);
for(i=1;i<=n;i++)
{  t=t*i;
s=s+1/t;
}
printf("%.4f",s);
}
1016: 2003年秋浙江省计算机等级考试二级C 编程题(1)
输入10个数,求它们的平均值,并输出大于平均值的数据的个数。
输入
10个数
输出
大于平均数的个数
样例输入
1 2 3 4 5 6 7 8 9 10
样例输出
5
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int a[10],i,n=0,s=0,b=0; 
for(i=0;i<10;i++)     
{scanf("%d",&a[i]);
s=a[i]+s;
}
b=s/10;             
for(i=0;i<10;i++)     
{
if(a[i]>b)
n=n+1;
}
printf("%d",n);         
}
1020: C语言实验题——三个数排序(JSU-ZJJ)
输入三个整数x,y,z,请把这三个数由小到大输出。
输入
输入数据包含3个整数x,y,z,分别用逗号隔开。
输出
输出由小到大排序后的结果,用空格隔开。
样例输入
2,1,3
样例输出
1 2 3
#include <stdio.h>
void main()
{
int x,y,z,a;
printf("");
scanf("%d,%d,%d",&x,&y,&z);
if (x>y)
{a=x;x=y;y=a;}
if(x>z)
{a=x;x=z;z=a;}
if(y>z)
{a=y;y=z;z=a;}
printf("%d %d %d\n",x,y,z);
}
1023: C语言实验题——求一个3*3矩阵对角线元素之和(JSU-ZJJ)
给定一个3*3的矩阵,请你求出对角线元素之和。
输入
按照行优先顺序输入一个3*3矩阵,每个矩阵元素均为整数。
输出
对角线元素之和。
样例输入
1 2 3
1 2 3
1 2 3
样例输出
6
#include<stdio.h>
int main()
{
int a[3][3],sum=0;
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("%d",sum);
}
1026: C语言实验题——求平均值(JSU-ZJJ)
求n个数的平均数。
输入
输入数据有2行,第一行为n,第二行是n个数。
输出
输出n个数中的平均数,结果保留小数点2位。
样例输入
5
-1 2.1 3 4 -5.8
样例输出
0.46
#include "stdio.h"
void main()
{
int n,i;
float b,c,s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%f",&b);
s=s+b;
}
c=s/n;
printf("%.2f\n",c);
}
1030: C语言实验题——某年某月的天数(JSU-ZJJ)
输入年和月,判断该月有几天?
输入
输入年和月,格式为年月
输出
输出该月的天数。
样例输入
2009\1
样例输出
31
#include "stdio.h"
void main()
{
int y,m,i,s;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
char c;
scanf("%d%c%d",&y,&c,&i);
{
if(y%4==0&&y%100!=0||y%400==0)
a[2]=29;
else
a[2]=28;
}
s=a[i];
printf("%d\n",s);
}
1032: C语言实验题——两个数最大(JSU-ZJJ)
求两个整数中的最大值。
Input
两个数
Output
输出最大的值,格式为:
max=最大值
Sample Input
1 2
Sample Output
max=2
#include <stdio.
h>
void main()
{
int a,b,max;
scanf("%d%d",&a,&b);
max=a;
if(b>max)
max=b;
printf("max=%d\n",max);
}
1034: C语言实验题——逆置正整数(JSU-ZJJ)
输入一个三位正整数,将它反向输出。
Input
3位正整数
Output
逆置后的正整数
Sample Input
123
Sample Output
321
#include <stdio.h>
void main()
{
int indiv,ten,hundred,num,a;
printf("");
scanf("%d",&num);
hundred=num/100;
ten=(int)(num-hundred*100)/10;
indiv=(int)(num-hundred*100-ten*10);
a=indiv*100+ten*10+hundred;
printf("%d\n",a);
}
1035: C语言实验题——中间数(JSU-ZJJ)
输入三个整数,出其中数值的中间数。
输入
输入3个整数。
输出
输出中间数
样例输入
1 2 3
样例输出
2
#include "stdio.h"
void main()
{
int a,b,c,t;
scanf("%d %d %d",&a,&b,&c);
if(a<b)
{t=b;b=a;a=t;}
if(a<c)
{t=c;c=a;a=t;}
if(b<c)
{t=c;c=b;b=t;}
printf("%d",b);
}
1036: C语言实验题——整数位(JSU-ZJJ)
输入一个不多于5位的正整数,要求:
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出各位数字。
输入
输入一个不多于5位的正整数。
输出
输出数据有3行,第一行为正整数位数,第二行为各位数字,第三行为逆序的各位数字(各数字之间用一个空格隔开)。
样例输入
123
样例输出
3
1 2 3
3 2 1
#include "stdio.h"
void main()
{
int a,b,c,d,e,place;         
long num;                     
scanf("%ld",&num);           
if(num<100000)
{
a=num/10000;
b=(num-a*10000)/1000;
c=(num-a*10000-b*1000)/100;
d=(num-a*10000-b*1000-c*100)/10;
e=num-a*10000-b*1000-c*100-d*10;
if(num>9999)                 
place=5;
else if(num>999)
place=4;
else if(num>99)
place=3;
else if(num>9)
place=2;
else place=1;
printf("%d\n",place);
switch(place)
{
case 5:printf("%d %d %d %d %d\n",a,b,c,d,e);
printf("%d %d %d %d %d\n",e,d,c,b,a);break;
case 4:printf("%d %d %d %d\n",b,c,d,e);
printf("%d %d %d %d\n",e,d,c,b);break;     
case 3:printf("%d %d %d\n",c,d,e);
printf("%d %d %d\n",e,d,c);break;
case 2:printf("%d %d\n",d,e);
printf("%d %d\n",e,d);break;
case 1:printf("%d\n",e);
printf("%d\n",e);
}
}
}
1047: C语言实验题——整除(JSU-ZJJ)
判断一个数n能否同时被3和5整除。
输入
输入一个正整数n。
输出
如果能够同时被3和5整除,输出Yes,否则输出No。
样例输入
15
样例输出
Yes
#include <stdio.h>
void main()
{
int n;
scanf("%d",&n);
if(n%3==0&&n%5==0)
printf("Yes\n");
else
printf("No\n");
}
1051: C语言实验题——三角形面积(JSU-ZJJ)
已知三角形的边长a、b和c,求其面积。
输入
输入三边a、b、c
输出
输出面积,保留3位小数。
样例输入
1 2 2.5
样例输出
0.950
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "math.h"
void main()
{
float a,b,c,s,m;
scanf("%f %f %f",&a,&b,&c);
m=(a+b+c)/2.0;
s=sqrt(m*(m-a)*(m-b)*(m-c));
printf("%.3f\n",s); 
}
1052: C语言实验题——圆柱体计算(JSU-ZJJ)
已知圆柱体的底面半径r和高h,计算圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积。
输入
输入数据有一行,包括2个正实数r和h,以空格分隔。
输出
输出数据一行,包括圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积,以空格分开,所有数据均保留2位小数。
样例输入
1 2
样例输出
6.28 3.14 12.57 6.28
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{    float pi=3.1415926;
float r,h,c,s,s1,v;
scanf("%f %f",&r,&h);
c=2.0*pi*r;
s=pi*r*r;
s1=c*h;
v=s*h;
printf("%.2f %.2f %.2f %.2f",c,s,s1,v);
}
1061: 校门外的树
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。
由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区
域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。
输入
输入文件tree.in的第一行有两个整数L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。
输出
输出文件tree.out包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。
样例输入
500 3
150 300
100 200
470 471
样例输出
298
#include "stdio.h"
void main()
{
int l,m,a,b,i,c=0,n,tree[10001];
scanf("%d %d",&l,&m);
if((1<=l||l<=10000)&&(1<=m||m<=100))
{
for(i=0;i<=l;i++)
tree[i]=1;
for(i=1;i<=m;i++)
{
scanf("%d %d",&a,&b);
for(n=a;n<=b;n++)
tree[n]=0;
}
for(i=0;i<=l;i++)
{
if(tree[i]!=0)
c++;
}
printf("%d",c);
}
}
1081: 对一个4位数先分解再排序
任意输入一个4位数,存入变量m,将该数的每一位上的数字,分解到整型数组a[]中,用选择法将a[]数组中的数排成升序,并输入a[]数组的内容。
如:int m,a[4];输入m=8362
分解后:a[0]=2,a[1]=6,a[2]=3,a[3]=8
排序后:a[0]=2,a[1]=3,a[2]=6,a[3]=8
输入
如输入:
8362
输出
输出:
2 3 6 8
样例输入
8362
样例输出
2 3 6 8
#include "stdio.h"
int main()
{
int n,a[4],t,i,j,min;
scanf("%d",&n);
a[0]=n/1000;
a[1]=n/100%10;
a[2]=n/10%10;
a[3]=n%10;
for(i=0;i<4;i++)
{min=i;
for(j=i+1;j<=4;j++)
if(a[min]>a[j])min=j;
t=a[i];a[i]=a[min];
a[min]=t;
}
printf("%d",a[0]);
for(i=1;i<4;i++)
printf(" %d",a[i]);
return 0;
}
1082: 求二维数组2条对角线元素之和
求二维数组2条对角线元素之和
要求:1、在主函数中实现:数组输入及求和结果的输出
2、编一个函数实现:求数组2条对角线之和,用二维数组名做参数
输入
如输入:
3 6 4 6
8 3 1 3
4 7 1 2
2 9 5 3
输出:
10  16
样例输入
3 6 4 6
8 3 1 3
4 7 1 2
2 9 5 3
样例输出
10 16
#include "stdio.h"
void main()
{int a[100][100];
int i,j,sum1=0,sum2=0;
for(i=1;i<=4;i++)
{for(j=1;j<=4;j++)
scanf("%d",&a[i][j]);}
for(i=1;i<=4;i++)
{sum1=sum1+a[i][i];
sum2=sum2+a[i][5-i];
}
printf("%d %d",sum1,sum2);   
}
1083: 求n个实数去掉最大最小值后的平均值
有n个实数,实数的范围在0---100之间,通过average函数求这n个实数去掉最大最小值后的平均值
要求:n及n个实数在主函数中输入,结果保留2位小数
输入
如:输入:
5
85  88  90  93  87
输出
输出:
88.33
样例输入
5 85 88 90 93 87
样例输出
88.33
#include "stdio.h"
void main()
{
int n,i;
float a[100],s,max,min,sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%f",&a[i]);
sum=sum+a[i];
}
max=a[0];
min=a[0];
for(i=0;i<n;i++)
if(max<a[i])
max=a[i];
for(i=0;i<n;i++)
if(min>a[i])
min=a[i];
s=(sum-max-min)/(n-2);
printf("%.2f",s);   
}
1213: 两数组最短距离
已知元素从小到大排列的两个数组x[]和y[],请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离。
输入
第一行为两个整数m, n(1≤m, n≤1000),分别代表数组f[], g[]的长度。 第二行有m个元素,为数组f[]。 第三行有n个元素,为数组g[]。
输出
数组的最短距离
样例输入
5 5
1 2 3 4 5
6 7 8 9 10
样例输出
1
#include "stdio.h"
void main()
{
int a[32767],b[32767],c,min,i,j,n,m;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<m;i++)
scanf("%d",&b[i]);
min=b[0]-a[n-1];
if(min<0)
min=-min;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
c=b[j]-a[i];
if(c<0)
c=-c;
if(min>c||c==0)
min=c;
}
printf("%d",min);
}
1214: 输入入门(1)
计算A+B
输入
输入数据有多组。每组一行,为整数A, B。以EOF做结束。
输出
输出A+B的值。
样例输入
1 2
3 4
样例输出
3
7
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i,a,b,s;
for(i=1;i<=2;i++)
while(scanf("%d %d",&a,&b)!=EOF)
{  s=0;
s=a+b;
printf("%d\n",s);
}
}
1215: 输入入门(2)
计算A+B
输入
输入第1行为一个整数n(1≤n≤10),代表测试的组数。下面有n组测试数据,每组1行,为2个整数,为A, B。
输出
输出A+B的值。
样例输入
2
1 2
3 4
样例输出
3
7
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i,a,b,s,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{scanf("%d %d",&a,&b);
{  s=0;
s=a+b;
printf("%d\n",s);
}
}
}
1216: 输入入门(3)
计算A+B
输入
输入数据有多组。每组一行,为两个整数A, B。输入以0 0结束。
输出
输出A+B的值。
样例输入
1 2
0 0
样例输出
3
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i,a,b,s,n;
while(scanf("%d %d",&a,&b))
if(a==0&&b==0)break; 
s=0;
s=a+b;
printf("%d\n",s);
}
}
1248: 水乡花数
#include "stdio.h"
void main()
{
int a,b,c,d;
for(a=2;a<1000;a++)
{
b=a/100;
c=(a/10)%10;
d=a%10;
if(a==b*b*b+c*c*c+d*d*d)
printf("%d ",a);
}
}
1296: 计算各位数字之和
编程程序读入0到1000间的一个整数,并将其各位数字加起来,例如932,各位数字之和为14。
输入
932
输出
14
#include "stdio.h"
void main()
{
int hundred,ten,indiv,num,s;
printf("");
scanf("%d",&num);
hundred=num/100;
ten=(int)(num-hundred*100)/10;
indiv=(int)(num-hundred*100-ten*10);
s=hundred+ten+indiv;
printf("%d\n",s);
}
1297: 大小写转换
编写程序将大写字母转换为小写字母,该字母在源代码中制定。
输入
A
输出
a
#include <stdio.h>
void main()
{
char c;
printf("输入大写字母:\n");
scanf("%c",&c);
c=c+32;
printf("%c\n",c);
}
1298: 显示字母
编写程序读入一个ASCⅡ码(0到128的整数)并显示它表示的字母。
输入
65
输出
A
#include <stdio.h>
void main()
{
int a;
char c;
printf("输入数字:\n");
scanf("%d",&a);
c='A';
printf("%c\n",c);
}
1299:判断三角形是否有效
编写程序输入三角形的三个边,判断是否有效。有效是指两边之和是否大于第3边。例如,如果输入1,2,1,输出应该为:
Can edges 1, 2, and 1 form a triangle?  false
如果输入的是2,2,1,输出应该为:
Can edges 2, 2, and 1 form a triangle?  True
输入:1  2  1
输出:false
要求用函数实现
int startFunction(int a,int b,int c) {
return Judge(a,b,c);//判断函数
}
输入
开始一个数,表示sum
接着sum行3个数a,b,c;
输出
若能构成一个三角形输出 true
否则 输出 false,记得换行输出。
样例输入
1
1 2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。