
正文
c语言库函数如何化简 c语言中的库函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何用C语言简化一个算术表达式。表达式中含未知数,故无法直接算出结果,但希望将其化简。
1去括号,2合并同类项;将数据存储为适合做上述两种操作。MATLAB里面有符号运算的专门工具,现在不要再用C语言实现了,应该比较复杂
相关问答
Q1: 用C语言编程实现逻辑函数化简,急!急!
现有一链表c语言库函数如何化简,有若干个结点c语言库函数如何化简,没个结点有ID[ N]c语言库函数如何化简的数组ID[0]存着ID 数组中存的数字的长度,
比如c语言库函数如何化简:
结点P1- ID[0]=2 是 3 14
结点P2 -ID[0]=2 是 14 15
结点P3- ID[0]=2 是 15 22
可以用下面的表描述
14 15
P1 1
P2 1 1
P3 1
注:P-ID[0]为2的n次,肯定是2,4,8,16,32,………..这样的数字
注: 14 15 是针对的数字,在这里,P2,P1并p3都可以“覆盖” 14 15两个数字,
但是 很明显P2单独一个可以“覆盖”14 15 两个针对数字,
所以,我们的算法就是要找出可以 满足“覆盖”并且项数最少的单个 P_或者项数最少的组合!
还有,表里每个列都会有两个或两个以上的1的,因为,由Q-M方法化简,前面的步骤已经将一个1的列过滤了的!
又如:
结点P1 ID[0]=2 是 13 14
结点P2 ID[0]=4 是 14 15 22 24
结点P3 ID[0]=2 是 14 16
结点P4 ID[0]=2 是 13 16
13 14 15 16
P1 1 1
P2 1 1
P3 1 1
P4 1 1
P1并P3c语言库函数如何化简; P2并P4
都是满足条件的算法结果。
------------------------------------------------------------ ----------------------------------------------------------
以上其实是Q-M方法化简逻辑函数的最后一步,由前面的算法产生的PN的链表的长度是不确定的(也就是P1,P2,P3,………具体个数,每次针对不同逻辑函数会有不同的个数)
13 14 15 16 这样的针对项的个数也不确定的,(也就是针对项的具体个数,每次针对不同逻辑函数也会有不同的个数)
本人的算法,写到此处后,对于这个问题暂时找不到合适的有技巧的方法 去解决,希望大家共同合作,给我点意见,思路,或者伪代码,都可以,本人是学C 的是类C 的伪码更好一点,谢谢,诸位!!
Q2: 如何用C语言,实现简单的分数化简
找分母分子的最大公约数,然后同除以这个数
#includestdio.h
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
int main()
{
int x,y;
while(scanf("%d/%d",x,y)!=EOF)
{
if(y==0)
{
printf("分母不能为0\n");
continue;
}
int c=gcd(x,y);
x/=c;
y/=c;
printf("%d/%d\n",x,y);
}
return 0;
}
Q3: 如何用C语言,实现简单的分数化简
/*
Note:Your
choice
is
C
IDE
*/
//如何实现简单分数的化简
#include
"stdio.h"
//只要找出最大的因子就行了
辗转相除法
int
gcd(int
n,int
m)
{
int
temp,r;
//把大的数放在n里面
if(nm)
{
temp=n;
n=m;
m=temp;
}
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
return
n;
}
void
main()
{
int
a,b;//a是分子
b是分母
printf("please
input
a
and
b:");
scanf("%d%d",a,b);
printf("%d/%d",a/gcd(a,b),b/gcd(a,b));
}
求加分
Q4: 解释C语言(逐句) 解一元一次方程的
#includestdio.h
#includestring.h
//前面两个是库函数,第一个用于输入输出,第二个用于调用对字符串的各种操作
//下面是main函数主体,定义为void类型则最后不需要return返回值,若定义为int则需要返回
void main()
{
char s[20], *p, b[10], ch; //定义了四个变量,S[20],b[10]是字符串数组,P是字符串指针,用
//于指向一个字符串,ch是字符变量
int i=0, f=0, f1=1; //定义int型的变量,变量作用下面会说明
int x=0, c=0;
int u=0;
gets(s); // gets()函数是库函数,用于从键盘接受你输入的一串东西,只接受你回车键以前
//的内容
p=s; //让指针p 指向 上面gets()函数接收到的那串字符,就是把那串字符的首地址给p
while(*++p!='\0'); //一个while循环,由于p只是指向那串字符的首地址,因此循环的作用是到达
//那串字符的末尾,'\0'表示一串字符串结束了,'\0'不是你输的,而是一串字
//符结束后,系统自动添上去的
*p=' '; *(p+1)='\0'; //上面while循环结束后p指针已经指向字符串的末尾了,现在把字符串的最
//后一位变为' '(空格),这时候需要自己给字符串末尾添加结束标志'\0',因
//为你把字符串单个执行系统不会自动给你添了
p=s; //上面p指针已经通过while循环跑到字符串末尾了,因此需要重新赋值下,
//这样p又一次指向字符串s的开头
//下面是解一元一次方程的过程,主体还是一个while循环
while(*p!='\0') //*p!='\0'是指只要p指针没指向字符串结束的位置,就一直循环
{
if(*p='0'*p='9') { b[i++]=*p; f=1; } //判断p此时指向的那个字符是否属于0-9的数字,
//如果是则把p指向的内容放在b数组
//否则执行else语句,并让f=1(f本来为0),注意
//i++使b数组递增
else
if(f==1) { //现在是else的部分,说明p指向的那个字符不是0-9了,而是其c语言库函数如何化简他字符
if(*p='a'*p='z') { //上面说到p指向的不是0-9,现在判断p是否指向a-z的26个字符,
//其实这样写是有问题的,万一你输入大写字母,结果会出错,建议改为 if(*p='a'*p='z'||*p='A'*p='Z')
ch=*p; //*p是指p指针指向的那个字符,注意p指向的是地址,*P代表p地址处存放
//的数据
//b数组中存放的是字符串中的数字部分,下面的if跟else分别是把char类型的数字转换为int型
//if是处理负数的情况,else处理正数的情况,如何判断正负数是通过,f1,u的值来看的
if((u==0f1==0)||(u==1f1==1)) {
b[i]='\0';
f=0; i=0; u=0;
x=x+ atoi(b)*(-1); //atoi()是库函数,把char类型的数据转换为int型
//x=x+ atoi(b)*(-1); 等效于 x+=atoi(b)*(-1);
} // end if((u==0f1==0)||(u==1f1==1))
else {
b[i]='\0';
f=0; i=0; u=0;
x+=atoi(b);
} //end else
} //end if(*p='a'*p='z')
//上面所有操作是在 if(*p='a'*p='z')内进行的,也就是遇到字母的时候,
//所以x最后的值存储的是变量(一元函数中的那个要求的值如2x=9中的x)的前缀
//(方程2x=9中2是叫前缀吗c语言库函数如何化简?)
//不对,那个2叫系数
else
if((u==0f1==0)||(u==1f1==1)) { b[i]='\0'; f=0; i=0; u=0; c+=atoi(b); }
else { b[i]='\0'; f=0; i=0;u=0; c=c+ atoi(b)*(-1);}
//上面两句是else中的内容,说明遇到的不是字母,因此c不是指系数,而是值,
//(比如2x=9中的9)
} //end if(f==1)
//到此判断p指向的那个字符的判断过程就结束了,但一次while循环没跑完,下面是指当遇到为负
//数的情况下,应该使u=1
//u=1就告诉c语言库函数如何化简我们遇到负数了,f1是指遇到=该怎么处理
if(*p=='-') u=1;
if(*p=='=') f1=0;
p++;
} //end while
//while循环到此结束,此时已经把一个一元方程化简了
//比如输入 2a+3a+6=12,可以认为他已经化简为 5a=6的形式
//而且系数5存放在变量x中,值6存放在c中,变量名字a存放在ch中
printf("%c=%d",ch,c/x); //输出结果
getch(); //可以不要,在windows平台下从控制台无回显地取一个字符
}
//最后告诉楼主一点,这样写太繁琐了,如果楼主用栈来实现,不可实现多元多次方程求解,而
//且就很简单的一个后缀式来处理
//不用这样各种if else来回判
//ps: 建文件的时候一定要写成c语言的**.c形式,不要写成c++的**.cpp格式,否则会报错
//因为atoi(),等函数在c++中的参数跟c中不一样,这样写会报错
Q5: C语言中如果一段语句多次重复使用,怎么化简?
两种方法c语言库函数如何化简,一是定义为宏c语言库函数如何化简,二是定义为函数。两种方法都可以减少程序书写c语言库函数如何化简,都可以统一修改。
关于c语言库函数如何化简和c语言中的库函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






