江苏大学计算机考研805编程题

函数递归

2019

#include <stdio.h>
int main()
{float fab(float,int);
float x;
int n;
scanf("%f %d",&x,&n);
float sum;
sum=fab(x,n);
printf("%f",sum);
return 0;
}

float fab(float x,int n)
{
if(n==0)
return 1;
else
return x*fab(x,n-1) ;
}

2017 切比雪夫多项式

 #include <stdio.h>

#include <stdlib.h>
int main()
{ float add(int ,float);
FILE *fp;
int n;
float x,sum;
if((fp=fopen(“dat.txt”,“w”))==NULL)
{
printf(“error”);
exit(0);
}
scanf("%d %f",&n,&x);
while(n)
{
sum=add(n,x);
fprintf(fp,"%6.2f ",sum);
n–;
}

}
float add(int n,float x)
{
if(n0)
return 1;
else if(n
1)
return x;
else
return 2xadd(n-1,x)-add(n-2,x);
}

组合数

#include <stdio.h>
int p(int,int );
int main()
{ int sum=0;
int n,k;
scanf("%d %d",&n,&k);
sum=p(n,k);
printf("%d ",sum);
return 0;
putchar(10);
}
int p(int n,int k)
{
if(nk||k0)
return 1;
else
return p(n-1,k-1)+p(n-1,k);
}

菲波那数

#include <stdio.h>
#include <stdlib.h>
#define N 20
int p(int );
int main()
{ FILE *fp;
int n=1;
int each;
int sum=0;
int a;
//
if((fp=fopen(“fab.txt”,“w”))==NULL)
{
printf(“error”);
exit(0);
}
do
{
a=p(n);

 fprintf(fp,"%d%c",a,' ');
 sum+=a;
 n++;}while(n<=20);
     printf("%d",sum);
 fprintf(fp,"%d",sum);

fclose(fp);
return 0;

}
int p(int n)
{
if(n1)
return 1 ;
else if(n
2)
return 1;
else
return (p(n-1)+p(n-2));
}

2014 Hermite

#include <stdio.h>
int p(int ,float);
int main()
{

float x;
int n;
float sum;
scanf("%d %f",&n,&x);
sum=p(n,x);
printf("sum=%f",sum);
return 0;

}

int p(int n,float x)
{
if(n0)
return 1;
else if(n
1)
return (2x);
else
return (2
xp(n-1,x)-2(n-1)*p(n-2,x));
}

2009 勒让德多项式

#include <stdio.h>
float p(int,float);
int main()
{
int n;
float x;
scanf("%d %f",&n,&x);
float sum=0;

sum=sum+p(n,x);
printf("%f",sum);

}
float p(int a,float b)
{
if(a0)
return 1;
else if(a
1)
return b;
else
return ((2*a-1)bp(a-1,b)-(a-1)*p(a-2,b)/4)/a ;

}

2007 勒让德多项式

#include <stdio.h>
float p(int ,float);

int main()
{
int n;
float x;
float sum=0;
scanf("%d %lf",&n,&x);
sum=p(n,x);

// sum=p(4,1.5);
printf("%f",sum);
}
float p(int a,float b)
{
if(a0)
return 1;
else if(a
1)
return b;
else
return ((2*a-1)bp(a-1,b)-(a-1)*p(a-2,b))/a;
}

迭代法

2017 牛顿迭代法
#include <stdio.h>
#include <math.h>
int main()
{
float x0,x1=-1,f1,f;
do{
x0=x1;
f=pow(x0,41)+pow(x0,3)+1;
f1=41pow(x0,40)+3pow(x0,2)+1;
x1=x0-f/f1;
}while(fabs(x0-x1)>1e-6);
printf("%f",x1);

}

2014

#include <stdio.h>
#include <math.h>
int main()
{ int n=1;
double x0,x1=2.7;
do{
x0=x1;
x1=pow(1+1/n,n);
n++;
}while(fabs(x0-x1)>=1e-6);
printf("%lf %d",x1,n);
return 0;
}

2009 求近似值

#include <stdio.h>
#include <math.h>
#define EPS 1e-6
int main()
{
float foat=1.0;
float p=1;

float sum=0;
do
{
	sum=sum+p;
	n=n+2;
foat=-foat;
	p=foat/n;
}while(fabs(p)>EPS);
printf("%10.8f",4*sum);
return 0;

2018 牛顿迭代法

#include <stdio.h>

#include <math.h>
int main()
{
float x0,x1=-1,f1,f;
do{
x0=x1;
f=pow(x0,41)+pow(x0,3)+1;
f1=41pow(x0,40)+3pow(x0,2)+1;
x1=x0-f/f1;
}while(fabs(x0-x1)>1e-6);
printf("%f",x1);

}

题目给定义,编程序

##2004
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int prism(int );
int main()
{ FILE *fp;
int t1,t2;
int i,j,n;
while(1)
{
scanf("%d",&n);
j=prism(n);
if(j==1)
printf(“该数是一个素数”);
else
{
printf(“该数是一个偶数”);
break;}
}
for(i=0;i<=n/2;i++)
{
if(prism(i)&&prism(n-i))
{
t1=i;
t2=n-i;
}
}
printf("%d %d",t1,t2);

if((fp=fopen(“result.txt”,“w”))==NULL)
{
printf(“打开文件失败”);
exit(0);
}

fprintf(fp,"%d",t1);
fprintf(fp,"%d",t2);
fclose(fp);

 return 0;

}

int prism(int n)
{ int i;
int j=sqrt(n);
for(i=2;i<=j;i++)
if(n%i==0)
{
return 0;}
if(i>j)
return 1;
}

水仙花数2006

#include <stdio.h>
#include <math.h>
int main()
{ int i;
int n,m,sum;
printf(“请输入水仙花数”);
for(n=100;n<1000;n++)
{i=n;
sum=0;
while(i!=0)
{m=i%10;
sum=sum+(mmm);
i=i/10;
}
if(n==sum)
{
printf("%d ",n);
}

}
return 0;
}

英文图案

#include <stdio.h>
int main()
{ int m,k,n,i,j,q;
char ch;
scanf("%c",&ch);
n=ch-‘A’;

for(i=0;i<=n;i++)
  {
  for(j=0;j<=n-i-1;j++)
   printf(" ");
   
   for(k=0;k<=2*i;k++)
     printf("%c",'A'+i);
     printf("\n");

}
for(i=0;i<=n;i++)
{
for(j=0;j<=i;j++)
printf(" “);
for(k=0;k<(ch-‘A’)2-1-2i;k++)
printf(”%c",ch-i-1);
printf("\n");
}

完数

#include <stdio.h>
#include <math.h>
int main()
{ int m;
int i,j,n;
int sum;
float k;
for(i=2;i<1000;i++)
{sum=0;

/*	for(j=1;j<i;j++)
	if(i%j==0)
	sum=sum+j;
*/	
	k=sqrt(i);
	for(j=1;j<=k;j++)
	if(i%j==0)sum=sum+j;
	if(i==sum)
	printf("%d ",i);
}
return 0;

}

鞍点 2008

#include <stdio.h>
#define N 4
#define M 5

int main()
{ int result;
int i,j,n;
int maxj=0;
int a[N][M];
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);

	  for(i=0;i<N;i++)
	  {
	  	maxj=0;
	  	  for(j=1;j<M;j++)
	  	    if(a[i][j]>a[i][maxj])
	  	       maxj=j;
	  	       
	  	       n=i;
	  	       result=1;
	  	          for(i=n+1;i<N;i++)
	                   if(a[n][maxj]>a[i][maxj])
                       {
                        result=0;
							break;
								}         
	  
               if(result==1)
			   {
			   	 printf("存在鞍点为a[%d][%d]\n",i,maxj);
						 }		  
}
if(!result)
    printf("I t is not exist!\n");
    return 0;

}

2009 蛇形矩阵

#include <stdio.h>
#define SIZE 100

int main()
{
int n;
int i = 0; // 行
int j = 0; // 列
// k代表数组移动方向
int k = 1; // k=1 → k=2 ↙ k=3 ↓ k=4 ↗
int data[SIZE][SIZE] = {0};
data[0][0] = 1;
printf(“please input N:”);
scanf("%d", &n);

while (i != n - 1 || j != n - 1) { // i == j == n-1 即到达数组右下角
    if (k == 1) { // →
        data[i][j+1] = data[i][j] + 1;
        j++;
        if (i == n - 1) k = 4; // data位于矩阵的最下面一行时, k变为4
        else k = 2; // data位于矩阵的第一行时, k变为2
    } else if (k == 2) { // ↙
        data[i + 1][j - 1] = data[i][j] + 1;
        j--;i++;
        if (j == 0 && i != n - 1) k = 3; // data位于矩阵的第一列时,k变为3
        else if (i == n - 1) k = 1; // data位于矩阵的最下面一行时,k变为1
        else k = 2; // data位于矩阵其它位置时,k仍为2
    } else if (k == 3) { // ↓
        data[i + 1][j] = data[i][j] + 1;
        i++;
        if (j == n - 1) k = 2; // data位于矩阵的第一列时,k变为4
        else k = 4; // data位于矩阵的最后一列时,k变为2
    } else if (k == 4) { // ↗
        data[i - 1][j + 1] = data[i][j] + 1;
        i--;j++;
        if (i == 0 && j != n - 1) k = 1; // data位于矩阵的第一行时,k变1
        else if (j == n - 1) k = 3; // data位于矩阵的最后一列时,k变为3
        else k = 4; // data位于矩阵其它位置时,k仍为4
    }
}

//显示矩阵
for (int a = 0; a < n; a++) {
    for (int b = 0; b < n; b++)
        printf("%d\t", data[a][b]);
    printf("\n");
}

return 0;

}

2015 交通

#include <stdio.h>
#include <math.h>

int get1(int i)
{
return i/1000 ;
}
int get2(int i)
{
return (i-1000*get1(i))/100;

}
int get3(int i)
{
return (i-1000get1(i)-100get2(i))/100;
}
int get4(int i)
{
return i%10;
}
int main()
{ int n=0;
int i;
int a,b,c,d;
for(i=1000;i<1000;i++)
{ a=get1(i);
b=get2(i);
c=get3(i);
d=get4(i);
if((ab)&&(cd))
{
for(int j= (int)sqrt(1000);j<(int)sqrt(9999);j++)
{
if(j*j==i)
n=i;
}
}
}
if(n!=0)
printf("%d\n\n",n);

	/*for(int j=10;j<100;j++)       
	{
		if(i==j*j)
	     {
	     	a=i/1000;
			 b=(i-a*1000)/100;
			 c=(i-a*1000-b*100)/10;
			 d=i%10;
			 if(a==b&&c==d)
			 printf("%d %d %d %d\n",a,b,c,d);
			   break;
		 }
	*/

return 0;
}

2017

#include <stdio.h>
#define N 5
int main()
{ int fale=1;
int a[N][N]={11,4,2,7,8,5,9,23,1,25,3,22,21,18,15,17,16,24,12,6,13,10,19,20,14};
int minj=0;
int min=0;
int i,j;
int mini=0;
for(i=0;i<N;i++)
{mini=i;
min=a[mini][minj];
for(j=1;j<N;j++)
if(min>(a[i][j]))
{
min=a[i][j];
minj=j;
}//已经找到行最小的数
for(j=0;j<N;j++)
{
if(a[j][minj]<a[mini][minj])
break;

}
if(j==N){
	//遍历完列元素
	 printf("%d %d %d\n",a[mini][minj],mini+1,minj+1); 
       fale=0;
 }	


	 
	
}
if(fale==1)
{
	printf("NO FINE");
}
return 0;	
}

2018 降序数

#include <stdio.h>
#define N 6
int main()
{ int flase;
char a[N];
gets(a);
int i,j;
int maxi;
int max=0;

for(i=0;i<N;i++)
{maxi=i;
   for(j=i+1;j<N;j++)
   if(a[j]>a[i])
   {flase=1;
   break;
   }
   if(flase==1)
   break;
  	            
}
if(i==N)
{
	printf("该数是一个降序数");
}
else
{
	printf("不是降序数"); 
}
return 0;

}

2019 扑克牌

#include <stdio.h>
#define N 53
//int fanzhuan(int *);
//正面为1 反面为0 ,先使全部朝上
int main()
{
int a[N];
int count,i,j;
for(i=1;i<N;i++)
a[i]=1;//所有卡片朝上
for(i=2;i<N;i++)
{
for(j=2;j<N;j++)
if(j%i==0)
{if(a[j]==1)
a[j]=0;
else a[j]=1;

}
}
for(i=1;i<N;i++)
if(a[i]1)
++count;
printf("%d\n",count);
return 0;
}
/* int fanzhuan(int *p)
{
if(*p
1)
return 0;
else
return 1;
}*/

学生成绩

2016

h>
#define N 3
struct student
{
float a[5];
char name[10];
int no;// 学号
float sum;
}stu[N];

int main()
{
int i;
int j;
struct student temp;
for(i=0;i<N;i++)
{ printf(“输入第%d的名字\n”,i+1);
scanf("%s",&stu[i].name);
printf(“输入第%d的编号\n”,i+1);
scanf("%d",&stu[i].no);

	printf("请输入第%d个学生的成绩 数学 语文 物理 化学 英语\n",i+1);
	for(j=0;j<5;j++)
	scanf("%f",&stu[i].a[j]);
     stu[i].sum=stu[i].a[1]+stu[i].a[2]+stu[i].a[3]+stu[i].a[4]+stu[i].a[0] ;
     
}
for(int i=0;i<N-1;i++)
 for(j=0;j<N-1-i;j++)
  if(stu[j].sum<stu[j+1].sum)
  {
  	        temp=stu[j];
  	        stu[j]=stu[j+1];
  	        stu[j+1]=temp;
  }
  printf("排名   编号     学号\n");
 for(int i=0;i<N;i++)
 { 
 if(stu[i].sum==stu[i+1].sum)
   stu[i+1].no=i;        
  printf("%d     %s  %d\n",i+1,stu[i].name,stu[i].no);

}
for(i=5;stu[i].sum==stu[i+1].sum;i++){
printf(“NO:%d name: %s\n”,stu[i+1].no,stu[i+1].name);
}
printf("请特别关照同学 “);
for(int i=0;i<N;j++)
for(int j=0;j<5;j++)
if(stu[i].a[j]<80)
printf(”%d ",i+1);

 	}

2014年 学生系统

#include <stdio.h>
#include <string.h>
#define N 3
struct student{
int no;
char name[10];
float d[3];
float aver;//d0为数学成绩,d1为语文成绩,d2为英语成绩
}s[N];

int main()
{float sum;
FILE *fp;
int i,j;
struct student temp;//标记
for(i=0;i<N;i++)
{
printf("请输入第%d个学生信息 ",i+1);
printf(“学号 “);
scanf(”%d “,&s[i].no);
printf(“姓名”);
scanf(”%s”,&s[i].name);
for(j=0;j<3;j++)
{
printf(“成绩%d “,j+1);
scanf(”%f”,&s[i].d[j]);
}
}

2008学生 全局变量

2006年

#include <stdio.h>
int main()
{
int a[4]={0},count=0,anandon;
char name[4][10]={“zhang”,“wang”,“li”,“zhao”};
int t=0;
int i;
while(t!=0)
{
count++;
printf(“please choose 1zhang 2.wang 3.li 4.zhao”);
scanf("%d",&t);
switch(t)
{
case 1:a[0]++;
case 2:a[1]++;
case 3:a[2]++;
case 4:a[4]++;

	  }
}
for(i=0;i<4;i++)
{
	if(a[i]>count/2)
	{
	printf("success %s %d",name[i],a[i]);
	continue;}
	
}

}

2005 学生管理 函数

#include <stdio.h>
#define N 3
#define M 2
int i,j;
void aver(struct student stu[]);
void chazhao(struct student stu[]);
struct student{
char num[10];
float grade[M];

}stu[N];
int main()
{ int n;
float sum=0;
struct student stu[N];

for(i=0;i<N;i++)
{  printf("请输入第一个学生的学号%s",stu[i].num);
   scanf("%s",&stu[i].num);
   for(j=0;j<M;j++)
    {
    	printf("第%d门成绩 ",j+1);
	scanf("%f",&stu[i].grade[j]);
}
                         }

  aver(stu);
  chazhao(stu);
       return 0;

}
void aver(struct student stu[])
{

float sum;
for(i=0;i<N;i++)
sum=sum+stu[i].grade[0];
printf(“sum is %f”,sum);

}
void chazhao(struct student stu[])
{int n;
for(i=0;i<N;i++)
{n=0;
for(j=0;j<M;j++)
{
if(stu[i].grade[j]<60)
{n++;
}
}
if(n>=2)
{

     printf("%d",i+1);

}
}
}

2004

#include <stdio.h>
#define M 4
#define N 2
float a[M][N];
float a_stu[M];
float a_cour[N];
int i,j;
void input(void)
{
int i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%f",&a[i][j]);

     for(i=0;i<M;i++)
      for(j=0;j<N;j++)
       printf("%f ",a[i][j]);

}
/*void average(void)
{
float sum;

int i,j;
for(i=0;i<M;i++)
{ printf("请输入%d学生的平均分",i+1);
	sum=0;
	  for(j=0;j<N;j++)
	    sum=sum+a[i][j];
	    a_stu[i]=sum/N;
		  printf("%f",a_stu[i]);
	         printf("\n");	            }
	
	
 }

/
int main()
{
void input(void);
void average(void);
input();
/
for(i=0;i<M;i++)
for(j=0;j<N;j++)
printf("%f",a[i][j]);
*///average();
return 0;
}

模拟选举

#include <stdio.h>
int main()
{
char c[4][10]={“cao”,“jian”,“xu”,“lu”};
int a[4]={0};
char ch;
int b;
int t=0;
int count=0;
while(t!=-1)
{
printf(“please choose 1-zhang 2-wang 3-li 4-zhao\n”);
scanf("%d",&t);
switch(t)
{
case 0:a[0]++;break;
case 1:a[1]++;break;
case 2:a[2]++;break;
case 3:a[3]++;break;

}
}

for(int i=0;i<4;i++)
  {
  
  if(a[i]>count/2)
   {
   printf("胜利者为%s",c[i]);

continue;
}
printf("%s %d",c[i],a[i]);
}
return 0;
}

文件 从屏幕输出到文件简单

从键盘中输入2015年 在上面和递归一起

2016年 不太会

2018年

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{ FILE *fp;
int i;
float T;
float a,b,c;
if((fp=fopen(“data.txt”,“w”))==NULL)
{
printf(“error”);
exit(0);
}

 for(int i=0;i<5;i++)
 {  printf("第%d组数据",i+1);
 	scanf("%f %f %f",&a,&b,&c);
 	T=(4.25*(a+b)+log(a+b+sqrt(a+b)+1/(a+b)))/(4.25*c+log(c+sqrt(c)+1/c));
 	fprintf(fp,"%6.2f %6.2f %6.2f %6.2f\n",a,b,c,T);
 	printf("%6.2f %6.2f %6.2f %6.2f\n",a,b,c,T);
 	
 }
 fclose(fp);
 return 0;

}
(for循环就好)
从文件输出暂时还没有搞定

2019年 上面有

2021年 考过,具体题目没有,但是考过

文件越来越重要了


  • 7
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 江苏大学研885程序设计真题是指江苏大学计算机科学与技术专业的研究生入学试中的编程题。这道题目通常在计算机科学与技术和软件工程等专业中出现,要求生使用编程语言解决给定的问题。 在解答这道题目时,生需要充分理解题目要求,分析问题,设计合适的解决方案,编写代码并进行测试。在编程方面,通常会察的知识点包括程序的编写、调试、测试,算法设计与分析,数据结构的应用等等。 为了成功解答这道题目,生需要具备扎实的编程基础和相关知识。还需要具备较好的问题解决能力和思维逻辑能力。解答这道题目的过程中,生还需要注意代码的规范性、效率和完整性。 研是一个对学生综合能力的察,通过解答这道编程题目,生可以展现自己的编程能力,同时也可以对自己的编程水平进行一次检验和提升。 总的来说,江苏大学研885程序设计真题是一个重要的察项目,要求生在规定时间内完成编程任务,展现自己的编程能力和解决问题的能力。生需要通过充分准备和实践来提升自己的编程水平,从而更好地应对这种试形式。 ### 回答2: 江苏大学研885程序设计真题csdn是指江苏大学研过程中出的一道编程题,该题目在CSDN上得到了广泛关注和讨论。 根据这个题目,我首先要说明一下题目的要求和具体内容。接着,我会详细解析这道编程题的解题思路和步骤。 在解题思路方面,我会说明如何分析题目的要求,找到解题的核心思路,并在此基础上进行编程实现。同时,我也会尽可能地给出一些提示和技巧,帮助读者更好地理解和解答题目。 在程序设计方面,我会使用合适的编程语言实现算法,并给出相应的代码示例和注释。我还会详细讲解算法的设计思路、实现细节和复杂度分析。 最后,我会总结本篇解答的内容,再次强调题目的要点,并给出一些自己的思和观点。 总之,我将用300字详细回答江苏大学研885程序设计真题csdn,包括题目要求、解题思路、程序设计实现等方面,帮助读者更好地理解和解答这道题目。 ### 回答3: 江苏大学研885程序设计真题是指江苏大学的计算机科学与技术专业研中,选择题部分的程序设计题目,该题目来源于csdn。 根据题目要求,我们需要用300字来回答这个问题。程序设计是计算机科学与技术专业的重要学科,它教授计算机软件开发的基本理论和技能,培养学生解决实际问题的能力。 研885程序设计真题的目的是测试生对程序设计的理解和能力。这个题目源自csdn,这是一个知名的IT技术社区,上面有很多程序设计相关的资源和交流平台,通过在csdn上发布这个题目,可以吸引更多程序设计爱好者来参与试。 回答这个题目时,我们需要仔细阅读题目要求,并根据要求进行编程。生可以利用csdn上的资源来学习和掌握程序设计的知识点,如C/C++语言的基础、算法设计等。编写程序时,我们应该注意代码的规范性和可读性,合理地利用变量和函数,使代码逻辑清晰明了。 此外,对于生来说,除了掌握程序设计的知识点外,还应该有良好的编程习惯和解决问题的能力。在解答真题时,要注重思和分析问题,理解题目的意图,并找出最优的解决方案。 总结起来,江苏大学研885程序设计真题是一道涉及程序设计题,源自csdn的试资源。通过仔细阅读题目要求,掌握程序设计的知识点,良好的编程习惯和解决问题的能力,我们就能顺利完成这道试题目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱技术的小曹

你的鼓励是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值