看起来好像有点烦,其实只要区分各个变量其实也没什么问题,只是U要一般读入,V是整行读入就OK了,另外的那些输出格式也比较常见,弄妥就好。
Run Time: 0sec
Run Memory: 304KB
Code Length: 603Bytes
Submit Time: 2012-02-12 21:27:46
// Problem#: 1177
// Submission#: 1209952
// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/
// All Copyright reserved by Informatic Lab of Sun Yat-sen University
#include <cstdio>
#include <string>
#include <queue>
using namespace std;
int main()
{
double A, R, P;
char U[ 3 ], V[ 50 ];
queue<string> q;
while ( true ) {
scanf( "%lf %s %lf ", &A, U, &R );
gets( V );
if ( A < 0 )
break;
P = A / R * 100;
if ( P < 1 )
q.push( string( V ) );
else
printf( "%s %.1lf %s %.lf%%\n", V, A, U, P );
}
printf( "Provides no significant amount of:\n" );
while ( !q.empty() ) {
printf( "%s\n", q.front().c_str() );
q.pop();
}
return 0;
}