资源描述
第一章
1.选择题
(1)B(2)C(3)C(4)D(5)B(6)D(7)D(8)C
2.填空题
(1)函数
一个主函数
函数
(2)/*
*/
(3)连接
3.程序设计题
(1)
#include<stdio.h>
main()
{
printf(" *\n");
printf("* S *\n");
printf(" *\n");
}
(2)
#include<stdio.h>
main()
{
printf("******************\n");
printf("Your are welcome!\n");
printf("------------------\n");
}
第二章
1.选择题
(1)D(2)D(3)B(4)C(5)B(6)C(7)C(8)C(9)D(10)C(11)A(12)B(13)A(14)C(15)A(16)B(17)A(18)B(19)C(20)A(21)C(22)C
2.填空题
(1)① 9
②-2
③ 62
④44.8
(2)
① 10.5
② 73.1
③ 7
④7.2
(3)"%6x"
"%o"
"%3c"
"%10.3f"
"%8s"
(4)int a,b,c;
&a,&b,&c
temp=a;
c=temp;
(5)49
61
31
1
3.程序设计题
(1)
#include<stdio.h>
main()
{
double a,b,c,d;
double aver=0.0;
printf("\nPlease input four double number:");
scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
aver=(a+b+c+d)/4;
printf("\nThe average of the four double number is %lf",aver);
}
(2)
#include<stdio.h>
#define PI 3.14159
main()
{
double r;
double area=0,len=0;
printf("\nPlease input r:");
scanf("%lf",&r);
area=PI*r*r;
len=2*PI*r;
printf("\n area=%lf,length=%lf",area,len);
}
(3)
#include<stdio.h>
main()
{
float i,s;
printf("\nPlease input data:");
scanf("%f%f",&i,&s);
s=s*(1+i);
printf("\nI have %.2f yuan after one year.",s);
}
第三章
1、选择题
(1)C(2)C(3)A(4)C(5)D(6)A(7)C(8)A(9)B(10)D
2、填空题
(1)&m,&n
m=n;
n=temp;
m,n
(2)① 5 5 4
② 5 5 4
③ 3 3 4
(3)9
i+1
"%d",i
printf("\n");
(4)73
-543
93201
3、程序设计题
(1)
#include<stdio.h>
#include<math.h>
main()
{
double a,b,c,d,det,a_2,real,imag,x1,x2;
printf("Please enter a,b,c:");
scanf("%lf%lf%lf",&a,&b,&c);
if(a==0&&b==0)
printf("No root!\n");
else if(a==0)
printf("Line equation root is %.2lf\n",-c/b);
else
{
d=b*b-4*a*c;
det=sqrt(fabs(d));
a_2=2*a;
if(d<0)
{
real=-b/a_2;
imag=det/a_2;
printf("The two root are:\n%.2lf+%.2lfi\n",real,imag);
printf("and\n%.2lf-%.2lfi\n",real,imag);
}
else if(d==0)
printf("Single real root is %.2lf:\n",-b/a_2);
else
{
x1=-b/(a_2)+det/a_2;
x2=-b/(a_2)+det/a_2;
printf("The two real roots are :\n%.2lf\n and\n %.2lf\n",x1,x2);
}
}
}
(2)
#include<stdio.h>
main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
printf("%d*%d=%2d ",i,j,i*j);
printf("\n");
}
}
(3)#include<stdio.h>
main()
{
float sum,product;
int i,n,j;
printf("\nEnter n\(4<=n<=20):");
scanf("%d",&n);
while(n>20||n<4)
{
printf("\nEnter n again:");
scanf("%d",&n);
}
sum=0;
product=1;
for(i=1;i<=n;i++)
{
product=1;
for(j=1;j<=i;j++)
product=product*j;
sum=sum+product;
}
printf("1!+2!+...+%d!=%.0f\n",n,sum);
}
第四章
1、选择题
(1)C(2)D(3)B(4)D(5)C(6)B(7)B(8)C(9)A(10)C(11)C(12)B
2、填空题
(1)① int men[10] ;
② float step[4]={1.9,-2.33,0,20.6};
③_int grid[4][10] ;
(2)① int m[10]={9,4,7,49,32,-5};
② 0 9
③ scanf("%d",m[1]);
④ m[0] =39;
⑤ m[0] =a[3]+a[5];
(3)①3 ②5 ③8 ④8 ⑤9 ⑥12 ⑦9
(4)① int a[10]={9,4,12,8,2,10,7,5,1,3}; ②0 9 ③8 8
(5)10
3、程序填空题
(1)
array[20]
20
&array[i ]
20
max=array[i];
min=array[i];
sum+array[i];
sum/20
(2)
-5.770000
2
1
(3)
ABCDEFGHIJKL
EFGHIJKL
ABFDEFGHIJKL
ABFDEFGHI
4、程序设计题
(1)
#define SIZE 100
#include<stdio.h>
void main()
{
int a[SIZE+1],i,j;
for(i=2;i<=100;i++)
a[i]=i;
for(i=2;i<=100;i++)
for(j=i+1;j<=100;j++)
if(a[i]!=0&&a[j]%a[i]==0)
a[j]=0;
printf("\n");
j=0;
for(i=2;i<=100;i++)
{
if(a[i]!=0)
{
printf("%-4d",a[i]);
j++;
}
if(j==10)
{
j=0;
printf("\n");
}
}
}
(2)
#define S 14
#include"stdio.h"
void main()
{
int a[S][S],i,j,n;
printf("please enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a[i][i]=1;
a[i][1]=1;
}
for(i=3;i<=n;i++)
for(j=2;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf(" %3d",a[i][j]);
printf("\n");
}
}
(3)
#define SIZE 80
#include<stdio.h>
void main()
{
char str1[SIZE+SIZE],str2[SIZE];
int i,j;
puts("Please enter 2 string:");
scanf("%s",str1);
scanf("%s",str2);
i=0;
while(str1[i]!='\0')
i++;
j=0;
while(str2[j]!='\0')
{
str1[i]=str2[j];
i++;
j++;
}
str1[i]='\0';
printf("%s\n",str1);
}
(4)
#define SIZE 80
#include<stdio.h>
#include<string.h>
void main()
{
char string[SIZE];
int len,i,j,flag;
long number;
puts("Please enter a digital string:");
scanf("%s",string);
len=strlen(string);
if(string[0]=='-')
{
flag=-1;
i=1;
}
else
{
flag=1;
i=0;
}
number=string[i]-'0';
for(i++;i<len;i++)
number=number*10+(string[i]-'0');
number=flag*number;
printf("%d\n",number);
}
(5)
#define SIZE 40
#include<stdio.h>
void main()
{
int m,n,i,j;
float price[SIZE],sum;
printf("\nPlease input M and N:");
scanf("%d%d",&m,&n);
m=m-n;
printf("Please input %d price :",n);
sum=0;
for(i=0;i<n;i++)
{
scanf("%f",&price[i]);
sum=sum+price[i];
}
printf("Aver are %10.2f.",sum/n);
while(m>0)
{
for(i=0;i<n-1;i++)
price[i]=price[i+1];
printf("\nPlease input one price:");
scanf("%f",&price[n-1]);
m--;
sum=0;
for(i=0;i<n;i++)
{
sum=sum+price[i];
}
printf("Aber are %10.2f",sum/n);
}
}
第五章
1.选择题
(1)C(2)D(3)C(4)B(5)A(6)A(7)A(8)B(9)A(10)B(11)A(12)A
2.填空题
(1)整型
(2)值传递
地址传递
(3)全局变量
局部变量
(4)自动变量
静态变量
寄存器变量
外部变量
(5)自动变量
(6)15
300
(7)8
121
(8)x=3,y=4,n=7
(9)5 6
3.程序设计题
(1)
#include<stdio.h>
int gcd_recursion(int a,int b);
void main()
{
int i,j;
puts("\nPlease enter 2 integer");
scanf("%d,%d",&i,&j);
if(i<0||j<0)
{
puts("\nData Error!Please enter 2 integer");
scanf("%d, %d",&i,&j);
}
else
printf("gcd(%d,%d)=%d",i,j,gcd_recursion(i,j));
}
int gcd_recursion(int a,int b)
{ int c,d;
if(a<b)
{c=a;
a=b;
b=c;
if(a%b==0)
return b;
else
d=gcd_recursion(b,a%b);
}
else if(a%b==0)
return b;
else
d=gcd_recursion(b,a%b);
return d;
}
(2)
#include<stdio.h>
int delete_char(char c,char str[]);
void main()
{char str[10],c,i;
puts("\nPlease enter a string:");
gets(str);
puts("Please enter a char you want to delete:");
c=getchar();
puts("Before deleted:");
puts(str);
puts("After deleted:");
i=delete_char(c,str);
puts(str);
printf("There are %d characters deleted.",i);
}
int delete_char(char c,char str[])
{ int i,j,total,k,sum;
i=0;
total=0;
while(str[i]!='\0')
{
k=i;
sum=0;
while(str[k]==c)
{ k++;
sum++;
}
total=total+sum;
if(str[i]==c)
{ for(j=i;str[j+sum]!='\0';j++)
str[j]=str[j+sum];
str[j]='\0';
}
i++;
}
return total;
}
(3)
#include<stdio.h>
int max(int a,int b);
void main()
{
int i,j,k;
puts("\nPlease enter 3 integer:");
scanf("%d,%d,%d",&i,&j,&k);
printf("max is %d.",max(max(i,j),k));
}
int max(int a,int b)
{ if(a>b)
return a;
else
return b;
}
(4)
#include<stdio.h>
void int_string(long a,char str[]);
void reverse(char c[],int size);
void insert_space(char c[],int size);
void main()
{
long i;
char str1[10];
puts("\nPlease enter 1 long interger:");
scanf("%d",&i);
int_string(i,str1);
printf("digital string is %s",str1);
}
void int_string(long a,char str[])
{
int i=0;
while(a!=0)
{
str[i]=a%10+'0';
a=a/10;
i++;
}
str[i]='\0';
insert_space(str,i);
}
void insert_space(char c[],int size)
{
int i;
c[2*size-1]='\0';
for(i=2*(size-1);i>=2;i-=2)
{
c[i]=c[i/2];
c[i-1]=' ';
}
}
(5)
#include<stdio.h>
long facto(long x);
main()
{
int a;
long factorial;
printf("\nPlease enter a integer:");
scanf("%d",&a);
factorial=facto(a);
printf("\nThe %d's jieceng is :%ld\n",a,factorial);
}
long facto(long x)
{
if(x==1)
return 1;
else
return(x*facto(x-1));
}
(6)
#include<stdio.h>
float average(float math,float chinese,float english);
main()
{
float score[3];
float aver;
printf("Please enter your score:math,chinese,english\n");
scanf("%f,%f,%f",&score[0],&score[1],&score[2]);
aver=average(score[0],score[1],score[2]);
printf("Your average is %.2f\n",aver);
}
float average(float math,float chinese,float english)
{
return(math+chinese+english)/3;
}
(7)
#include<stdio.h>
float max=0,min=0;
float average(float arr[],int n)
{
int i;
float aver,sum=arr[0];
max=min=arr[0];
for(i=1;i<n;i++)
{
if(arr[i]>max)
max=arr[i];
else if (arr[i<min])
min=arr[i];
sum=sum+arr[i];
}
aver=sum/n;
return(aver);
}
main()
{
float score[10], aver;
int i;
printf("Please enter ten score:");
for(i=0;i<10;i++)
scanf("%f",&score[i]);
aver=average(score,10);
printf("max=%.2f\nmin=%.2f\naverage=%.2f\n",max,
min,aver);
}
(8)
#include<stdio.h>
int fib(int n)
{
if((n==1||n==2))
return 1;
else
return(fib(n-1)+fib(n-2));
}
void main()
{
int i;
printf("\n");
for(i=1;i<20;i++)
{
printf("%-12d",fib(i));
if(i%5==0)
printf("\n");
}
}
第六章
1、选择题
(1)A(2)C(3)A(4)B(5)B(6)D(7)D(8)B(9)D(10)B
2、填空题
(1)a=10,b=20
a=20,b=10
(2)**pp=60
3、程序设计题
(1)
#include<stdio.h>
char *month_name(int n);
void main()
{
int n;
printf("\nPlease enter 1 integer:");
scanf("%d",&n);
printf("%d month :%s\n",n,month_name(n));
}
char *month_name(int n)
{
static char*name[]={"illegal month",
"Jan","Feb","Mar","Apr","May","Jun",
"July","Aug","Sept","Oct","Nov","Dec"};
return ((n<1||n>12)?name[0]:name[n]);
}
(2)
#include<stdio.h>
#define N 10
sort(int data[])
{
int i,j,min_a,temp;
for(i=0;i<N;i++)
{
min_a=i;
for(j=i+1;j<N;j++)
if(*(data+j)<*(data+min_a))
min_a=j;
if(min_a!=i)
{
temp=*(data+min_a);
*(data+min_a)=*(data+i);
*(data+i)=temp;
}
}
}
main()
{
int i,j,data[N],temp;
int min_a;
printf("\nPlease input %d int:\n",N);
for(i=0;i<N;i++)
scanf("%d",&data[i]);
sort(data);
printf("After sorted:\n");
for(i=0;i<N;i++)
printf(" %d",data[i]);
}
(3)
#include <stdlib.h>
void reverse(char *c);
void main()
{char str[80];
puts("Please enter 1 string\n");
gets(str);
reverse(str) ;
puts("After reversed\n");
puts(str);
}
void reverse(char *c)
{
char *p,*q,temp;
int size=0;
for(p=c;*p!='\0';p++)
size++;
size=size/2;
for(q=c,p--;q<c+size;q++,p--)
{
temp=*q;
*q=*p;
*p=temp;
}
}
(4)
#include<stdio.h>
#include<string.h>
void sort(char *keyword[],int size);
void print(char *keyword[],int size)
void main()
{
char *keyword[]={"if","else","case",
"switch","do","whlie",
"for","break","continue"};
sort(keyword,9);
print(keyword,9);
}
void sort(char *keyword[],int size)
{
int i,j,min_location;
char *temp;
for(i=0;i<size-1;i++)
{
min_location=i;
for(j=i+1;j<size;j++)
if(strcmp(keyword[min_location],keyword[j])>0)
min_location=j;
if(min_location!=i)
{
temp=keyword[i];
keyword[i]=keyword[min_location];
keyword[min_location]=temp;
}
}
}
void print(char *keyword[],int size)
{
int i;
for(i=0;i<size;i++)
printf("\n%s",*(keyword+i));
}
(5)
#include<stdio.h>
void fun_char(char str1[],char str2[],char str3[]);
void main()
{
char str1[80],str2[80],str3[80],c,i;
printf("\nPlease enter 2 string:");
scanf("%s%s",str1,str2);
fun_char(str1,str2,str3);
printf("Third string is %s.",str3);
}
void fun_char(char *str1,char *str2,char *str3)
{
int i,j,k,flag;
i=0,k=0;
while(*(str1+i)!='\0')
{
j=0;
flag=1;
while(*(str2+j)!='\0'&&flag==1)
{
if(*(str2+j)==*(str1+i)) flag=0;
j++;
}
if(flag)
{*(str3+k)=*(str1+i); k++;}
i++;
}
*(str3+k)='\0';
}
(6)
#include<stdio.h>
int count_word(char *str);
void main()
{
char str1[80],c,res;
puts("\nPlease enter a string:");
gets(str1);
printf("There are %d words in this sentence",count_word(str1));
}
int count_word(char *str)
{
int count ,flag;
char *p;
count=0;
flag=0;
p=str;
while(*p!='\0')
{
if(*p==' ')
flag=0;
else if(flag==0)
{
flag=1;
count++;
}
p++;
}
return count;
}
(7)
#include<stdio.h>
#include<string.h>
char *encrypt(char *string);
char *decrypt(char *string);
main()
{
char item[80];
char *point;
char *pEncrypted;
char *pDecrype;
printf("Please enter the string need to encrypt:\n");
gets(item);
point=item;
pEncrypted=encrypt(point);
printf("\nThe string after encrypted is:\n%s\n",pEncrypted);
pDecrype=decrypt(pEncrypted);
printf("\nThe string after decrypted is:\n%s\n",pDecrype);
free(pEncrypted);
free(pDecrype);
}
char *encrypt(char *string)
{
char *q,*t;
q=(char *)malloc(sizeof(char)*80);
if(!q)
{
printf("No place to malloc!");
return 0;
}
t=q;
while(*string!='\0')
{
*q=*string-2;
string++;
q++;
}
*q='\0';
return t;
}
char *decrypt(char *string)
{
char *q,*t;
q=(char *)malloc(sizeof(char)*80);
if(!q)
{
printf("No place to malloc!");
return 0;
}
t=q;
while(*string!='\0')
{
*q=*string+2;
string++;
q++;
}
*q='\0';
return t;
}
第七章
1、选择题
(1)D(2)D(3)D(4)C(5)D(6)C(7)C(8)B(9)C(10)C(11)B(12)C
(13)B(14)A(15)A(16)C
2、程序分析题
(1) Ling ning:19
展开阅读全文