由于疫情原因,考研复试安排到15.16两天,对学校前两年的复试真题做了三遍,将C primer Plus也翻看了一下,战线太长,后劲儿不足;
想到初试成绩排到倒数,还是想挣扎一下的。
计算机的内容实在是太多太杂,虽然有一些面试经验,但是这次复试不太一样
//菲波拉契数前20项和
#include<stdio.h>
#define N 20
int main()
{
int a[N]={1,1};
int i,sum=0;
for(i=0;i<N;i++)
{
if(i>1) a[i]=a[i-1]+a[i-2];
sum+=a[i];
}
printf("前%d项和为%d",N,sum);
return 0;
}
//回文字符串判断
#include<stdio.h>
#include<string.h>
#define N 100
int huiwen(char *p);
int main()
{
char a[N];
gets(a);
int flag;
flag=huiwen(a);
if(flag) printf("回文字符串");
else printf("非回文字符串");
return 0;
}
int huiwen(char *p)
{
char *head,*tail;
head=p;
tail=strlen(p)-1+head;
for(;head<=tail;head++,tail--){
if(*head!=*tail) return 0;
else return 1;
}
}
//回文数
#include<stdio.h>
int main()
{
int num,s,y=0;
scanf("%d",&num);
s=num;
while(s>0){
y=y*10+s%10;
s/=10;
}
if(y==num) printf("%d是回文数\n",num);
else printf("%d不是回文数\n",num);
return 0;
}
//前n个数排序
#include<stdio.h>
#define N 100
int main()
{
int n,i,j,temp;
printf("enter the count of number:");
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=1;i<n;i++)
for(j=0;j<n-i;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
for(i=0;i<n;i++)
printf("%d\t",a[i]);
return 0;
}
//统计字符类型
#include<stdio.h>
int main()
{
char ch,alpha,digit,other;
while((ch=getchar())!='\n'){
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) alpha++;
else if(ch>='0'&&ch<='9') digit++;
else other++;
}
printf("字母:%d,数字:%d,其他:%d",alpha,digit,other);
return 0;
}
//材料剩余问题
#include<stdio.h>
int main()
{
int min=800,i,j,a,b,reminder;
for(i=0;i<=800/56;i++)
for(j=0;j<=800/64;j++){
reminder=800-56*i-64*j;
if(reminder>=0){
if(min>reminder){
min=reminder;
a=i;
b=j;
}
}
}
printf("A=%d,B=%d,min=%d",a,b,min);
return 0;
}
来源:oschina
链接:https://my.oschina.net/u/4298434/blog/4278347