【C语言】入门基础编程题二附答案

1、输入1~10之间的一个数字,输出它对应的英文单词。

#include "stdio.h"

main()

{

  int x;

  printf("please input x(1-10):\n");

  scanf("%d",&x);

  switch(x)

  {

    case 1:printf("one");break;

    case 2:printf("two");break;

    case 3:printf("three");break;

    case 4:printf("four");break;

    case 5:printf("five");break;

    case 6:printf("six");break;

    case 7:printf("server");break;

    case 8:printf("eight");break;

    case 9:printf("nine");break;

    case 10:printf("ten");break;

    }

}

2、用自然语言描述程序逻辑如下,试写程序。

①  设置环境;

②  定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0;

③  i=1;

④  如果i≤100,则转⑤,否则转⑧;

⑤  令s=0,求前i个自然数之和,并放于变量s之中;

⑥  sum=sum+s;

⑦  i增加1,转④;

⑧  输出和sum,结束。

#include "stdio.h"

main()

{

int i,j,s;

long sum=0;

    for(i=1;i<=100;i++)

    {

        s=0;

        for(j=1;j<=i;j++)

        {

            s=s+j;

        }

        sum=sum+s;

       

    }

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

}  

3用自然语言描述的程序逻辑为:(假设正确口令为123456)

①  设置环境;

②  定义变量i、flag和password,并令flag=0,i=0;

③  用户回答口令,将其赋于password变量;

④  口令正确?如果是,则flag=1,转⑥。否则转⑤;

⑤  回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥;

⑥  根据flag之值输出相应信息。

#include "stdio.h"

main()

{

 long i=0,flag=0,password;

 printf("please input password:\n");

 scanf("%ld",&password);

 do

 {

    if(password==123456)

    flag=1;

    i++;

 }while(i<3);

 if(flag==1)

 printf("口令正确!");

 else

 printf("口令不正确!");

}

4用自然语言描述的程序逻辑如下:

①  设置环境;

②  定义变量digit、x、y分别表示原始数、原始数的个位数和逆数;

③  输入原始正整数x;

  • 从x中分解出个位数字digit;

⑤  合并个位digit至逆数y中;

⑥  原始数x缩小10倍:x=x/10;

⑦  如果x非零,则转④;

⑧  输出逆数y,结束

#include "stdio.h"

main()

{

   int digit,x,y=0;

   printf("please input x:\n");

   scanf("%d",&x);

   do

   {

   digit=x%10;

   y=y*10+digit;

   x=x/10;

   } while(x);

   printf("%d",y);

}

5输入某三角形的三个边的长度,判断出这是个什么三角形(等腰、等边、任意,或不能构成)。

#include "stdio.h"

main()

{

  float a,b,c;

  printf("please input a,b,c:\n");

  scanf("%f,%f,%f",&a,&b,&c);

  if(a>0&&b>0&&c>0&&a+b>c&&b+c>a&&a+c>b)

  {

    if(a==b&&a==c&&b==c)

     {

        printf("等边三角形!");

     }

     else

     {

if(a==b||a==c||b==c)

        {

            printf("等腰三角形!");

           

        }

        else

        {

            printf("任意三角形!");

            }

        }

  }

  else

  {

    printf("不能构成三角形!");

    }

}

6输入10个数,分别统计其中正数、负数、零的个数。

#include "stdio.h"

#define N 10

main()

{

    int i,zsum=0,fsum=0,lsum=0;

    float x;

    for(i=1;i<=N;i++)

    {

        printf("请输入第%d个数:",i);

        scanf("%f",&x);

        if(x>0)

          zsum++;

        else if(x==0)

                lsum++;

              else

                fsum++;

    }

    printf("有%d个正数,%d个负数,%d个零",zsum,fsum,lsum);

}

7、先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。(设N为100)

#include "stdio.h"

#include "stdlib.h"

#include "time.h"

#define N 100

main()

{

  int i,x;

  randomize();

  for(i=1;i<=N;i++)

  {

    x=random(900)+100;

    printf("%d\t",x);

    if(x%3==0&&x%5==0&&x%7==0)

    printf("\n*%d*\n",x);

    }

   

}

8、已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。
   y=0,x=a||x=-a;  y=sqrt(a*a-x*x), -a<x<a;  y=x, x<-a||x>a.

#include "stdio.h"

#include "math.h"

main()

{

   float x,y,a;

   printf("从键盘输入a,x:\n");

   scanf("%f,%f",&a,&x);

   if(x==a||x==-a)

   {

    y=0;

   }

   else if(x>-a&&x<a)

   {

   y=sqrt(a*a-x*x);

   }

   else

   {

   y=x;

   }

   printf("y=%f",y);

}

9、计算:1/2-2/3+3/4-4/5……,前100项。

#include "stdio.h"

main()

{

   int i,t=1;

   float sum=0;

   for(i=1;i<=100;i++)

   {

   sum=sum+(t*i*1.0)/(i+1);

   t=-t;

   }

   printf("%f",sum);

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值