HZNU1837——一道简单的方程

HZNU1837——一道简单的方程_第1张图片

HZNU1837——一道简单的方程_第2张图片

这道题的题意 想必大家都能看懂吧 就是简单的合并同类项。

这道题的主要难点在于output里面的“(其中q, w是合并同类项后的值,若w是负数则把+号变成-号。若是0则不输出此项(ps:全是0需要输出0),包括运算符)”这句话。

只要你搞懂了这句话,这道题你基本上就没有任何的问题了。这句话的意思就是如果你q,w都是0的话,那么只输出0,如果w是0的话,只输出q,如果q是0的话,输出wx,否则输出q+wx。

如果有哪个地方没理解的可以问一下我或者苏桐渤学长这些人(希望苏桐渤学长看到以后不会打死我,希望我没事。

HZNU1837——一道简单的方程_第3张图片HZNU1837——一道简单的方程_第4张图片HZNU1837——一道简单的方程_第5张图片

 

 

接下来是题目的代码:第一种是比较复杂的,它分为5种情况:1.q不等于0,w大于0;2.q不等于0,w小于0;3.q不等于0,w等于0;4,q等于0,w不等于0;5,q,w都等于0.

 

代码如下:

 1  1 #include
 2  2 int main() {
 3  3     int a, b, c, d,q,w;
 4  4     while (scanf("%d%d%d%d", &a, &b, &c, &d) != EOF) {
 5  5         q = a + c;
 6  6         w = b + d;
 7  7         if (q != 0 && w > 0)printf("%d+%dx\n", q, w);
 8  8         else if (q != 0 && w < 0) {
 9  9             w = -w;
10 10             printf("%d-%dx\n", q, w);
11 11         }
12 12         else if (q != 0 && w == 0) printf("%d\n", q);
13 13         else if (q == 0 && w != 0) printf("%dx\n", w);
14 14         else if (q == 0 && w == 0)printf("0\n");
15 15     }
16 16 }
View Code

 

 

 

 

 接下来是简单的,这一种只要考虑到3种情况:1,w等于0;2,q等于0;3,w,q都不等于0;

因为上一个代码,q不等于0的话,w正的时候,你输出的话,只会输出qwx,就没有+号了,所以我们需要用到%+d这个神奇的东西了;

代码如下:

 1 #include
 2 int main(){
 3     int a,b,c,d;
 4     while(~scanf("%d%d%d%d",&a,&b,&c,&d)){
 5         int q=a+c;
 6         int w=b+d;
 7         if(w==0)printf("%d\n",q);
 8         else if(q==0)printf("%dx\n",w);
 9         else printf("%d%+dx\n",q,w);
10     }
11 } 
View Code

最后,我在这里祝大家身体健康,刷题愉快(应该不会有人想打我吧QAQ)

 

神兽压场

 1 /**********/**********/**********//**********//**********//**********//**********/  
 2 
                    

你可能感兴趣的:(HZNU1837——一道简单的方程)