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的第一行有两个整数(L1 <= 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; a[2]=n/10; a[3]=n;
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
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言题目及解答(3)在线全文阅读。
相关推荐: