2018 HITコンピュータ大学院生の再試験——機械試験部分の本題


19萌新一枚.たまたま経験を共有するスレッドの中で今年のHITの再试験のプログラミングの问题を见て、小さい水の1波
もし問題があれば、各道の大物の指摘を歓迎します.
1.デパートの10種類の商品の販促(番号1~10)現在n人の顧客が購入し、1人1種類を購入し、ある商品の購入数がm(mを除く)を超えると、人気のある商品となる.    プログラミングは統計出力の人気のある製品番号を実現し、複数あれば、小さいから大きいまで出力し、なければ出力しない.    プロトタイプvoid Popular(int a[],int n,int m);    フレームワークは以下の通りです(テーマではフレームワークを与えますが、ここでは省略します)     Input customer number: 7     Input m: 2     Input product ID: 10 5 10 6 5 10 5    出力%dt    5         10
【解析】問題実質:入力数の出現回数を統計し、出現回数>mの場合、その数値を出力する.
#include 
int n,m,a[105];
void Popular(int a[], int n, int m)
{
	int i;
	int IDans[15]={0};
	for(i=0;im)
			printf("%d\t",i);
	}
}
int main()
{
	int i;
	printf("Input customer number: ");
	scanf("%d",&n);
	printf("Input m: ");
	scanf("%d",&m);
    printf("Input product ID: ");
	for(i=0;i

2.英語の試験で、m個を超える(mを含まない)単語を書くことができるのはpassです.ひとつの文字列の単語の個数を統計して、mを上回ってPassを出力します!そうでなければNot passを出力します!    int Count(char str[]);    Input a string: I am a student    Input m: 2    4    Pass!
【解析】文字列-単語の統計
        文字列の最初の文字がスペースであるかどうかによって、次の2つのケースに分けられます.
        (1)1番目の文字はスペース:隣接する2つの文字aとbを正常に考察し、aがスペース、bがスペースでない場合、単語数+1である.
        (2)最初の文字はスペースではありません:最初の単語が現れたことを示し、単語数+1;そして(1)と同じように、正常に統計すればよい.
        また、文字列にはスペースが含まれており、従来のscanf("%s",str)は使用できません.入力は、gets(str)の使用を考慮することができます.
#include 
#include 
#define maxlen 105
int m;
char word[maxlen];
int Count(char str[])
{
	int i,len,ans;
	len=strlen(str);
	ans=0;
	if(str[0]!=' ')
		ans++;
	for(i=0;im)
    	printf("Pass!
"); else printf("Not pass!
"); return 0; } /* I am a student 2 */