2021 发工资咯:)

#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>

int main() {

int n,sum,i;
int salary[100];
while(scanf("%d",&n)!=EOF)
{
	if(n==0)
		break;
	sum = 0;
	for(i=0; i<n; i++)//输入数据
	{
		scanf("%d",&salary[i]);
		while(salary[i]>0)//处理数据
		{
			if(salary[i]/100>0)
			{
				sum += salary[i]/100;
				salary[i] = salary[i]%100;
			}
			else if(salary[i]/50>0)
			{
				sum += salary[i]/50;
				salary[i] = salary[i]%50;
			}
			else if(salary[i]/10>0)
			{
				sum += salary[i]/10;
				salary[i] = salary[i]%10;
			}
			else if(salary[i]/5>0)
			{
				sum += salary[i]/5;
				salary[i] = salary[i]%5;
			}
			else if(salary[i]/2>0)
			{
				sum += salary[i]/2;
				salary[i] = salary[i]%2;
			}
			else
			{
				sum += salary[i];
				salary[i] = 0;
			}
		}
	}
	printf("%d\n",sum);
}	
return 0;

}

------------------------------------------------------------------------------------------

2022 海选女主角

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h> #include <math.h> #include <stdlib.h>

int main() {

//接收数据
int m,n,x,y,i,j;
double num,fabs_max;//**
while(scanf("%d%d",&m,&n)!=EOF)
{
	x = y = 1;
	fabs_max = 0;
	for(i=1; i<=m; i++)
	{
		for(j=1; j<=n; j++)
		{
			scanf("%lf",&num);//**
			if(fabs(num)>fabs(fabs_max))
			{
				fabs_max = num;
				x = i;
				y = j;
			}
		}
	}
	//打印结果
	printf("%d %d %.0lf\n",x,y,fabs_max);//**
	//printf("%d",abs(-2147483648));// 结果为0
}	
return 0;

}

------------------------------------------------------------------------------------------

2023 求平均成绩

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main() {

int n,m,i,j,count,flag;
double score[50][5];
double course[5];
double sum_person,sum_course,avg_person,avg_course;
while(scanf("%d%d",&n,&m)!=EOF)
{		
	for(i=0; i<n; i++)//输入数据
	{
		for(j=0; j<m; j++)
		{
			scanf("%lf",&score[i][j]);
		}			
	}
	//输出每个人课程的平均成绩==每个人的总成绩/课程总数
	for(i=0; i<n; i++)
	{
		sum_person = 0;
		for(j=0; j<m; j++)//每行相加
		{
			sum_person += score[i][j];//每个人的总成绩
		}
		avg_person = sum_person/m;
		printf("%.2f",avg_person);
		if(i<n-1)
			printf(" ");
	}
	printf("\n");
	//输出每门课程的平均成绩==该门课程所有人的分数之和/总人数
	for(j=0; j<m; j++)
	{
		sum_course = 0;
		for(i=0; i<n; i++)//每列相加
		{
			sum_course += score[i][j];//每个人的总成绩
		}
		avg_course = sum_course/n;
		course[j] = avg_course;//存放课程的平均成绩
		//if(score)
		printf("%.2f",avg_course);
		if(j<m-1)
			printf(" ");
	}
	printf("\n");
	//计算该班级中各科成绩均大于等于平均成绩的学生数量
	count = 0;
	for(i=0; i<n; i++)
	{
		flag = 1;
		for(j=0; j<m; j++)
		{
			if(course[j]>score[i][j])
				flag =0;
		}
		if(flag==1)
			count++;
	}
	printf("%d\n",count);
	printf("\n");
}
return 0;

}

------------------------------------------------------------------------------------------

2024 C语言合法标识符

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h> #include <string.h>

int main() {

int n,i,j,flag,len;
char ch[50];
while(scanf("%d",&n)!=EOF)
{	
	getchar();
	for(i=0; i<n; i++)
	{	
		//scanf("%s",ch);
		gets(ch);
		len = strlen(ch);
		flag = 0;
		if((ch[0]>='a'&&ch[0]<='z')||ch[0]=='_'||(ch[0]>='A'&&ch[0]<='Z'))
		{
			for(j=1; j<len; j++)
			{
				if((ch[j]>='a'&&ch[j]<='z')||
					ch[j]=='_'||
					(ch[j]>='A'&&ch[j]<='Z')||
					(ch[j]>='0'&&ch[j]<='9'))
				{
					flag = 1;
					continue;
				}
				else
				{
					flag = 0;
					break;
				}						
			}				
		}
		if(flag==1)
				//printf("yes\n");
				puts("yes");
		else
				printf("no\n");
	}		
}
return 0;

}

