main()
{ int x=10,y=20,t=0;
if (x==y) t=x; x=y; y=t;
print (“%d,%d\n”,x,y);
}
程序运行后的输出结果是 ( )20,0
例题一例题二
main()
{ int p=10,a=5;
if (p=a!=0)
printf (“%d\n”,p);
else
printf (“%d\n”,p+2);
}
程序运行后的输出结果是( )1
例题三,以下程序的功能是:输出 100以内
(不包含 100)能被 3整除且个位数为 6的所有整数,请填空。
main()
{ int i,j;
for (i=0;_______;i++)
{ j=i*10+6;
if (_________) continue;
printf (“%d”,j);
}
}
i<10
j%3!=0
例题四,以下程序运行后的结果为( )
main()
{ int i;
int m=0,n=0,k=0;
for (i=9;i<=11;i++)
switch (i/10)
{ case 0,m++; n++; break;
case 10,n++; break;
default,k++; n++;
}
printf (“%d %d %d\n”,m,n,k);
}
1,3,2
例题五,写一个程序,功能为:将输入的正整数按逆序输出,例如:若输入 135则输出 531。
main ()
{ int n,s;
printf (“Enter a number:,); scanf (“%d”,&n);
printf (“Output:,);
do
{
s=n%10;
n=n/10;
printf (“%d”,s);
} while (n!=0);
printf (“\n”);
}
例题六、请写出以下程序的输出结果。
(1)
void fun (int x,int y)
{ x=x+y; y=x-y; x=x-y;
printf (“%d,%d,”,x,y);
}
main()
{ int x=2,y=3;
fun(x,y);
printf(“%d,%d\n”,x,y);
}
结果是 (3,2,2,3)
(2)
int f (int x,int y)
{
return (y-x)*x;
}
main ()
{ int a=3,b=4,c=5,d;
d= f(f(3,4),f(3,5));
printf(“%d\n”,d);
}结果是 ( 9 )
(3) 以下程序若第一个 prinf语句输出的是 5732,
则第二个 printf 语句的输出结果是 ( ).
main ()
{
int a[] = {1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf(“%x\n”,p);
printf(“%x\n”,p+9);
}
5744
例题七、采用冒泡排序法将数组 a中的元素从小到大排序,排序后结果仍存放在数组 a中。
#define N 1000
main ()
{ int a[N],n,i,j,t,m=1;
printf(“请输入要排序的个数 n=”); scanf(“%d”,&n);
printf("请输入这 n个数,");
for (i=0;i<n; ++i) scanf( "%d",&a[i]);
for (i=1;i<n;++i)
{ for (j=1;j<n-i;++j)
if (a[j]>a[j+1])
{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
}
for (i=0;i<n; ++i,++m)
{ printf("%4d",a[i]);
if (m%10==0) printf("\n");
}
}