int i;
printf(\ for(i=0; i<3; i++)
scanf(\ /*&a[i]*/
/**/ if( a[0]+a[1]>a[2] || a[1]+a[2]>a[0] || a[0]+a[2]>a[1] ) /**/
/*if( (a[0]+a[1])>a[2]||(a[1]+a[2])>a[0] || (a[0]+a[2])>a[1] )*/
{
s = (a[0]+a[1]+a[2])/2;
area = sqrt(s*(s-a[0])*(s-a[1])*(s-a[2])); printf(\ } else
printf(\ getch(); }
14. 百马百担问题
程序Cmody072.c,其功能是求解百马百担问题.
有100匹马,驮100担货,大马驮3担,中马驮2担,小马驮1担,问大,中,小马数可分别为多少?有多少种解决方案? 答案:
#include
/**/ void fun() /**/ /*int fun()*/ {
int large,middle,small,n=0; clrscr();
for( large=0;large<=33;large++ )
for( middle=0;middle<=50;middle++ ) {
small = 2*(100-3*large-2*middle);
/**/ if( large+middle+small=100 ) /**/ /* if( large+middle+small==100 )*/ {
n++; printf(\ } } return n; }
void main() {
int num; num = fun();
printf(\
getch(); }
15. 求一堆零件的总数(100至200之间)
程序cmody081.c,其功能是求一堆零件的总数(100至200之间)
如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件,则多5个零件。 答案:
#include
int i;
/**/ for( i=100; i<200; i++ ); /**/ /* for( i=100; i<200; i++ )*/ if((i-2)%4 == 0) if( !((i-3)%7) ) if( i%9 == 5 )
printf(\ /* i*/
getch(); }
16. 交换两个变量的值
程序cmody082.c,其功能是交换两个变量的值。 如输入:2 3 输出:original:a?2 resuct:a?3b?3 b?2
答案:
#include
/**/ void swap(int p1,int p2) /**/ /* void swap(int *p1,int *p2)*/ {
int temp; temp = *p1;
/**/ p1 = p2; /**/ /* *p1 = *p2; */ *p2 = temp; }
void main() {
int a,b;
printf(\ scanf(\
printf(\ swap(&a,&b);
printf(\ getch(); }
17. 计算1至100之间的奇数之和,偶数之和
程序cmody091.c,其功能是计算1至100之间的奇数之和,偶数之和 答案:
#include
int b,i;
/**/ int a=c=0; /**/ /* int a=0,c=0;*/
/**/ for( i=0,i<=100,i+=2 ) /**/ /* for( i=0;i<=100;i+=2 )*/ {
a+=i; b=i+1; c+=b; }
printf(\ printf(\ getch(); }
18. 求满足等式xyz+yzz=520的x、y、z值(其中xyz和yzz分别表示一个三位数)。
程序cmody092.c的功能是求满足等式xyz+yzz=520的x、y、z值(其中xyz和yzz分别表示一个三位数)。 答案:
#include
int x,y,z,i,result=520; for( x=1;x<10;x++ ) for( y=1;y<10;y++ )
/**/ for( z=1;z<10;z++ ) /**/ /* for( z=0;z<10;z++ )*/ {
i=100*x+10*y+z+100*y+10*z+z;
/**/ if (i=result) /**/ /* if (i==result)*/ printf(\ }
getch(); }
三、填空题
1. 计算 f(x)=
x?2x2?1
补充程序Ccon 011.c使其计算 f(x)=
x?2x?12
答案:
#include
int x;
/**/ float f; /**/
printf(\ scanf(\
f = /**/ (fabs(x) - 2) / (x*x + 1) /**/ ; printf(\}
2. 计算圆周率
补充程序Ccon 012.c,该程序用公式??4?(1?1111?????),计算圆周率的35710001近似值。
答案:
#include
for(i=1;i<=10001;i+=2) {
pi+=1.0*sign/i;
sign=/**/ -sign /**/; }
pi*=/**/ 4 /**/; printf(\}
3. 从10个数中找出最大值和最小值
补充程序Ccon 013.c程序实现从10个数中找出最大值和最小值. 答案:
#include
#include
void find_max_min(int *p,int n) {
int *q;
max=min=*p;
for(q=p; q**/ p+n /**/; q++) if(/**/ max < *q /**/ ) max=*q; else if(min>*q) min=*q; }
void main() {
int i,num[10];
printf(\
for(i=0;i<10;i++) scanf(\ find_max_min(/**/ num /**/,10);
printf(\ }
4. 计算满足一定条件的一位整数A和B的值
补充程序Ccon 021.c,使其计算满足下式的一位整数A和B的值.
AB?BA
403答案:
#include
int a,b,k;
int plu = /**/ 403 /**/; for(a=1; a<10; a++) for(b=1; b<10; b++) {
k = (a*10+b) * /**/ (b*10+a) /**/ ; if(k==plu)
printf(\
} }
5. 输入若干个整数,统计其中大于0和小于0的个数,以0结束输入
补充程序Ccon 022.c,使其实现输入若干个整数,统计其中大于0和小于0的个数,以0 结束输入 答案: