東華OJタイトルわずか87のベーシス・賃金

問題の説明:
その家族のための人のニーズとしては、ほとんど毎月の給料日の日を楽しみにしている、ああ、
しかし、財務省のスタッフのために、この日はとても忙しい一日で、財務省の口ひげ、最近で質問を考えてみます。各従業員の賃金の額は、従業員が各従業員の賃金が何をしたときの変化を与えることはありませんどのように多くの少なくとも人民元で用意する必要が知っている場合?
賃金は正の整数、単位元、人民元100元、50元、20元、10元、5元、2元と1元7種類の合計であると仮定されます。

入力説明:
最初の入力T、Tは、テストデータを含む基を表し、
各テストの最初のデータラインは整数であるN(N <100)、従業員の数を表し、
nは賃金の第2の列を。

説明出力:
整数xを出力テストデータ、元のシートを用意する必要があり、少なくとも意味の各セットについて。
行ごとの各出力、ラインの余分なスペースの端と最初の行、前と後の余分な空白行。

エントリ:
3。
1。
299
2
299 197
5。
1,234,567,891,012,345
出力例:
8。
14
186
まとめたもので
、それをまっすぐ1.アイデア、まだ動的なメモリ割り当てを好む、心のきれいな"廃棄物のごみ。"
2.さあ!

#include<stdio.h>
#include<stdlib.h>
int main(){
	int count;
	int i,j,T,n,sum;
	int *w;
	int a[7]={100,50,20,10,5,2,1};
	scanf("%d",&T);
	while(T--){
		scanf("%d",&n);
		w=(int *)malloc(sizeof(int)*n);
		for(i=0;i<n;i++){
			scanf("%d",&w[i]);
		}
		sum=0;
		for(j=0;j<n;j++){
			count=0;
			for(i=0;i<7 && w[j]>0;i++){
				if(w[j]>=a[i]){
					count+=w[j]/a[i];
					w[j]%=a[i];
				}
			}
			sum+=count;
		}
		printf("%d\n",sum);
	}
	return 0;
}


公開された22元の記事 ウォンの賞賛1 ビュー175

おすすめ

転載: blog.csdn.net/weixin_44205451/article/details/104618185