期末编程题参考代码

来源:互联网 发布:python开发环境搭建 编辑:程序博客网 时间:2024/05/16 08:26

以下为期末编程题参考代码,此代码仅供参考,绝对不允许原样复制。

其实每个题目都不止一种实现代码,大家多写几种实现代码,并比较它们的执行效率,这样才能用更大的进步。


/*设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),求N的值.*/

#include<stdio.h>
int main(void)
{   int  a,b,c,d,N,n;
    for(N=1000;N<=1111;N++)
    { a=N/1000;  /*求四位数的反序n*/
      b=(N%1000)/100;
      c=(N/10)%10;
      d=N%10;
      n=1000*d+100*c+10*b+a;
      if(9*N==n){ printf("N=%d\n",N);}
    }
    system("pause");
    return 0;

}


/*打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身.*/
/*第1种方法,程序执行效率高于下面的第2种方法*/
#include<stdio.h>
int main()
{   int  a, b, c, N;
    for(N=100;N<=999;N++)
    { a=N/100;  /*求四位数的反序n*/
      b=(N%100)/10;
      c=N%10;
      if(N==a*a*a+b*b*b+c*c*c){ printf("水仙花数=%d\n",N);}
    }
    system("pause");
    return 0;
}
/*第2种方法*/
#include<stdio.h>
int main(void)
{
    int i, j, k;
    for (i=1;i<=9;i++)
      for (j=0;j<=9;j++)
for (k=0;k<=9;k++)
{
   if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)
       printf("水仙花数=%d\n",i*100+j*10+k);
}
    system("pause");
    return 0;
}


/*有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值*/
#include <stdio.h>
int main(void)
{
    float x;
    int y;
    printf("Please enter x:");
    scanf("%f",&x);
    if(x < 0)
        y = 1;
    else if (x > 0)
        y = 3;
    else
        y = 5;
    printf("y=%d\n", y);
    system("pause");
    return 0;
}


/*求1-1000之间的所有奇数的和并输出*/
#include <stdio.h>
int main(void)
{
    int i;
    long sum=0;
    for( i=1; i<=1000; i+=2 )
    {
        sum += i;
    }
    printf("sum=%ld\n",sum);
    system("pause");
    return 0;
}


/*编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数*/ 
#include<stdio.h>
#include<math.h>
int IsPrimeNumber(int number);/* IsPrimeNumber函数原型声明*/
int main(void)
{
    int n;
    printf("请输入一个大于1的自然数:");
    scanf("%d",&n);
    while(n<=1)                         /*输入的n值不合法时,提示用户重新输入*/
    {
       printf("输入错误,请重新输入:");
       scanf("%d",&n);
    }
    if(IsPrimeNumber(n))               /*n是素数时*/
printf("%d是素数\n",n);
    else                               /*n不是素数时*/
       printf("%d不是素数\n",n);
    system("pause");                   /*程序暂停*/
    return 0;
}

/****************************************************************************
  *函数名:  IsPrimeNumber
  *函数功能描述:判断一个数是否为素数
  *调用本函数的函数:  main
  *输入参数:  number: 形参,用于存储一个素数
  *返回值:  int,为0,表示number为素数;为1,表示number不是素数
*****************************************************************************/
int IsPrimeNumber(int number)
{
    int i;
    for(i=2;i<=sqrt(number);i++)
    {
if ((number%i)==0)
   return 0;
     }
     return 1;
}


/*定义函数volumeZ,功能是求圆锥体积。在主函数中输入半径r和高h,调用函数areaZ求体积,并在主函数中输出圆锥的体积,其中变量r,h均为double型数据。(公式v=h*3.14*r2/3)*/
#include <stdio.h>

double volumeZ(double r, double h);/* volumeZ函数原型声明*/

int main(void)
{
    double r;
    double h;
    double volume;
    printf("Please input the height and radius:");
    scanf("%lf%lf", &r, &h);
    volume = volumeZ(r,h);
    printf("The cone's volume is %.2lf\n",volume);
    system("pause");
    return 0;
}

/****************************************************************************
  *Function:  volumeZ
  *Description:求圆锥体积
  *Called By:  main
  *Input:  r: 形参,用于存储圆锥体底面半径;h:形参,用于存储圆锥体的高
  *Return:  int,求得的圆锥体积
******************************************************************************/
double volumeZ(double r, double h)
{
    double volume;
    volume = h*3.14*r*r/3;
    return volume;
}
0 0
原创粉丝点击