做真题时,顺便记下了答案,懒得验证正确与否,我们对对答案吧,有问题的地方请指教。对了 真题链接在这儿南信822历年真题
2020年822真题答案
选择题
- B
- C
- D
- C
- C
- D
- D
- AC
- C
- A
- B
填空题
- ASCLL码
- 字符串
- 字母 下划线
- 8字节
- NULL
程序填空题
- 接收键盘输入,直到回车为止,若有连续一个以上的空格只输出一个空格
#include <stdio.h> int main() {
char cx, front='\0'; while((cx=getchar())!='\n') {
if(cx!=' ') putchar(cx); if(cx==' ') if(front!=cx) putchar(cx); front=cx; } return 0; }
讯享网
- 一个二维矩阵,输出周边元素的和
讯享网#include <stdio.h> #define N 3 int main() {
int a[N][N]; int i,j,sum=0; for(i=0;i<N;i++) for(j=0;j<N;j++) scanf("%d",&a[i][j]); printf("矩阵:\n"); for(i=0;i<N;i++) {
for(j=0;j<N;j++) printf("%4d",a[i][j]); putchar(10); } for(i=0;i<N;i++) for(j=0;j<N;j++) if(i==0 || j==0 || i==N-1 || j==N-1) sum+=a[i][j]; printf("\n矩阵周边和为:%d\n",sum); return 0; }
- 找三个数中的中间数
#include <stdio.h> int main() {
int a,b,c,t; scanf("%d %d %d",&a,&b,&c); if(a>b){
t=a;a=b;b=t;} if(a>c){
t=a;a=c;c=t;} if(b>c){
t=b;b=c;c=t;} printf("中间数为:%d\n",b); return 0; }
编程题
- 求回文数
讯享网#include <stdio.h> int main() {
long a,n,m=0; int i; scanf("%ld",&a); n=a; while(n) {
i=n%10; m=m*10+i; n/=10; } if(m==a) printf("%ld是回文数!\n",a); else printf("%ld不是回文数\n",a); return 0; }
- 从母串中查找子串的个数
#include <stdio.h> #include <string.h> int count(char [],char []); int main() {
char a[80],b[10]; int k; gets(a); gets(b); k=count(a,b); if(k==0) printf("没有找到!\n"); else printf("%d\n",k); return 0; } int count(char s[],char t[]) {
int i,j,k,m=0; for(i=0;s[i]!='\0';i++) {
k=0; for(j=i;s[j]==t[k]&&k<strlen(t);j++) k++; if(t[k]=='\0') m++; } return m; }
- 从结构体中输入8个学生的数据,学生数据包括学号和成绩,编写函数,将高于平均分的学生数据放到一个新的数组中存储,函数返回学生的平均成绩,高于平均分的学生人数通过形参n返回
讯享网#include <stdio.h> #include <string.h> #define N 8 typedef struct Student {
char num[6]; float score; }STU; void input(STU [],int); void output(STU [],int); float avg(STU [],STU [],int,int *); int main() {
STU stu[N],newstu[N]; int n=0; float aver; input(stu,N); putchar(10); output(stu,N); aver=avg(stu,newstu,N,&n); printf("\n高于平均分的人有:\n"); output(newstu,n); return 0; } void input(STU s[],int n) {
int i; for(i=0;i<n;i++) scanf("%s %f",s[i].num,&s[i].score); } void output(STU s[],int n) {
int i; for(i=0;i<n;i++) {
printf("%8s %7.2f\n",s[i].num,s[i].score); } } float avg(STU s[],STU newstu[],int m,int *n) {
int i,j=0; float sum=0,avg; for(i=0;i<m;i++) sum+=s[i].score; avg=sum/N; for(i=0;i<m;i++) if(s[i].score>avg) {
strcpy(newstu[j].num,s[i].num); newstu[j].score=s[i].score; j++; *n=*n+1; } return avg; }
2019年822真题答案
选择题
- D
- D
- C
- D
- A
- D
- C
- C
填空
- 1
- 26
- sqrt(fabs(a-b))/3*(a+b)
- sqrt((xx+yy)/(a+b))
- 全局变量 局部变量 静态动量 动态动量
- 嵌套 递归
- 8
- 12
程序阅读
- 只有一题 同2020年 略
编程题
- 同2020年,字符串中 母串找子串 这里给出核心部分
int count(char *str,char *substr) {
int i,j,k,num=0; for(i=0;i<strlen(str);i++) for(j=i,k=0;str[j]==substr[k];j++,k++) if(substr[k+1]=='\0'){
num++; break; } return num; }
- 设计一个程序,让一个数组倒叙输出
讯享网#include <stdio.h> #define N 7 int main() {
int a[N]; int i; for(i=0;i<N;i++) scanf("%d",&a[i]); for(i=N-1;i>=0;i--) printf("%d",a[i]); }
- 10个同学有姓名 编号 三课成绩 设计一个函数返回成绩最好的同学的姓名,并输出三科成绩平均分
(书上原题 略)
2018年822真题答案
选择题
- B
- C
- A
- C
- D
- C
- B
- C
- C
- B
- A
- B
- B
- B
- D
- B
- C
- A
- AC
- A
程序填空
- 函数
- 0
- 本层
- 2
- do-while
- a+6
- 常量值 地址值
- 文本文件 二进制文件
程序阅读题
- 2 1
- 123.
- 1 2 4 8
- 9
- a=10,b=10
a=10,b=20
- 4
- 7
5 - 1 1 2 3
5 8 13 21
34 55 89 144
程序填空
- (1) int,int
(2) product(a,b)
(2) return mul - (1) i/100
(2) i/10%10
(3) i%10 - (7) p=p*n
- (8) n%i==0
(9) a[j++]=i - (10) (struct Node*)malloc(sizeof(struct Node))
(11) q=q->next
(12) head - (13) i=0
(14) k%i0 && k%20
(15) j-1

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/24119.html