------------------------------------------------------------------------------------------

2025 查找最大元素

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h> #include <string.h> int main() {

int i,len;
char c_max;
char ch[256];
while(scanf("%s",&ch)!=EOF)
{
	len = strlen(ch);
	c_max = ch[0];
	//找出最大字母
	for(i=0; i<len; i++)
	{
		if(ch[i]>c_max)
			c_max = ch[i];
	}
	//输出
	for(i=0; i<len; i++)
	{
		putchar(ch[i]);
		if(ch[i]==c_max)
			printf("(max)");
	}
	printf("\n");
}
return 0;

}

------------------------------------------------------------------------------------------

2026 首字母变大写

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h> #include <string.h> #include <ctype.h> int main() {

int i;
char ch[100] = " ";
while(gets(ch+1))
{
	for(i=1; ch[i]; i++)
	{
		putchar((isalpha(ch[i])&&ch[i-1]==' ') ? toupper(ch[i]):ch[i]);
	}
	//printf("\n");
	putchar('\n');
}
return 0;

}

------------------------------------------------------------------------------------------

2027 统计元音

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h> #include <string.h> #include <ctype.h> int main() {

int j,n,num1,num2,num3,num4,num5;
char ch[100];
scanf("%d%*c",&n);
while(n--)
{
	num1=num2=num3=num4=num5=0;
	gets(ch);//获取字符串
	for(j=0; j<strlen(ch); j++)//统计元音
	{
		//大写的元音先转化成小写
		if(tolower(ch[j])=='a')
			num1++;
		else if(tolower(ch[j])=='e')
			num2++;
		else if(tolower(ch[j])=='i')
			num3++;
		else if(tolower(ch[j])=='o')
			num4++;
		else if(tolower(ch[j])=='u')
			num5++;
	}
	printf("a:%d\n",num1);//输出元音个数
	printf("e:%d\n",num2);
	printf("i:%d\n",num3);
	printf("o:%d\n",num4);
	printf("u:%d\n",num5);
	if(n)
		//printf("\n");
	    putchar('\n');
}
return 0;

}

------------------------------------------------------------------------------------------

2028 Lowest Common Multiple Plus

#define _CRT_SECURE_NO_WARNINGS 1 求最小公倍数 #include <stdio.h>

typedef unsigned long UL;

UL gcd(UL u,UL v)//求最大公约数 {

int remainder;
while(remainder=u%v)
{
	u = v;
	v = remainder;
}
return v;

} UL lcm(UL u,UL v)//求最小公倍数 {

return u*v/gcd(u,v);

} int main() {

int n,i;
UL num,res;
while(scanf("%d",&n)!=EOF)
{
	res = 1;//考虑n=1的情况
	for(i=0; i<n; i++)
	{
		scanf("%lu",&num);
		res = lcm(res,num);
	}
	printf("%lu\n",res);
}
return 0;

}

------------------------------------------------------------------------------------------

2029 Palindromes _easy version

#define _CRT_SECURE_NO_WARNINGS 1 //“回文串”

#include <stdio.h> #include <string.h>

int main() {

int n,i,len,flag;
char ch[100];
while(scanf("%d",&n)!=EOF)
{
	for(i=0; i<n; i++)
	{
		char* start;//设置指向左边字符的指针
		char* end;//设置指向右边字符的指针
		scanf("%s",&ch);
		start = ch;
		len = strlen(ch);
		end = ch+len-1;
		flag = 1;//是否是回文串标志
		while(start<end)
		{
			if(*start!=*end)
				flag = 0;
			start++;
			end--;
		}
		if(flag==1)
			printf("yes\n");
		else
			printf("no\n");
	}
}
return 0;

}

------------------------------------------------------------------------------------------

2030 汉字统计

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main() {

//汉字机内码在计算机中,使用2个字节,每个字节二进制最高位为1
//而计算机中二进制为补码形式,最高位为1表示负数
//统计字符串中的小于0的字符个数,再/2即可得到汉字的数量
int n,i,count;
char ch;
while(scanf("%d",&n)!=EOF)
{
	getchar();
	for(i=0; i<n; i++)
	{
		count = 0;
		while((ch=getchar())!='\n')
		{
			if(ch<0)
				count++;
		}
		printf("%d\n",count/2);
	}
}
return 0;

}