• 大小: 127KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-29
  • 语言: C/C++
  • 标签: C语言  

资源简介

这是一个C语言实习报告,有需要的看看吧。

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#include
#define MAX   4;//最大输入个数。
int  k=0;//全局变量 用来判定是否有解
char tp[4]={0000}tpt[2000]={0}tptt[2000]={0}tre[2000]={0};//用来消除重复。tp[1-3]用来记录运算式中的3个运算符。
char op[4]={‘+‘‘*‘‘-‘‘/‘};
void count(float a[]char tem[][25]int n);//a[]中存放要输入的4个数,tem[][25]中放计算步骤,n是a[]中元素的个数。
int  q=0p=0e=0w=0t=0r=0g=0h=0v=0u=0tu=0te=0;//用于消除重复。
float group[2]={00}flow[20]={0}flo[20]={0};//
//tem[][25]中放计算步骤,n是a[]中元素的个数。
void main()
{

  char br=1;
  int d;
while (br==1)
{  float number[4];//放四个数。
  char temp[4][25]; //放运算式,初始化放四个数。
  cout<<“please insert four numbers:“;
  cout<  for(d=0;d<4;d++)
     cin>>number[d];//输入四个数
   
  for(d=0;d<4;d++)
  {     
sprintf(temp[d]“%d“(int) number[d]);
  }//初始化temp[d];
  
  count(numbertemp4);//调用count函数。
  if (k==0)
  cout<<“no answer“; 
  cout<  cout<<“press 0 end“<  scanf (“%d“&br);
}

void count(float a[]char tem[][25]int n)
{
float b[4];
char  tm[4][25];//b[4]和t[4][]作用同上(为 递归之用)。
int  ijlxy;//ij用来作双循环;l用来作加减乘除的开关;xy为后面准备递归数据之用。
/**********************************************************************************************************/
//输出部分
if(n==1)

if (fabs(a[0]-24)<0.00001)//因为要考虑除法所以用fabs函数求绝对值与24比较。
//相当于等于24时的情况。
{  
/**********************************************************************************************************/
//以下是限定输出条件:

if(tp[3]==‘-‘&&tp[2]==‘-‘&&tp[1]==‘*‘)
        {
if(te==0)
{
cout<<“\n有解为“< k=1;
te=1;
}
}//对运算符全*的只输出一遍。
else if(tp[3]==‘+‘&&(tp[2]==‘+‘||tp[0]==‘+‘)&&tp[1]==‘+‘)
        {
if(t==0)
{
cout<<“\n有解为“< k=1;
t=1;
}
}//对运算符全+的只输出一遍。

else if(tp[3]==‘+‘&&(tp[2]==‘*‘||tp[0]==‘*‘)&&tp[1]==‘+‘)
        {
if(g==0)
{
cout<<“\n有解为“< k=1;
g=1;
}
}

else if((tp[3]==‘-‘&&tp[2]==‘+‘)||(tp[3]==‘+‘&&tp[2]==‘-‘))
{
if(w==0)
{
cout<<“\n有解为“< k=1;
w=1;
}
}//对于第二次运算时取到b[0]时,第一第二个运算符是+-或-,+的只输出一遍。
else if(tp[3]==‘+‘&&tp[2]==‘+‘)
                {
if(u==0)
{
cout<<“\n有解为“< k=1;
u=1;
}
}//对于第二次运算时取到b[0]时,第一第二个运算符是++的只输出一遍
else if(tp[3]==‘*‘&&tp[2]==‘*‘)
{
if(r==0)
{
cout<<“\n有解为“< k=1;
r=1;
}
}
else if(tp[3]==‘*‘&&tp[0]==‘*‘&&tp[1]==‘+‘)
{
if(tu==0)
{
cout<<“\n有解为“< k=1;
tu=1;
}
}

else 
{ for(h=0;h {
i

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     221280  2004-10-27 19:38  356524C语言程序实习报告\C语言程序实习报告(高伟.3002204063)\可执行文件\高伟3002204063.exe

     文件          0  2004-10-26 15:46  356524C语言程序实习报告\C语言程序实习报告(高伟.3002204063)\可执行文件\输入时以空格隔开,输入0程序结束.txt

     文件       6254  2004-10-27 19:45  356524C语言程序实习报告\C语言程序实习报告(高伟.3002204063)\程序源代码\高伟3002204063.cpp

     文件     333824  2004-10-27 19:53  356524C语言程序实习报告\C语言程序实习报告(高伟.3002204063)\实习报告(题目,分析,流程图,算法描述).doc

     目录          0  2004-10-25 20:28  356524C语言程序实习报告\C语言程序实习报告(高伟.3002204063)\可执行文件

     目录          0  2004-10-25 20:28  356524C语言程序实习报告\C语言程序实习报告(高伟.3002204063)\程序源代码

     目录          0  2004-10-25 20:27  356524C语言程序实习报告\C语言程序实习报告(高伟.3002204063)

     目录          0  2008-06-17 01:03  356524C语言程序实习报告

----------- ---------  ---------- -----  ----

               561358                    8


评论

共有 条评论