/*
* 解题思路:
* 水题、输入控制好
*/
#include <stdio.h> int main( ) { int i; int k,p; int flag; int num1[ 10005 ],num2[ 10005 ] , sum; char c; while( ~scanf("%d",&k) ) { flag = p = sum = 0; getchar( ); while(( c = getchar( )) != ‘\n‘ ) { if( c == ‘ ‘ ) { if( flag ) num1[ p++ ] = (-1)*sum; else num1[ p++ ] = sum; sum = 0; flag = 0; } else if( c == ‘-‘) flag = 1; else if( c<=‘9‘ && c>=‘0‘ ) sum = sum*10 + c-‘0‘; } if( flag ) num1[ p++ ] = sum *( -1 ); else num1[ p++ ] = sum; for( i=0;i<p-1;i++ ) if( i == 0 ) num2[ i ] = num1[ i ]; else num2[ i ] = num1[ i ] + k*num2[ i-1 ]; printf("q(x):"); for( i=0;i<p-1;i++ ) printf(" %d",num2[ i ] ); puts(""); printf("r = %d\n\n",num1[ p-1 ] - num2[ p-2 ]*k*(-1)); } return 0; }
原文:http://blog.csdn.net/u011886588/article/details/19203331