跪求C语言试题答案..高手帮帮我~

RT..各位大哥..帮帮我吧

4. ACE
5. y1=-2.00

1.
#include "stdio.h"
float fun(float x)
{
if(x<0)return -x*x-1;
else if(x==0) return 0;
else return x*x+1;
}

void main()
{
float x,y;

scanf("%f",&x);
y=fun(x);
printf("y=%g\n",y);
}
2.
#include "stdio.h"
void main()
{
int i,j,k;
for(i=0;i<=3;i++)
for(j=0;j<=3;j++)
for(k=0;k<=5;k++)
if(i+j+k==5)
printf("%d个红球 %d个白球 %d个黑球\n",i,j+2,k+1);
}
3.
#include<stdio.h>

void main()
{
char a[15],t;
int i,j;
printf("Please input 10 chars:\n");
for(i=0;i<10;i++)
a[i]=getchar();
for(j=0;j<10;j++)
for(i=0;i<10-1-j;i++)
if(a[i]<a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<10;i++)
printf("%c",a[i]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-05
晕倒 这个也行 你连考试卷都弄出来了 还不是轻松搞定考试 找个牛点的同学 以下就搞定了哦
第2个回答  2011-07-05
1.C(sizeof取的是真个数组长度,strlen取的则是字符串长度)
2.B(反斜杠“\”本身有转义符的概念,当需要使用时,需要先转义,所以写成“\\”。而只读方式为“r”,“a”为附加,“wb”为二进制写入)
3.A(字符要用单引号引用,双引号是字符串,区别在于字符串最后有一个空字符作为结束,而字符没有)
4.B(就是字符串长度,算中间的空格,但不算最后那个看不见的结束符)
5.A(a是数组,p是指针,两者概念相似,本身就是地址,星号“*”表示取内容,而和号“&”则表示取地址,但前面已经说了a和p本身就是地址,所以什么都不用取,则a+4很显然是地址)
6.A(没啥好说的,就这么规定的)
7.C(同上)
8.D(format是字符串的格式化输出操作,与文件操作无关)
9.C(字节对齐的问题,印象里应该是最大成员的字节数)
10.B(p为m的首地址,++p后取第二组数据的首地址,*取值后为第二组数据中的第一个数据位置,.j为取j位置上的数据,结果为2)
11.A(上面已经说了,指针本身就是地址,&和*两个符号取地址再取内容,等于抵消,所以还是地址)
12.B(a+i确定行,之后去内容,再+j确定列,再取内容,即可)
13.D(int为返回值类型,*表示返回值为指针,后面的括号表示这是一个函数)
14.B(s1是一个指针,指针结构体的成员用“->”引用,而非指针结构体的成员用“.”引用)
15.A(先自加2,再++运算,最后取内容)
16.C(扳着手指头算都可以)
17.D(*p+i表示数组的第一个元素的值加上i)
18.C(sizeof是数组的大小,与里面的值无关)
19.C(short占用2字节,char占用1字节,double看起来是8字节,但其实double是个指针,指针都是4字节,不看类型。如此相加看起来应该是7个字节,但其中有个字节对齐的问题,所以char后面要空出来一个字节作为对齐,最终结果是8个字节)
20.A(NULL为结束符,EOF应该是结束函数用的,BOF不清楚,/0啥都不是,NULL可以表示为"\0",注意斜杠方向)
另外,虚机团上产品团购,超级便宜