一、写运行结果
1. main()
{  int  a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3], *q=p+2;
printf("%d\n", *p + *q);
}
执行结果是  10 

2. 下面程序段的执行结果是( 9.5 )
#define PT 5.5
      #define S(x) PT*x*x
main( )
      { int a=1b=2;
printf(“%4.1f\n”S(a+b))
}
3. main()
  { int a=0,i;
  for(i=0;i<5;i++)
  { switch(i)
  { case 0:
  case 3:a+=2;
  case 1:
    case 2:a+=3;
  default:a+=5;
}
  printf("%d\n",a);
  }

执行结果是  41 
4. main( )
      { char *p[10]={“abc”, “aabdfg”, “dcdbe”, “abbd”, “cd”};
      printf(“%d\n”,strlen(p[4]));
      }
执行结果是  2     

5. main()
  { int i=0,x=0;
  for (;;)
  { if(i==3||i==5) continue;
  if (i==6) break;
  i++; s+=i;
  };
  printf("%d\n",s);  }
执行结果是  8   
6. main()
  { char a='a',b;
  printf("%c,",++a);
  printf("%c\n",b=a++);
  }
  程序运行后的输出结果是    b  ,  b 
7. int f()
{ static int i=0;
Int s=1;
s+=i;
i++;
return s;
}
main()
{ int i,a=0;
for(i=0;i<5;i++) a+=f();
printf("%d\n",a);
}
printf函数的作用是向终端程序运行后的输出结果是 15   
8. int  d=1l;
    fun (int p)
    { int  d=5;
    d+=p++;
    printf("%d,",d); }
    main()
    {int  a=3;
    fun(a);
    d+=a++;
    printf("%d\n",d); }
输出结果为:___8,  4_
9. main()
{int x=3,y=6,a=0;
while(x++!=(y-=1))
  {a+=1;
  if(y<x) break;
}
printf(“x=%d,y=%d,a=%d\n”,x,y,a);}
输出结果为:___5, 4, 1 _____
10. int fun(int  x,int  y,int  *cp,int  *dp)
    { *cp=x+y;    *dp=x-y;  }
main()
{int a, b, c, d;
a=30;  b=50;
fun(a,b,&c,&d);
printf("%d,%d\n", c, d);
}
  输出结果是_80 -20_____
二、完善程序
1、以下函数的功能是计算s=1+1/2!+1/3!+……+1/n!,请填空。
double fun(int n)
{double s=0.0,fac;
int i;
  fac=1.0      ;
for(i=1;i<=n;i++)
{fac= fac*i  ; 
s=s+1/fac;
}
return  s    ;
}
   
  2、顺序输出50——100之间的素数
    #include”stdio.h”
      #include”math.h
    main()
    {int j=0,n,k,i,flag;
    for( n=51; n<100;n=n+2)
    {k=sqrt((double)n); i=2; flag=0;
      while(  i<=k    )&&(flag==0))
        {if(n%i==0)    flag=1     
          i=i+1;}
if ( flag==0 )
  {j=j+1;printf(“%d”,n);}
}
}
3 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。
  请填空。
  main()
  { int i,a[20],sum,count;
  __ int sum=0,count=o;___
  for(i=0;i<20;i++) scanf("%d", _&a[i]_ ___ );
  for(i=0;i<20;i++)
  { if(a>0)
  { count++;
  sum+= _a[i] ____ ;
  }
  }
  printf("sum=%d,count=%d\n",sum,count);
  }
4. 以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0,请填空
int isprime(int a)
{ int i;
for(i=2;i<=a/2;i++)
if(a%i==0) _return 0_ ___;
_return 1 ___;
}
5通过函数求f(x)的累加和,其中fx)=x21
main()
  {
  printf("The sum=%d\n",SunFun(10));
  }
  SunFun(int n)
  {
  int x,s=0;
  for(x=0;x<=n;x++) s+=F__x______;
  return s;
  }
  F( int x)
  { return _(x*x+1)______;}
