2018-16
//16和18题忘记当时做的对不对了,可以自己再康康。
//真题2018-16 编写程序:输入正整数n(1~10000),
//再输入n个正整数,找出这n个数中出现次数最多的数字,
//统计并输出其出现次数。
//例如1234,2345,3456中出现次数最多的数字是3和4,出现次数均为3次。 #include<stdio.h>
#include<stdlib.h>
#define N 10000
int main()
{int n,i,j,count=0;int n0,n1,n2,n3,n4,n5,n6,n7,n8,n9;n0=n1=n2=n3=n4=n5=n6=n7=n8=n9=0;printf("请输入一个数字:\n",n);scanf("%d",&n);int *c = (int*)malloc(n*sizeof(int));for(i=0; i<n; i++){scanf("%d",c+i);}for(i=0; i<n; i++){ //i表示每组数据 for(j=0; c[j]!='\0'; j++){ //j表示? if(c[i]==c[j])count++;}}return 0;
}
2018-17
//真题2018-17
//输入字符串s和字符ch,在字符串s中找到所有的ch字符后删除,得到新的字符串并输出。
//要求通过编写用函数void delchar(char *s,char ch),实现将字符串s中的ch字符找到后删除的操作void delchar(char *s, char ch){int i=0,j;while(s[i]!='\0'){if(s[i] == ch){for(j=i;s[j]!='\0';j++)s[j] = s[j+1];i--;//这里为啥要加一个i--呢,因为我发现如果是两个要删除的字符是连在一起的话,不加这一步操作就会漏删} i++;}printf("%s",s);
}
2018-18
//真题 2018-18
//要求:建立一个联系人联系簿,包含姓名、出生日期、电话三项
//出生日期包含年月日三项,要求用内嵌结构体实现。
//输入n个(小于8)联系人的信息存入联系簿,并按年龄大小由大到小输出#include<stdio.h>
#define N 3
int main()
{int i,j,k;struct Data{int year[N];int month[N];int day[N];}birth;struct Con{char name[20];char num[20];struct Data birth;}p[N];struct Con temp;for(i=0;i<N;i++)scanf("%s %d %d %d %s", p[i].name, &p[i].birth.year[i], &p[i].birth.month[i], &p[i].birth.day[i], p[i].num);for(i=0; i<N; i++){k = i;for(j=i; j<N; j++)if(p[j].birth.year[j] > p[k].birth.year[k])k = j;temp = p[i];p[i] = p[k];p[k] = temp; } for(i=0; i<N; i++){k = i;for(j=i; j<N; j++)if((p[j].birth.year[j] <= p[k].birth.year[k]) && (p[j].birth.month[j] < p[k].birth.month[k]))k = j;temp = p[i];p[i] = p[k];p[k] = temp; }for(i=0; i<N; i++){k = i;for(j=i; j<N; j++)if((p[j].birth.year[j] <= p[k].birth.year[k]) && (p[j].birth.month[j] <= p[k].birth.month[k]) && (p[j].birth.day[j] <= p[k].birth.day[k]))k = j;temp = p[i];p[i] = p[k];p[k] = temp; }for(i=0; i<N; i++)printf("%s %d %d %d %s", p[i].name, p[i].birth.year[i], p[i].birth.month[i], p[i].birth.day[i], p[i].num);return 0;
} /*
测试用例
zhang 2000 1 6
li 1997 3 4
*/
2018-25
//真题 2018-25
//编写函数,统计链表结点data域中出现的X结点个数
int find(LNode *h, int x){LNode *p;int count;p = h->next;while(p!=NULL){if(p->data == x)count++; p = p->next;}return count;
}