1、问题描述: 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。
输入格式: 第一行是一个整数N,N? £? 20;接下来由N行,每一行表示一个整数,并且按照从小到大的顺序排列。 输出格式: 输出只有一行,即出现次数最多的那个元素值。 输入输出样例
样例输入: 5
150 150 200 250
样例输出: 150
#include<stdio.h>
#define M 20
int main(){
int n,a[M],count[M],index=0;
scanf("%d",&n);
for(int r=0;r<n;r++)
count[r]=1;
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int j=0;j<n;j++)
for(int k=0;k<n;k++)
if(a[k]==a[j]) count[j]++;
for(int m=1;m<n;m++)
if(count[index]<count[m]||(count[index]==count[m]&&a[m]<a[index]))
index=m;
printf("%d",a[index]);
}
2、世界杯小组赛(胜得3分,平得1分,负不得分),计算每个队的积分,若积分相同,则按净球数排序(保证积分相等时输入的净球数不相等)。输入M个队,出线队N个,输出出线的队伍的排名、名称、积分、净球数。 输入说明 名称 胜 平 负 进球数 负球数 输入样本 4 2 德国 1 1 0 9 3 俄罗斯 1 0 0 2 1 威尔士 1 1 1 10 2 芬兰 0 1 0 3 3
输出样本 1 威尔士 4 8 2 德国 4 6
冒泡排序
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define M 100
struct WorldCup
{
char country[10];
int score[10];
int grade;
int win;
};
int main(){
struct WorldCup w[M],temp;
int m,n,i,j,k,number=1;
scanf("%d %d ",&m,&n);
for(i=0;i<m;i++){
scanf("%s",w[i].country);
for(j=0;j<5;j++)
scanf("%d",&w[i].score[j]);
w[i].grade=3*w[i].score[0]+w[i].score[1];
w[i].win=w[i].score[3]-w[i].score[4];
}
for(i=0;i<m-1;i++){
k=i;
for(j=i+1;j<m;j++)
if(w[j].grade>w[k].grade) k=j;
else if(w[i].grade==w[k].grade&&w[j].win>w[k].win) k=j;
if(k!=i)
{
temp=w[k];
w[k]=w[i];
w[i]=temp;
}
}
for(i=0;i<n;i++)
printf("%d %s %d %d\n",number++,w[i].country,w[i].grade,w[i].win);
}
3、给定一组字符串中,求其中包含数字的最大公因子。若没有数字或找出的整数为0,则输出0(03复试资料P9) 输入样本:
3
sxscsdcc0.a3.‘’;9h
dd4scx0sc2s79cs
acds
输出 13 857 0
1)void *memset(void *s,int c,size_t n)
总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。
2).memset() 函数常用于内存空间初始化。如:
char str[100];
memset(str,0,100);
#include <stdio.h>
#include <string.h>
#define N 20
int main(){
char str[100];
int n,f,t;
scanf("%d",&f);
while(f--){
memset(str,0,100);
scanf("%s",str);
n=0;
for(int i=0;i<100;i++)
if(str[i]>='0'&&str[i]<='9')
n=n*10+str[i]-'0';
if(n==0)
{
printf("0\n");
}
else{
for(int i=1;i<n;i++)
if(n%i==0)
t=i;
if(t==1)
t=n;
printf("%d\n",t);
}
}
return 0;
}
最小公倍数
https:
|