C语言 试题 求答案

1、仔细阅读如下程序,按题意填写程序空缺(每空2分,共10分)
(1)输入3个int型的整数,求其最大数。
main( )
{int a,b,c;
scanf(“%d%d%d”,7a,&b,&c);
printf(“max=%d”,max( ));
}
int max(int x,int y)
{return( );
}

(2)输入一批整数,统计出其中的整数和负数的个数,输入0则结束。
main( )
{int ;
printf(“please input a integer(0 to end):”)
scanf(“%d”,&x);
while( )
{if( ) i+=1;
else j+=1;

}
printf(“%d,%d\n”;i.j);
}

2、阅读如下程序,写出程序运行结果(每题各5分,共20分)
(1)main( ) 0 (2)main( )
{int a=10,b=50,c=30; {int i;
if(a>b) a=b; for(i=1;i<=20;i++)
b=c; if(i%3= =0)printf(“%d’,i);
c=a; }
printf(“a=%d,b=%d,c=%d”,a,b,c);
}
程序的运行结果是: 程序的运行结果是:

(3)main( ) (4)main( )
{extern int x,y; {int n=36;
printf(“%d\n”,mul(x,y)); printf(“%d\n”,fun( ));
} }
int x=3,y=5; int fun(int num)
int mul(int a,int b) {int k=1;
{int m; do{k*=num%10;
m=a*b; num/=10;
return(m); }while(num);
} return(k);
}
程序的运行结果是: 程序的运行结果是:

五、编程题(每题10分,共20分)
1、设计一个从两个数中输出最大者的C程序。P51
2、设计一个C程序,计算从1开始的20个连续自然数的和。(S=1+2+3+…+20)

呵呵,问题比较简单,属于入门级的。
(1)输入3个int型的整数,求其最大数。
main( )
{int a,b,c;
scanf(“%d%d%d”,7a,&b,&c);
printf(“max=%d”,max( a>b?a:b, c ));
}
int max(int x,int y)
{return( x>y?x:y; );
}

(2)输入一批整数,统计出其中的整数和负数的个数,输入0则结束。

main( )
{int ;
printf(“please input a integer(0 to end):”)
scanf(“%d”,&x);
while( x != 0 )
{if( x>0 ) i+=1;
else j+=1;

}
printf(“%d,%d\n”;i.j);
}

2、阅读如下程序,写出程序运行结果(每题各5分,共20分)
1、输出 a=10,b=10,c=10
2、这个函数应该是没有写完吧? 这里不确定,要么就是一个很大的数,要么就是什么都不输出
3、15
4、又写错了,编译都不能通过,不过按照你的意思应该是18,也即使36的个位数乘以十位数3*6=18.
呵呵,给点分把。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-22
1、填写程序空缺
(1)
首先说明一下楼主程序的问题:第三行不是7a,应该是&a
第一个空:printf(“max=%d”,max(a>b?a:b,c));或者是:printf(“max=%d”,max(max(a,b),c));
第二个空:return(x>y?x:y);
建议第一个空用第二种方法写,不然第二个空写的东西就没用了。
(2)
while(x!=0)
{ if(x>0) i+=1;
else j+=1;
}
第2个回答  2011-04-22
main( )
{int a,b,c;
scanf(“%d%d%d”,7a,&b,&c);
printf(“max=%d”,max( a>b?a:b,c ));
}
int max(int x,int y)
{return( x>y?x:y );
}

回答你一个问题算了,你好歹给点分啊追问

a>b?a:b,c x>y?x:y 中间是问号?逗号?哥仔 想要分 答案要正确撒

追答

答案没问题,虽然不用c很多年了,你把代码运行一下就知道了

第3个回答  2011-04-22
编程题第二个
main()
{
int i,s=0;
for(i=1;i<21;++i)
{
s=s+i;
}
printf("s=",s);
}
相似回答
大家正在搜