|
发表于 2020-12-27 20:29:07
|
显示全部楼层
本帖最后由 jackz007 于 2020-12-28 11:23 编辑
- #include <stdio.h>
- int main(void)
- {
- int c , d[500][6] , p[5] = {100 , 20 , 10 , 5 , 1} , i , j , k , s , t ;
- scanf("%d" , & t) ;
- for(i = 0 ; i < t ; i ++) scanf("%d" , & d[i][0]) ;
- for(k = 0 ; k < t ; k ++) {
- for(i = 1 ; i < 6 ; i ++) d[k][i] = 0 ;
- for(s = 0 , i = 1 ; i < 6 ; i ++) {
- for(; s + p[i - 1] <= d[k][0] ;) {
- s += p[i - 1] ;
- d[k][i] ++ ;
- }
- }
- }
- for(k = 0 ; k < t ; k ++) {
- printf("%d = " , d[k][0]) ;
- for(c = 0 , i = 1 ; i < 6 ; i ++) {
- if(d[k][0] < 1000) {
- for(j = 0 ; j < d[k][i] ; j ++) {
- if(c) printf(" + ") ;
- printf("%d" , p[i - 1]) ;
- c ++ ;
- }
- } else {
- if(d[k][i]) {
- if(c) printf(" + ") ;
- printf("%d * %d" , p[i - 1] , d[k][i]) ;
- c ++ ;
- }
- }
- }
- printf("\n") ;
- }
- }
复制代码
编译、运行实况
- D:\00.Excise\C>g++ -o x x.c
- D:\00.Excise\C>x
- 5
- 99
- 101
- 137
- 188
- 199
- 99 = 20 + 20 + 20 + 20 + 10 + 5 + 1 + 1 + 1 + 1
- 101 = 100 + 1
- 137 = 100 + 20 + 10 + 5 + 1 + 1
- 188 = 100 + 20 + 20 + 20 + 20 + 5 + 1 + 1 + 1
- 199 = 100 + 20 + 20 + 20 + 20 + 10 + 5 + 1 + 1 + 1 + 1
- D:\00.Excise\C>
复制代码 |
|