怎么用C语言做一个一元多项式的程序

怎么用C语言做一个一元多项式的程序,第1张

#include <stdio.h>

#include<windows.h>

void re(int max,int number)                //判断符号输出

int main()

{   

    int number[101]={0}                    //存放指数幂

    int x1,x2

    int esc=1,max=0

    for(int i=0esc==1i++) {

        scanf("%d %d",&x1,&x2)

        if(i==0) {

            max=x1

        }

        if(x2!=0){

            number[x1]+=x2                 //同一个次幂的系数都存在数组的同一个位置

            // printf("%d",number[x1]) 

        }

        if(x1==0) {                         //数据停止录入的指令

            esc=0

        }

        // printf("min=%d,max=%d\n",min,max)

    }

    int n_number[101]={0}                      //存放指数幂

    int n_max=0

    for(int i=0esc==0i++) {

        scanf("%d %d",&x1,&x2)

        if(i==0) {

            n_max=x1

        }

        if(x2!=0){

            n_number[x1]+=x2                   //同一个次幂的系数都存在数组的同一个位置

            // printf("%d",number[x1]) 

        }

        if(x1==0) {                             //数据停止录入的指令

            esc=1

        }

        // printf("min=%d,max=%d\n",min,max)

    }

    if(n_max>max) {                             //整个if用于将两个多项式的系数传给其中最大幂指数较大的数组

        for(int i=4i>=0i--) {                     

            if(number[i]!=0||n_number[i]!=0) {

                n_number[i]+=number[i]

                // printf("n_number[%d]=%d\n",i,n_number)

            }

            if(n_number[i]!=0){

                int data=n_number[i]

                // printf("%d",n_number[i])

                re(i,data)

            }

        }

    }else {

        for(int i=100i>=0i--) {

            if(number[i]!=0||n_number[i]!=0) {

                number[i]+=n_number[i]

            }

            if(number[i]!=0) {

                int data=number[i]

                // printf("%d",number[i])

                re(i,data)

            }                                       

        }

    }

    printf("\n")

   system("pause")

    return 0

}

void re(int i,int number)

{

    if(number!=1){

        printf("%d",number)                //如果系数为1不输出系数,如果系数为-1输出负号

    }else if(number==-1) {

        printf("-")

    }

    if(i) {                                 //当指数不为0时输出x

        printf("x")

    }

    if(i>1) {                               //防止出现幂数为1的情况

        printf("%d",i)

    }

    if(i>0&&number>0){                  //系数为负数时不输出+号

        printf("+")

    }

}

#include <stdio.h>

#include <stdlib.h>

int main(){

int c1, c2, c5, cnt = 0

printf("1元硬币有以下这些兑换方法:")

for(c1 = 0c1 <= 100c1++)

for(c2 = 0c2 <= 50c2++)

for(c5 = 0c5 <= 20c5++)

if(c1 * 1 + c2 * 2 + c5 * 5 == 100){

printf("%3d个1分硬币、%3d个2分硬币、%3d个5分硬币\n", c1, c2, c5)

cnt++

}

printf("共有%d种兑换方法。\n", cnt)

return 0

}

扩展资料:

1、printf()函数

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:

int printf(const char *format, ...)

函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。

printf()函数的调用格式为:

printf("<格式化字符串>", <参量表>)

2、for循环

for循环小括号里第一个“”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。

“”号之间的条件表达式是一个关系表达式,其为循环的正式开端,当条件表达式成立时执行中间循环体。

参考资料来源:百度百科-for循环

参考资料来源:百度百科-printf()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12139527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存