C语言期末习题(部分)

  • 程序填空题

1以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串,例如,输入字符串abc123ed456gh,执行程序后输出123456。请填空。

main()

{  char s[80],d[80];        int i,j;

   gets(s);

   for(i=j=0;s[i]!='\0';i++)

          if( s[i]>=’1’&&s[i]<=’9’       )

           {  d[j]=s[i];                  j++;      }

   d[j]='\0';

    puts(d);      

   return 0;  }

2.编程计算1+5+9+……+101的值

#include <stdio.h>

main()

{

int i, sum = 0;

for (i = 1; i<=101          ;   i=i+4        )

sum = sum + i;

printf("sum=%d\n", sum); 

}

3.以下程序是将字符串b的内容连接字符数组a的内容后面,形成新字符串a,请填空使程序完整。

main ( )

{  char a[40]=”Great ”, b[ ]=”Wall”;

int i=0,j=0 ;

while (a[i]!=’\0’) i++ ;

while (  j<strlen(b)     )

{

a[i]=b[j] ; i++ ; j++ ;

}

a[i]='\0';

printf(“%s\n”,a);}

4用递归方法,编写程序求n! 请填空。

int fac(int n) //定义递归函数fac

{

 int f;

    if(n<0)

          printf("n<0,data error!");

   else if (    n==0||n==1       )

          f=1; 

   else

          f=fac(n-1)*n;

    return(f); }

int main()

{  int n;

    int y;

    printf("请输入数字,求阶乘:");

    scanf("%d",&n);

    y=  fac(n)     ;  //调用fac函数,求n!

    printf("%d!=%d\n",n,y);

return 0;}

5. 下面程序的功能是在a数组中查找与x值相同的元素所在位置,请填空。

      #include <stdio.h>

        void  main()

         {

int a[10],i,x;

printf("input 10 integers");

         for(i=0;i<10;i++)

scanf("%d",&a[i]);

            printf("input the number you want to find x"); 

scanf("%d",   &x        );

            for(i=0;i<10;i++)

if(   a[i]==x            )

break;

            if(      i<10         )

printf("the pos of x is:%d\n",i);

            else

printf("can not find x!\n");

           }

6.下面的程序输入学生的姓名和成绩,请填空使程序完整。

struct   student

{  char  name[20];

float score;

}stu,   *p;

 void main( )

{  p=&stu;

printf(“Enter  name:”);

gets(   p->name    );

printf(“Enter   score:”);

scanf(“%f”,    &p-> score    );

printf(“Output:%s,   %f\n”,p->name,p->score);

  }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永夜天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值