例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 #include
void Trans( int m, int k ) {
int aa[20], i,j;
for( i = 0; m; i++ ) {
aa[i] = m%k; m /= k; }
for( j=i-1; j>=0; j-- )
printf(\
}
void main() {
int b, n;
printf( \enter a number and a base:\\n\); scanf(\ Trans( n, b ); }
12、统计从键盘输入的50个实数中有多少个正数、多少个负数、多少个零 #include
第 11 页 共 46 页
void fun(int *zs,int *fs,int *l,float aa[]) { int i;
for(i=0;i<50;i++) {
if(aa[i]>0) (*zs)++; if(aa[i]<0) (*fs)++; if(aa[i]==0) (*l)++; } }
void main() {
float num[50]; int i,czs,cfs,cl; czs=cfs=cl=0;
printf( \ for(i=0;i<50;i++) scanf(“%f”,&num[i]); fun(&czs,&cfs,&cl,num); printf(\}
12
正数:%d ,负数:%d ,零:%d
\\n\
13、计算并输出方程X+Y=1989的所有整数解 #include
int x,y;
for(x=1;x<=44;x++) for(y=1;y<=44;y++) if(x*x+y*y==1989)
printf(“x=%d ,y=%d \\n”,x,y); }
void main() {
printf(“方程x^2+y^2=1989的整数解为:\\n”); fun(); }
14、从键盘输入10个整数,求出其中的最大值。 #include
int m,i; m=aa[0];
for(i=1;i<10;i++) if(aa[i]>m)
第 13 页 共 46 页
22
m=aa[i];
return m; }
void main() {
int num[10],i;
printf(“请从键盘输入10个整数:\\n”); for(i=0;i<10;i++) scanf(“%d”,&num[i]);
printf(“\\n最大的数是:%d\\n”,fun(num)); }
15、从键盘输入n值,输出如右图形。(例如1 2 3 4 5 n=5时)
1 1 2 3 4 1 1 1 2 3 #include
int i,j;
for(i=1;i<=n;i++) {
for(j=1;j<=i;j++) printf(“=”,1); for(j=2;j<=n+1-i;j++) printf(“=”,j); printf(“\\n”);
14
} }
void main() { int n;
printf(“\\n请输入图形的行数:”); scanf(“%d”,&n); fun(n); }
16、使用函数的方式,计算如下公式的值。 1 1 1 A1=1,A2=──,A3=──,……An=──── 1+A1 1+A2 1+A(n-1) 例如:若n=10,则应输出: 0.。 #include
float A=1; int i; for (i=1; i<=n; i++) A = 1.0/(1+A); return A ; }
第 15 页 共 46 页