2011秋华农c语言试卷 下载本文

内容发布更新时间 : 2024/5/17 16:59:03星期一 下面是文章的全部内容请认真阅读。

void main() { int i,s1,s2;

01) ;

for(i=1;i<100; 02) ) if( 03) ) s2+=i; esle s1+=i;

printf(\偶数和=%d,奇数和=%d\}

2、某物品原有价值为p,使用后其价值降低,价值的折扣率根据时间t(月数)确定如下:

?t?3 无折扣?3?t?6 2%折扣???6?t?12 5%折扣 ?12?t?21 8%折扣???t?21 10%折扣下面程序根据输入的时间和原有的价值计算物品的现有价值,请填空完善程序。

#include

void main() { int t,d; float p;

scanf(\ switch( 04) ){ case 0: d=0;break; case 1: d=2;break; case 2:

case 3:d=5;break; case 4: case 5:

case 6: d=8;break; 05) : d=10; }

printf(\ 06) ); }

3、该程序利用下面公式计算∏的近似值,取前n项之和,请填空完善程序。

?/4?1?????

#include void main() {

int i,n;

float t=1.0,pi=0;

scanf(\ 07) ); for(i=1;i<=n;i++){

6

131157装订线

pi+= 08) ; t= -t; }

printf(\}

4、下面程序完成输入一个整数并判断是否为素数,请填空完善程序。

#include #include void main() { int n,k,i=1;

scanf(\ k=sqrt(n);

for(i=2;i<=k;i++)

if( 09) ) break; if( 10) ) printf(\ }

5、下面程序的功能是输出若干个字符串中长度最短的字符串,请填空完善程序。

#include #include void main()

{ char str1[80],min[80]; int k,len;

printf(\ gets(str1);

strcpy(min,str1); len=strlen(min); gets(str1);

while(str1[0]!='\\0'){ k=strlen(str1); if( 11) ){ len=k;

12) ; }

gets(str1); }

printf(\}

6、下列程序的功能输入一组数的5个元素,并依次后移一个位置,再将第5个数据放在第一个存储单元(下标为0),请填空完善程序。

#include

void main() { int a[5],t,i;

printf(\原数据序列为:\

7

for(i=0;i<5;i++) scanf(\ 13) ; for(i=4;i>0;i--) 14) ; a[0]=t;

printf(\操作后数据序列为:\\n\ for(i=0;i<5;i++) printf(\}

7、下列函数str_cat()的功能是连接两个字符串,请填空完善程序。

void str_cat(char str1[],char str2[2],char str[]) { int i,j;

for(i=0;str1[i]!='\\0';i++) str[i]=str1[i]; for(j=0;str2[j]!='\\0';j++) 15) ; 16) ; }

8、下面程序的功能是用递归方法计算n!,请填空完善程序。

#include double fact(int n) { double k;

if(n<=0) exit(0); //exit()返回操作系统 else if( n==1) k=1.0; else 17) ; return k; }

void main() {

int n;

scanf(\

printf(\ 18) ); }

9、下面程序的功能是通过键盘输入10个整数,并把其中最大的数和最小的数显示出来。 #include 19) void search(int a[],int n) { int i;

max=min=a[0]; for(i=1;i

if(a[i]>max) max=a[i]; if(a[i]

void main()

8

装订线

{

int array[10],i;

for(i=0;i<10;i++) scanf(\ search( 20) ) printf(\ }

得分

四、编写程序题(在答卷上答题,本大题共3小题,第1,2小题各5分;第3小题10分,共20分)

1、编程计算分数序列

12,23,35,58,?前10项之和,并在屏幕上显示结果。 2、编程实现输入一个年份范围,在屏幕上显示年份范围中的闰年,每行最多显示5个。 3、根据如下main函数要求,编写一个使用选择排序算法完成从小到大排序的函数px(),

要求画出排序函数流程图或NS图。

#include void main() {

int a[10]={1,9,2,6,5,10,3,7,20,4},i; void px(int x[],int n) ; printf(\排序前:\

for(i=0;i<10;i++) printf(\ printf(\ px(a,10);

printf(\排序后:\

for(i=0;i<10;i++) printf(\ printf(\}

9

10