执行以下程序后的输出结果是( ) #include <stdio.h> void main(void) { char a[]=”abc\0abc”; printf(

“%s”, a);
}
A) abc\0abc B) abc\ C) abc\0 D) abc
二、 程序填空(26分)
1、求1!+2!+3!+。。。+10!
#include <stdio.h>
void main(void)
{
float s = 0, t = 1;
int n;
for (n=1; n<=10 ; n++)
{
T*=I ;
S+= t ;
}
printf(“1!+2!+3!+。。。+10!=%f”, s);
}

2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中最大者。例如:1080其零的个数是2,各位数字中最大者是8。
#include <stdio.h>
void main(void)
{
unsigned long num, max, t;
int count;
count=max=0;
scanf("%ld", &num);
do {
t= ;
if(t==0) ++count;
else
if(max<t) ;
num/=10;
} while(num);
printf("count=%d,max=%ld\n", count, max);
}

3、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数。
#include <stdio.h>
void main(void)
{
int i, j;
for(i=0; [13]; i++) {
j = i*10+6;
if ( ) continue;
printf("%d",j);
}
}

4、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。
void exchange(int *x, int *y)
{
int t;
t=*y;
*y = ;
*x = ;
}

三、 阅读程序,写出程序的输出结果(24分)
1、#include <stdio.h>
void main(void)
{
char *s, *s1 = “here is”, *s2 = “key”;
s = s1;
while (*s1!=’\0’) s1++;
while (*s1++=*s2++);
s2 = s;
while (*s2!=’\0’) s2++
printf(“%d\n”, s2-s);
}

2、#include <STDIO.H>
void main(void)
{
static int a[] = {1, 3, 5, 7};
int *p[3] = {a+2, a+1, a};
int **q = p;
printf(“%d\n”, *(p[0]+1) + **(q+2));
}

3、include <stdio.h>
void main(void)
{
int num,c;
printf("请输入一个整数:");
scanf("%d",&num);
do {
c=num%10;
printf("%d",c);
} while((num/=10)>0);
printf("\n");
}

4、include <stdio.h>
fut(int **s, int p[2][3])
{
**s=p[1][1];
}
void main(void)
{
int a[2][3] = {1,3,5,7,9,11}, *p;
p = (int *) malloc(sizeof(int));
fut(&p,a);
printf("%d\n",*P);
}

四、 编程(35分)
(1)sum=2+5+8+11+14----,输入正整数n,求sum的前n项和。
(2)求1~100间的素数(素数>1,且除了1和自身外,不能被任何其它整数整除。
(3)使用指针数组对输入输入的3个整数序列(每个序列5个整数)进行排序,排序方法
不限。
(10) 有15个数存放在一个数组中,输入一个数,用折半查找法找出该数是数组中第几个元素。若该数不在数组中,则打印出“No found”。

1. D

二、 程序填空(26分)
1、求1!+2!+3!+。。。+10!
#include <stdio.h>
void main(void)
{
float s = 0, t = 1;
int n;
for (n=1; n<=10 ; n++)
{
t*=n ; //该这句
S+= t ;
}
printf(“1!+2!+3!+。。。+10!=%f”, s);
}

2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中最大者。例如:1080其零的个数是2,各位数字中最大者是8。
#include <stdio.h>
void main(void)
{
unsigned long num, max, t;
int count;
count=max=0;
scanf("%ld", &num);
do {
t=num%10; //这句
if(t==0) ++count;
else
if(max<t) ;
num/=10;
} while(num);
printf("count=%d,max=%ld\n", count, max);
}

3、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数。
#include <stdio.h>
void main(void)
{
int i, j;
for(i=0;i<10; i++) { //貌似[13]是错的,我改了
j = i*10+6;
if (j%3) continue; //这句就行了
printf("%d",j);
}
}

4、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。
void exchange(int *x, int *y)
{
int t;
t=*y;
*y =*x; //两句已填写
*x =t;
}

三、 阅读程序,写出程序的输出结果(24分)
1。 7
2. 6 (5+1)
3 输入:6
,输出:6
输入:123
输入:321

4。 9
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-25
1.D
二1..#include <stdio.h>
void main(void)
{
float s = 0, t = 1;
int n;
for (n=1; n<=10 ; n++)
{
t*=n ;
S+= t ;
}
printf(“1!+2!+3!+。。。+10!=%f”, s);
}
2.#include <stdio.h>
void main(void)
{
unsigned long num, max, t;
int count;
count=max=0;
scanf("%ld", &num);
do {
t=num%10 ;
if(t==0) ++count;
else
if(max<t) ;
num/=10;
} while(num);
printf("count=%d,max=%ld\n", count, max);
}
3.#include <stdio.h>
void main(void)
{
int i, j;
for(i=0; i<10; i++) {
j = i*10+6;
if ( j%3!=0) continue;
printf("%d",j);
}
}
4.void exchange(int *x, int *y)
{
int t;
t=*y;
*y = *x; ;
*x = t;
}

1.10
2.6
3. 倒叙输出num
4.9
满意的话再做第四道题
相似回答