codeforces 160A-C语言解题报告

Posted DQ_CODING

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeforces 160A-C语言解题报告相关的知识,希望对你有一定的参考价值。

160A题目网址

题目解析

1.输入硬币的个数,分配硬币,使拿最小的硬币数比剩下的硬币金额大

举例:
输入:
2
3 3
输出
2

2.注意点:
1)接收整型数组时要使用&,因为只有字符数组是使用指针传递首地址的
scanf("%d",&a[i]);

2)使用冒泡排序,将数组从大到小排序
for(int j=0;j<n-1;j++)
for(int k=0;k<n-1-j;k++)

3)使用count_all去计算所有的硬币金额,使用count_now去计算现在拿的硬币金额,再将它与剩下的硬币金额比较

代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
	int n=0,count_all=0,count_now=0,count=0;
	scanf("%d",&n);
	int a[100]={0};
	for(int i=0;i<n;i++)
	{
		//字符串才可以 char a[i],字符数组才使用了指针
		scanf("%d",&a[i]);//&
		count_all+=a[i];
	}
	for(int j=0;j<n-1;j++)
	{
		for(int k=0;k<n-1-j;k++)
		{
			if(a[k]<a[k+1])
			{
				int temp=0;
				temp=a[k];
				a[k]=a[k+1];
				a[k+1]=temp;
			}
		}
	}
	for(int m=0;m<n;m++)
	{
		count_now+=a[m];
		count++;
		if(count_now>(count_all-count_now))
		{
			break;
		}

	}
	printf("%d",count);
	getchar();
	system("pause");
	return 0;
}

以上是关于codeforces 160A-C语言解题报告的主要内容,如果未能解决你的问题,请参考以下文章

codeforces 133A-C语言解题报告

codeforces 1030A-C语言解题报告

codeforces 705A-C语言解题报告

codeforces 122A-C语言解题报告

codeforces 344A-C语言解题报告

codeforces 266A-C语言解题报告