#includestdio.h
成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,10多年企业及个人网站建设经验 ,为成都上千余家客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,成都品牌网站建设,同时也为不同行业的客户提供网站制作、网站设计的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选创新互联公司。
int main()
{
int sum(int);
int factorial(int);
int n,s;
long int p;
printf("请输入n值:\n");
scanf("%d",n);
s=sum(n);
p=factorial(n);
printf("1+2+3+...+n=%d\n",s);
printf("n!=%ld\n",p);
return 0;
}
int sum(int x)
{
int a=0;
for(int i=0;i=x;i++)
a=a+i;
return a;
}
int factorial(int y)
{
int b=1;
for(int i=1;i=y;i++)
b=b*i;
return b;
}
因为阶乘会得到很大的结果,会超出p的范围,所以n值不能太大,否则阶乘没有结果(或不对),只有加法的结果;
只是个例子,不可照抄。
实验内容与要求:
[实验内容]
1、 通过本试验初步培养计算机逻辑解题能力。熟练掌握赋值语句和if语句的应用;掌握switch多路分支语句和if嵌套语句的使用
2、 将前期所学习到的基本数据类型、运算符和表达式等程序设计基础知识运用于具体的程序设计。
3、 进一步熟练掌握输入输出函数scanf, printf和getchar的使用,熟悉math.h中常用数学函数的使用方法
4、 掌握循环语句的应用方法。
5、 了解随机数生成函数。
[实验要求]
在规定期限独立完成实验内容
1、 提交实验报告(电子版)
2、 提交相应源程序文件(文件名 EX6_x姓名.c, 如EX6_1彭健.c)
3、 要求从简单到复杂,后面的要求均在前面的基础上进行修改,前六题,每题均需要保留各自的程序,六题以后,每题均在前一题基础上修改,保留最后一个程序即可(如做到第九题,则保留EX6_9姓名.c,做到第11题,则保留ex6_11姓名.c)
二、实验原理和设计方案:
1、函数头的选则,while循环语句,switch(case)语句,条件表达式,if else条件语句,自增运算符,设置复杂变量,输出随机操作数。
2、 变量要有分数变量和等级变量,要有选择算法题数的变量和计算正确与否的变量,要有随机输出的两个操作数变量和自己按运算符号输入结果的变量,最后还有判断是否要进行的变量字符。中间结果有选择运算符的switch()和分数等级的switch()和错题对题的自增和选择运算符计算的自增。
3、 问题的分析方法:先考虑设置整形变量和字符变量,考虑到要不断循环计算,选择用while语句来循环。在循环体中,将前面的输出提示运算符,和自行选择运算符、答案及输出随机操作数完成。再用switch语句对选择的运算符进行判断,并用变量进行自增运算,计算出错题于对题个数和选择了那种运算符号。在循环体最后用if else语句来判断是否继续执行还是跳出循环。最后根据自增计算的结果和公式进行分数计算,并用switch语句来是想等级的制定。
三、源代码
#include
#include
#include
void main()
{
..........
}
四、试验结果和启发
因为输入y要继续循环,所以选择用while语句。在while语句中要结合前面的按提示计算,并嵌套switch语句并用条件表达式,来计算结果正确与否,计算的题型是什么。最后再用switch语句来完成分数等级的判断。
五、实验体会:
描述自己在编程或程序编译运行中遇到的难点和问题及解决的办法。
#include math.h
int primeNum(int p)
{
int i, q;
/* Negative number is not a prime */
if (p 0)
return 0;
q = (int) sqrt(p);
for (i = 2; i q; i++)
if ((p % i) == 0)
return 0;
/* No factor of p is found */
return 1;
}
/*原理::
从2-sqrt(x)的数中看是否有可以整除的, 如果没有, 则为素数.
*/
姓名 ***
**学 院 ** 专业 052 班
2007 年 11 月 24 日
实验内容实验五 指导老师 陈老师
一、实验内容及要求:
编译运行习题5-3,观察x、y变量的值。
实现客户机类(类名为CLIENT),其中包含的成员有:字符型静态数据成员ServerName,用来保存服务器名称;整型静态数据成员ClientNum,记录已定义的客户数量;静态函数ChangeServerName(),用来改变服务器名称。在头文件client.h中声明这个类,在文件client.cpp中实现,在文件test.cpp中测试这个类,观察相应的成员变量取值的变化情况。二、实验目的:
1、复习类的声明和使用、掌握对象的声明和使用;
2、学习构造函数和析构函数的使用,观察构造函数和析构函数的执行过程。
三、程序:
//client.h
class Client
{
public:
Client();
~Client();
static ChangeServerName(char *); //改变服务器名称
char * GetServerName(); //返回服务器名称
int GetClientNum (); //返回客户机数量
protected:
static char ServerName[20]; //服务器名称
static int ClientNum; //存放服务器数量
};
/////////////////////////////////////////////////////
//client.cpp
# include iostream
# include cstring
# include "client.h"
using namespace std;
static char *ServerName = "";
int Client::ClientNum = 0;
Client::Client()
{ClientNum ++;}
Client::~Client(){}
void Client::ChangeServerName(char * names) //改变服务器名称
{strcpy(ServerName,names);}
char * GetServerName() //返回服务器名称
{return ServerName;}
int GetClientNum () //返回服务器数量
{return ClientNum;}
////////////////////////////////////////////////////////
//test.cpp
# include iostream
# include "client.cpp"
using namespace std;
void main() //用于测试的主函数
{
Client threeclient[3];
char namestr[20]; //临时存放服务器名称
cout"定义了3个客户"endl;
cout"请输入新服务器名称:"endl;
cin namestr;
CC.ChangeServerName(namestr);
cout"服务器的名称是"Client::GetServerName()endl;
cout"客户数量为"CC.GetClientNum ();
}
思考题:
(1)C语言有五种基本数据类型:字符、整型、单精度实型、双精度实型和空类型。结构体可以定义自己所需特殊类型.其他类型是已经定义好,不可修改的,而结构体是根据自己的需要定义的特殊的类型.
(3)采用了循环,复合语句.