以下为期末编程题参考代码,此代码仅供参考,绝对不允许原样复制。
其实每个题目都不止一种实现代码,大家多写几种实现代码,并比较它们的执行效率,这样才能用更大的进步。
/*设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;
}
/*第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;
}