6. 以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。
main()
{ int i,j;
for(i=0;__i<=9__;i++)
{ j=i*10+6;
if(_j%3!=0____) continue;
printf(“%d ”,j);
}
}
7.下面的程序是对一维数组的10个元素中的前5个元素与后5个元素对换,即a(0) a(9)互换,a(1)a(8)互换,…, 填空将程序补充完整。
#include "stdio.h"
void main()
{ int a[10], i,t;
  printf("Input the data:\n");
  for(i=0;i<10;i++)
scanf("%d",&a[i]);
    for(i=0;_____i<=4____;i++)           
      {t=a[i];___a[i]=a[9-i]_________;____⑨a[9-i]=t_______;} 
    for(i=0; i<10; i++)
      printf("%6d",a[i]);
}

三、编程题
1. 编程实现从键盘上输入10个整数,排序(从小到大)后输出。
#include<stdio.h>
void main()
{
int a[11];
int i,j,temp;
printf("please in put ten numbers:\n");
for(i=0;i<10;i++)
  scanf("%d",&a[i]);
for(i=0;i<10;i++)
  for(j=0;j<9-i;j++)
  if(a[j]>a[j+1])
  {
    temp=a[j];
    a[j]=a[j+1];
    a[j+1]=temp;
  }
    printf("结果是:\n");
    for(i=0;i<10;i++)
    printf("%3d",a[i]);
    printf("\n");
}

2. 编制一个C程序,求 (即求1+1/2+1/3+…+1/20!)
#include<stdio.h>
void main()
{
int n,i,j;
float sum=0,l=1.0;
scanf("%d",&n);
for( i=1;i<=20;i++)
{
  l=1.0;
  for( j=1;j<=i;j++)
  {
  l=l*j;
 
  }
sum+=1.0/l;
}
printf("%f",sum);
}

3. 编写函数判断数n是否是素数,在主函数中调用该函数输出200300之间的所有素数.
(1)#include<stdio.h>
#include<math.h>
int isprime(int n)
{
int w,k,i;
k=sqrt(n),w=1;
for(i=2;i<sqrt(n)&&w==1;i++)
  if(n%i==0) w=0;
return w;
}
void main()
{
int n,i;
for(n=200,i=0;n<=300;n++)
{
  if(isprime(n))
  {
  printf("%4d",n);
  i++;
  if(i%10==0)
    printf("\n");
  }
}
}
(2)#include<stdio.h>
#include<math.h>
int prime(int n)
{
int m,i=2,t;
t=(int)sqrt(n)
for(;i<=t;i++)
  if(n%i==0)/
  {
  m=0;
      break;
  }
  if(i>t)
    m=1;
  else continue;
  return m;
}
void main()
{
int n;
int i;
printf("请输入你要判断的数!\n");
scanf("%d",&n);
if(prime(n))
  printf("是素数!\n");
else
  printf("不是素数!\n");
printf("输出200-300之间的素数:\n");
for(i=200;i<=300;i++)
{
  if(prime(i))/*利用已经写好的函数判断i是否是素数!如果函数返回1证明是素数则输出!否则(即运行到elsecontinue*/
  printf("%-4d",i);
  else continue;
}
printf("\n");
}

4. 从键盘输入两个正整数,求其最大公约数并输出结果。(要求主函数实现数据输入、输出以及调用;另外再写一个函数求最大公约数,并用主函数调用)。
#include<stdio.h>
int f(int a,int b)
{
int y;
  y=a%b;
  return(y);
}
int g(int num1,int num2)
{
int h,a;
  h=num1*num2/a;
return(h);
}
void main()
{
int num1,num2,a,b,temp;
printf("please input two number:\n");
scanf("%d%d",&num1,&num2);
if(num1>num2)
{
temp=num1;num1=num2;num2=temp;
}
a=num1;b=num2;
while(b!=0)
{temp=f(a,b);a=b;b=temp;}
printf("最大公约数:%d\n",a);
printf("最小公倍数:%d\n",g(num1,num2));
}
你在哪个考场,祝你明天好运!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。