[高级语言程序设计]答案)

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。

#include

int main()

{

int i,j,t;

int max(int,int);

int min(int,int);

scanf("%d%d",&i,&j);

if(i

{t=i;i=j;j=t;}

printf("%d %d\n",max(i,j),min(i*j,max(i,j)));

return 0;

}

int max(int i,int j)

{

int t;

while(j)

{

t=i%j;

i=j;

j=t;

}

return i;

}

int min(int p,int q)

{

return p/q;

}

2. 输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。

#include

int main()

{

int max4(int,int,int,int); //对max4的函数声明

int a,b,c,d;

scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数

printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者

return 0;

}

int max4(int a,int b,int c,int d) //定义max4函数

{

int max2(int,int); //对max2的函数声明

return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数

}

int max2(int a,int b)

{

return(a>b?a:b); //返回条件表达式的值,即a和b中的大者

}

3. 用递归调用的方法求5!。

#include

int main()

{

int fac(int);

int n;

scanf("%d",&n);

printf("%d!=%d\n",n,fac(n));

return 0;

}

int fac(int n)

{

if(n==0||n==1)

return 1;

else

return fac(n-1)*n;

}

4. 按以下递归公式求函数的值。

10fun(n) fun(n1)2(n1) 例如,当给n输入5时,函数值为18,(要求用递归实现)。 (n1)

#include

int main()

{

int fun(int);

int n;

scanf("%d",&n);

printf("%d\n",fun(n));

return 0;

}

int fun(int n)

{

if(n==1)

return 10;

else

return fun(n-1)+2;

}

5. 用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”,n的位数不确定,可以是任意位数的整数。 #include

void main()

{void fun(int);

int n;

scanf("%d",&n);

if(n

{

n=-n;

putchar('-');

}

fun(n);

puts("");

}

void fun(int m)

{

if(m/10)

fun(m/10);

putchar(m%10+48);

}

6. 写一个函数,完成将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1改后成为1,4,5,6,8。

#include

#define N 5

int main()

{

void fun(int a[]);

int a[N],i;

for(i=0;i

scanf("%d",&a[i]);

fun(a);

return 0;

}

void fun(int a[N])

{

int t,i;

for(i=0;i

{

t=a[i];

a[i]=a[N-1-i];

a[N-1-i]=t;

}

for(i=0;i

printf("%d ",a[i]);

puts("");

}

7. 编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。

#include

#define N 5

#define M 10

int main()

{

int score_1[N],score_2[M];

int i,fun(int a[],int);

for(i=0;i

scanf("%d",&score_1[i]);

for(i=0;i

scanf("%d",&score_2[i]);

printf("average of score_1:%d\n",fun(score_1,N));

printf("average of score_2:%d\n",fun(score_2,M));

return 0;

}

int fun(int c[],int l)

{

int aver=0;

for(int i=0;i

aver+=c[i];

return aver/l;

}

8. 编写一个函数,实现将两个字符串连接起来,并在main函数中调用此函数,不要调用系统提供的strcat函数。

#include

int main()

{

void c(char st1[],char st2[]);

char s1[100],s2[100];

gets(s1); gets(s2);

c(s1,s2); puts(s1);

return 0;

}

void c(char st1[],char st2[])

{

int i=0,k=0;

while(st1[++i]);

while(st1[i++]=st2[k++]);

}

9. 编写一个函数,比较两个字符串的大小,并在main函数中调用此函数,不要调用strcmp函数。

#include

int main()

{

char a[100],b[100];

void fun(char a[],char b[]);

gets(a);

gets(b);

fun(a,b);

return 0;

}

void fun(char a[],char b[])

{

for(int i=0;;i++)

{

if(a[i]>b[i])

{puts(a);break;}

else if(a[i]

{puts(b);break;}

else

continue;

}

}

10. 编写一个函数,实现在一个升序排列的整型数组中插入一个整数的功能,

主函数中实现。

#include

int a[11]={1,3,5,7,14,23,45,87,155,231};

int main()

{

int c,i;

void fun(int a[],int c);

printf("input an integer:");

scanf("%d",&c);

fun(a,c);

for(i=0;i

printf("%d ",a[i]);

printf("\n");

return 0;

}

void fun(int a[],int t)

{

int i,j;

if(t>a[9])

a[10]=t;

else

{

for(i=0;i

if(t

break;

for(j=10;j>i;j--)

a[j]=a[j-1];

并在main函数中调用此函数,输入数据和最后输出都在

a[i]=t;

}

}

11. 写一个判断素数的函数,在主函数输入一个整数,是素数时输出yes,否则输出no,结果要求在主函数中输出。

#include

int main()

{

int a;

int is_prime(int);

scanf("%d",&a);

if(is_prime(a)==0)

printf("yes\n");

else

printf("no\n");

return 0;

}

int is_prime(int a)

{

int j,flag=1;

for(j=2;j

{

if(a%j==0)

break;

}

if(j>=a/2)

flag=0;

return flag;

}

12. 编写一个函数,将一个字符串中的原音字母赋值到另一个字符串中,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。

#include

char a[50],b[50]={0};

int main()

{

void fun(char a[],char b[]);

gets(a);

fun(a,b);

puts(b);

return 0;

}

void fun(char a[],char b[])

{

int i,j;

for(i=0,j=0;a[i]!='\0';i++)

if(a[i]=='a'||a[i]=='A'||a[i]=='e'||a[i]=='E'||a[i]=='i'||a[i]=='I'||a[i]=='o'||a[i]=='O'||a[i]=='u'||a[i]=='U')

b[j++]=a[i];

}

13. 建立动态数组,输入5个学生的成绩,编写函数检查其中有无低于60分的学生成绩,要求输入和输出功能在主函数中完成。 #include

#include

int main()

{

void check(int *);

int *p,i;

p1=(int *)malloc(5*sizeof(int));

for(i=0;i

scanf("%d",p+i);

check(p1);

return 0;

}

void check(int *p)

{

int i;

printf("They are fail:");

for(i=0;i

if(*(p+i)

printf("%d ",p[i]);

puts("");

}

14. 有一个一维数组score,内放10个学生成绩,用一个函数求平均成绩,并将10个成绩中不及格(小于60)的成绩和该成绩在数组中的序号输出。

#include

int main()

{

void ave(int a[10]);

int a[10],i;

for(i=0;i

scanf("%d",&a[i]);

ave(a);

return 0;

}

void ave(int a[10])

{

int i,m=0;

for(i=0;i

{

m=m+a[i];

if(a[i]

printf("%d %d\n",a[i],i);

}

printf("%d\n",m/10);

}

15. 编程实现:从键盘输入两个字符串,统计第二个字符串在第一个字符串中出现的次数,在主函数中调用统计函数并输出结果。 #include

int main()

{

int a[10],i,j,t,*p;

for(i=0;i

scanf("%d",&a[i]);

p=a;

for(i=0;i

for(j=0;j

if(*(p+j)>*(p+j+1))

{

t=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=t;

}

for(i=0;i

printf("%d ",*(p+i));

puts("");

return 0;

}

16 编写一程序,实现从键盘接收一个字符串,然后删除其中的空格后并输出。如:输入“I am a student!”,输出“Iamastudent!”,要求用指针实现。

#include

#include

int main()

{

char a[50],*p;

int l,i;

printf("input string a:");

gets(a);

p=a;

l=strlen(a);

for(l;l>0;l--)

{

if(*(p+l)==' ')

for(i=l;*(p+i)!='\0';i++)

*(p+i)=*(p+i+1);

}

puts(p);

return 0;

}

17. 用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。

#include

int main()

{

int a[10],i,j,t,*p=a;

for(i=0;i

scanf("%d",p+i);

for(i=0;i

for(j=0;j

if(*(p+j)>*(p+j+1))

{

t=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=t;

}

for(i=0;i

printf("%d ",*(p+i));

puts("");

return 0;

}

18. 用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。

#include

int main()

{

int a[10],i,j,t,*p=a;

for(i=0;i

scanf("%d",&a[i]);

for(i=0;i

for(j=i+1;j

if(*(p+i)>*(p+j))

{

t=*(p+i);

*(p+i)=*(p+j);

*(p+j)=t;

}

for(i=0;i

printf("%d ",*(p+i));

puts("");

return 0;

}

19. 编写一个函数实现字符串复制功能,不能使用strcpy函数,并在 main函数中调用,输入字符串和输出赋值完后字符串的结果都在主函数中实现。(要求用指针作为函数参数)

#include

int main()

{

char a[100],b[20],*p,*q;

void copy_string(char *,char *);

gets(b);

p=a;q=b;

copy_string(p,q);

puts(p);

return 0;

}

void copy_string(char *p,char *q)

{

while(*p++=*q++);

}

20. 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。(要求用指针实现)

#include

int main()

{

char a[100],*p=a;

int fun(char *);

gets(a);

printf("%d\n",fun(a));

return 0;

}

int fun(char *p)

{

int k=0;

while(*p++)

k++;

return k;

}

21. 输入一个字符串,内有数字和非数字字符,例如:“A123x456 17960? 302tab5876”,将其中连续的数字作为一个整数,依次存在到一数组a中。例如,123放在a[0],456放在a[1]„„统计共有多少个整数,并输出这些数。(要求用指针实现)

#include

char a[100];

int main()

{

void fun(char *);

char *p=a;

gets(p);

fun(p);

return 0;

}

void fun(char *p)

{

int num[100],s,k,j=0,i=0;

s=0;

while(*(p+i))

{

k=0;

while(*(p+i)>='0'&&*(p+i)

{

s*=10;

s+=*(p+i)-48;

i++;k=1;

}

if(k)

{

num[j++]=s;

s=0;

}

else

i++;

}

printf("%d\n",j);

for(i=0;i

printf("%d ",num[i]);

puts("");

}

#include

#include

int main()

{

char a[50],*p;

int b[50],c[50]={0},k,j,i;

gets(a);

p=a;

k=0;

for(i=0;*(p+i)!='\0';i++)

if(*(p+i)>='0'&&*(p+i)

{

j=0;

while(*(p+i)>='0'&&*(p+i)

{

i++;

j++; //j表示每个数字个数(长度)

}

b[k++]=j; //k记录有几个数字

}

printf("%d\n",k);

k=0;

int n=0;

for(i=0;*(p+i)!='\0';i++)

if(*(p+i)>='0'&&*(p+i)

{

while(*(p+i)>='0'&&*(p+i)

{

c[n]=c[n]+(int)(*(p+i)-48)*pow(10,(b[k]--)-1);

i++;

}

k++;

printf("%d ",c[n++]);

}

puts("");

return 0;

}

22. 有一篇文章,共有4行文章,每行有60个字符。要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数。(要求用指针实现)

#include

int main()

{

void count(char (*p)[60]);

char stir[4][60];

printf("input 4 string:\n");

for(int i=0;i

gets(stir[i]);

count(stir);

return 0;

}

void count(char (*p)[60])

{ int l=0,L=0,digit=0,space=0,oth=0;

int i,j;

for(i=0;i

for(j=0;*(*(p+i)+j)!='\0';j++)

if((*(*(p+i)+j)>='a')&&(*(*(p+i)+j)='z'))

l++;

else if((*(*(p+i)+j))>='A'&&(*(*(p+i)+j)

L++;

else if(*(*(p+i)+j)>='0'&&*(*(p+i)+j)

digit++;

else if(*(*(p+i)+j)==32)

space++;

else

oth++;

printf("\capital letter:%d\nlower letter:%d\ndigit:%d\nspace:%d\nothers:%d\n",

L,l,digit,space,oth);

}

23. 编程实现从键盘输入任意十个字符串,找出并显示最长的那个字符串。(要求用指针知识实现)

#include

#include

int main()

{

char max[50],b[50];

char *p=max,*p1=b;

gets(max);

for(int i=0;i

{

gets(p1);

if(strlen(p)

{

p1=p;

strcpy(max,p1);

}

puts("");

puts(max);

return 0;

}

24. 利用函数实现如下功能:从键盘输入任意个正整数,求出它的偶数因子,并按从小到大的顺序放在pp所指的数组中,这些因子的个数通过形参n返回。(自定义函数void fun (int x, int * pp, int *n) )。

#include

int main()

{

void fun (int x,int *pp, int *n);

int x,*pp=anta[100];

scanf("%d",&x);

fun(x,pp,&n);

return 0;

}

void fun (int x,int *pp, int *n)

{

int i,j=0,t;

for(i=2;i

if(axis==0&&i%2==0)

*(pap++)=i;

*n=j;

printf("%d\n",*n);

}

25. 编写一个函数,实现求出一个2维数组中的鞍点,并在main函数中调用此函数,2维数组中数据输入和鞍点数据输出都在主函数中实现。(鞍点是指某个数在该行上最大,同时在该列上最小)

#include

int main()

{

int an(int a[4][5]);

int a[4][5],i,j;

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

printf("%d\n",an(a));

return 0;

}

int an(int a[4][5])

{

int i,j,m,n,b,max,k,f;

for(i=0;i

{

max=a[i][0];

for(j=1;j

if(a[i][j]>max)

{

max=a[i][j];

m=j;

}

f=1;

for(k=0;k

if(max>a[k][m])

f=0;

{

return(a[i][m]);

break;

}

}

}

26. 输入3个学生4门课的成绩,分别用函数实现如下功能:

(1) 计算每个学生平均分;

(2) 计算每门课的平均分;

(3) 找出12个分数中最高分所对应的学生和课程。

#include

int score[3][4];

int a_stu[3],acorn[4];

int race;

int main()

{

int i,j;

void avers();

void aver_cour();

void highest();

printf("\no. cour1 cour2 cour3 cour4\n");

for(i=0;i

{

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

for(j=0;j

scanf("%d",&score[i][j]);

}

avers();

aver_cour();

highest();

return 0;

}

void avers()

{

int s;

for(int i=0;i

{

for(int j=0,s=0;j

s+=score[i][j];

a_stu[i]=s/4.0;

}

printf("\average of student:"); //输出每个学生的平均成绩

for(int j=0;j

printf("%2d ",a_stu[j]);

}

void aver_cour() //计算4门课程平均成绩的函数

{

int i,j;

float s;

printf("\average of soure :");

for(j=0;j

{

s=0;

for(i=0;i

s=s+score[i][j];

acorn[j]=s/(float)3;

printf("%2d ",acorn[j]);

}

}

void highest()

{

int high=score[0][0];

int i,j,r=1,c=1;

for(i=0;i

for(j=0;j

if(score[i][j]>high)

{

high=score[i][j];

r=i+1;

c=j+1;

}

printf("\nhighest :%d NO.%d course %2d\n",high,r,c);

}

27. 用一个函数实现将一行字符串中的最长的单词输出。此行字符串从主函数传递给该函数。

#include

char b[50];

int main()

{

char a[50];

void fun(char a[]);

gets(a);

fun(a);

return 0;

}

void fun(char a[])

{

int i,j,max=0,k,n,t;

for(i=0;a[i]!='\0';i++)

{

j=0;n=i;

while((a[n]>='a'&&a[n]='A'&&a[n]

{

j++;

n++;

}

if(max

{

max=j;

k=i;

}

}

for(t=k;t

printf("%c",a[t]);

printf("\n");

}

28. 有3个学生,各学4门课程,输出总平均分数以及第n个学生的所有成绩。(要求定义两个函数分别实现上述功能,用指针作为函数参数)

#include

int main()

{

void average(int *);

void funny(int (*n)[4]);

int score[3][4]={{98,78,87,86},{85,87,76,45},{93,95,67,87}};

average(*score);

funny(score);

return 0;

}

void average(int *p)

{

int sum=0;

for(int i=0;i

sum+=*(p+i);

printf("average of all scores: %d\n",sum/12);

}

void funny(int (*n)[4])

{

int k;

printf("The score of No.");

scanf("%d",&k);

k=k-1;

for(int j=0;j

printf("%d ",*(*(nuke)+j));

puts("");

}

29. 有3个学生,每个学生有4门课程的成绩,要求在用户输入学生学号以后,能输出该学生的全部成绩。(用指针函数知识实现) #include

int main()

{

int score[3][4]={{98,78,87,86},{85,87,76,45},{93,95,67,87}};

void funny(int (*n)[4],int);

int k;

printf("The score of No.");

scanf("%d",&k);

funny(score,k-1);

return 0;

}

void funny(int (*n)[4],int k)

{

for(int j=0;j

printf("%d ",*(*(nuke)+j));

puts("");

}

30. 定义一个结构体变量(包括年、月、日)。计算当天是本年中的第几天,注意闰年问题。

#include

struct

{

int year;

int month;

int day;

}date;

int main()

{

int I, days;

int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

printf("input year,month,day:");

scanf("%d,%d,%d",&date.year,&date.month,&date.day);

days=0;

for(i=1;i

days+=day_tab[i];

days+=date. day;

if(date.year%4==0&&date.year%100!=0||date.year%400==0&&date.month>=3)

days+=1;

printf("%d/%d is the %ditch day in %d.\n",date.month,date.day,days,date.year);

return 0;

}

31. 设计候选人得票统计程序,要求有4个侯选人(分别是Zhang 、Wang 、Li、 Zhao),选民每次输入一个被选人的姓名,最后统计出各人的得票结果。

#include

#include

struct Person

{

char name[20];

int count;

}leader[4]={"Zhang",0,"Wang",0,"Li",0,"Zhao",0};

int main()

{

int i,j;

char leader_name[20];

for(i=1;i

{

scanf("%s",leader_name);

for(j=0;j

if(strcmp(leader_name,leader[j].name)==0)

leader[j].count++;

}

printf("\nResult:\n");

for(i=0;i

printf("%5s:%d\n",leader[i].name,leader[i].count);

return 0;

}

32. 定义一个包括学号、姓名、成绩的学生结构体,要求实现输入3个学生信息的输入后,按照成绩的高低顺序输出各学生的信息。 #include

#define N 3

struct Student

{

int num;

char name[20];

float score;

};

int main()

{

struct Student stud[N];

struct Student temp;

int i,j;

printf("请输入三个学生的信息:学号、姓名、成绩:\n");

for(i=0;i

{

scanf("%d%s%f",&stu[i].num,stu[i].name,&stu[i].score);

}

printf("The order is :\n");

for(i=0;i

for(j=i+1;j

{

if(stud[j].score>stud[i].score)

temp=stud[i];

stud[i]=stud[j];

stud[j]=temp;

}

for(i=0;i

printf("%6d %8s %6.2f\n",stu[i].num,stu[i].name’s[i].score);

return 0;

}

33. 有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入3个学生数据,要求输出平均成绩最高分的学生的信息(包括学号、姓名、3门课程成绩、平均分数)(用结构体知识)。

#include

#define N 3

struct Student

{

int num;

char name[20];

float score[3];

float aver;

};

int main()

{

void input(struct Student stud[]);

struct Student max(struct Student stud[]);

void print(struct Student stud);

struct Student stud[N],*p=stud;

input(p);

print(max(p));

return 0;

}

void input(struct Student stud[])

{

int i;

printf("请输入各个学生的信息:学号、姓名、三门课成绩:\n");

for(i=0;i

{

scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);

stud[i].aver=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3;

}

}

struct Student max(struct Student stud[])

{

int i,m=0;

for(i=0;i

if(stud[i].aver>stud[m].aver)

m=i;

return stud[m];

}

void print(struct Student stud)

{

printf("\n成绩最高的学生是:\n");

printf("学号:%d\n姓名:%s\n三门课成绩:%5.1f,%5.1f,%5.1f\n平均成绩:%6.2f\n",stu.num,stu.name,stu.score[0],stu.score[1],stu.score[2],stu.aver);

}

34. 建立一个链表,每个结点包括:学号、姓名、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。 #include

#include

#define LEN sizeof(struct student)

struct student

{

char num[6];

char name[8];

char sex[2];

int age;

struct student *next;

}stud[10];

int main()

{

struct student *p,*pt,*head;

int i,length,iage,flag=1;

int find=0;

while(flag==1)

{

printf("input length of list

scanf("%d",&length);

if(length

flag=0;

}

for(i=0;i

{

p=(struct student *) malloc(LEN);

if(i==0)

head=pt=p;

else

pt->next=p;

pt=p;

printf("NO.:");

scanf("%s",p->num);

printf("name:");

scanf("%s",p->name);

printf("sex:");

scanf("%s",p->sex);

printf("age:");

scanf("%d",&p->age);

}

p->next=NULL;

p=head;

printf("\n MO.name sex age\n");

while(p!=NULL)

{

printf("%4s%8s%6s%6d\n",p->mump->name->six->age);

p=p->next;

}

printf("input age:");

scanf("%d",&iage);

pt=head;

if(pt->age==iage)

{

p=pt->next;

head=pt=p;

find=1;

}

else

pt=pt->next;

while(pt!=NULL)

{

if(pt->age==iage)

{

p->next=pt->next;

find=1;

}

else

p=pt;

pt=pt->next;

}

if(!find)

printf("not found %d.",iage);

p=head;

printf("\n NO.name sex age\n");

while(p!=NULL)

{

printf("%4s%8s",p->mump->name);

printf("%6s%6d\n",p->six->age);

p=p->next;

}

return 0;

}

35. 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下来的是原来第几号的那位。(要求用指针链表实现)

#include

#define N 13

int main()

{

int I, out=0,sum=0;

struct People

{

int num;

int data;

struct People *next;

}a[N];

struct People *head,*p;

for(i=0;i

{

a[i].num=i+1;

a[i].data=1;

}

head=&a[0];

for(i=0;i

if(i==N-1)

a[i].next=NULL;

a[i].next=&a[i+1];

p=head;

while(out!=N-1)

{

if(p->data==1)

sum++;

if(sum==3)

{

p->data=0;

out++;

sum=0;

}

p=p->next;

if(p==NULL)

p=head;

}

do

{

if(p->data==1)

{

printf("最后留下的学生的学号为:No.%d\n",p->num);

break;

}

p=p->next;

}

while(p!=NULL);

return 0;

}

36. 从键盘上读入3个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。

#include

#include

#include

int main()

{

FILE *fop;

char a[3][20],t[10];

int i,j,k;

printf("Enter three strings:\n");

for(i=0;i

gets(a[i]);

for(i=0;i

for(j=0;j

if(strcmp(a[j],a[j+1])>0)

{

strcpy(tea[j]);

strcpy(a[j],a[j+1]);

strcpy(a[j+1],t);

}

if((fop=fopen("d:\\file.txt","w"))==NULL)

{

printf("can't open file\n");

exit(0);

}

for(i=0;i

{

puts(a[i],fop);puts("\n",fp);

puts(a[i]);

}

return 0;

}

37. 在磁盘文件上存有10个学生的数据。要求将第1,3,5,7,9个学生数据输入计算机,并在屏幕上显示出来。

38. 有两个磁盘文件“file1”和“file2”,各存放一行字母,要求把两个文件中的信息合并(按字母顺序排序),输出到一个新文件“file3”中去。

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。

#include

int main()

{

int i,j,t;

int max(int,int);

int min(int,int);

scanf("%d%d",&i,&j);

if(i

{t=i;i=j;j=t;}

printf("%d %d\n",max(i,j),min(i*j,max(i,j)));

return 0;

}

int max(int i,int j)

{

int t;

while(j)

{

t=i%j;

i=j;

j=t;

}

return i;

}

int min(int p,int q)

{

return p/q;

}

2. 输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。

#include

int main()

{

int max4(int,int,int,int); //对max4的函数声明

int a,b,c,d;

scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数

printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者

return 0;

}

int max4(int a,int b,int c,int d) //定义max4函数

{

int max2(int,int); //对max2的函数声明

return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数

}

int max2(int a,int b)

{

return(a>b?a:b); //返回条件表达式的值,即a和b中的大者

}

3. 用递归调用的方法求5!。

#include

int main()

{

int fac(int);

int n;

scanf("%d",&n);

printf("%d!=%d\n",n,fac(n));

return 0;

}

int fac(int n)

{

if(n==0||n==1)

return 1;

else

return fac(n-1)*n;

}

4. 按以下递归公式求函数的值。

10fun(n) fun(n1)2(n1) 例如,当给n输入5时,函数值为18,(要求用递归实现)。 (n1)

#include

int main()

{

int fun(int);

int n;

scanf("%d",&n);

printf("%d\n",fun(n));

return 0;

}

int fun(int n)

{

if(n==1)

return 10;

else

return fun(n-1)+2;

}

5. 用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”,n的位数不确定,可以是任意位数的整数。 #include

void main()

{void fun(int);

int n;

scanf("%d",&n);

if(n

{

n=-n;

putchar('-');

}

fun(n);

puts("");

}

void fun(int m)

{

if(m/10)

fun(m/10);

putchar(m%10+48);

}

6. 写一个函数,完成将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1改后成为1,4,5,6,8。

#include

#define N 5

int main()

{

void fun(int a[]);

int a[N],i;

for(i=0;i

scanf("%d",&a[i]);

fun(a);

return 0;

}

void fun(int a[N])

{

int t,i;

for(i=0;i

{

t=a[i];

a[i]=a[N-1-i];

a[N-1-i]=t;

}

for(i=0;i

printf("%d ",a[i]);

puts("");

}

7. 编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。

#include

#define N 5

#define M 10

int main()

{

int score_1[N],score_2[M];

int i,fun(int a[],int);

for(i=0;i

scanf("%d",&score_1[i]);

for(i=0;i

scanf("%d",&score_2[i]);

printf("average of score_1:%d\n",fun(score_1,N));

printf("average of score_2:%d\n",fun(score_2,M));

return 0;

}

int fun(int c[],int l)

{

int aver=0;

for(int i=0;i

aver+=c[i];

return aver/l;

}

8. 编写一个函数,实现将两个字符串连接起来,并在main函数中调用此函数,不要调用系统提供的strcat函数。

#include

int main()

{

void c(char st1[],char st2[]);

char s1[100],s2[100];

gets(s1); gets(s2);

c(s1,s2); puts(s1);

return 0;

}

void c(char st1[],char st2[])

{

int i=0,k=0;

while(st1[++i]);

while(st1[i++]=st2[k++]);

}

9. 编写一个函数,比较两个字符串的大小,并在main函数中调用此函数,不要调用strcmp函数。

#include

int main()

{

char a[100],b[100];

void fun(char a[],char b[]);

gets(a);

gets(b);

fun(a,b);

return 0;

}

void fun(char a[],char b[])

{

for(int i=0;;i++)

{

if(a[i]>b[i])

{puts(a);break;}

else if(a[i]

{puts(b);break;}

else

continue;

}

}

10. 编写一个函数,实现在一个升序排列的整型数组中插入一个整数的功能,

主函数中实现。

#include

int a[11]={1,3,5,7,14,23,45,87,155,231};

int main()

{

int c,i;

void fun(int a[],int c);

printf("input an integer:");

scanf("%d",&c);

fun(a,c);

for(i=0;i

printf("%d ",a[i]);

printf("\n");

return 0;

}

void fun(int a[],int t)

{

int i,j;

if(t>a[9])

a[10]=t;

else

{

for(i=0;i

if(t

break;

for(j=10;j>i;j--)

a[j]=a[j-1];

并在main函数中调用此函数,输入数据和最后输出都在

a[i]=t;

}

}

11. 写一个判断素数的函数,在主函数输入一个整数,是素数时输出yes,否则输出no,结果要求在主函数中输出。

#include

int main()

{

int a;

int is_prime(int);

scanf("%d",&a);

if(is_prime(a)==0)

printf("yes\n");

else

printf("no\n");

return 0;

}

int is_prime(int a)

{

int j,flag=1;

for(j=2;j

{

if(a%j==0)

break;

}

if(j>=a/2)

flag=0;

return flag;

}

12. 编写一个函数,将一个字符串中的原音字母赋值到另一个字符串中,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。

#include

char a[50],b[50]={0};

int main()

{

void fun(char a[],char b[]);

gets(a);

fun(a,b);

puts(b);

return 0;

}

void fun(char a[],char b[])

{

int i,j;

for(i=0,j=0;a[i]!='\0';i++)

if(a[i]=='a'||a[i]=='A'||a[i]=='e'||a[i]=='E'||a[i]=='i'||a[i]=='I'||a[i]=='o'||a[i]=='O'||a[i]=='u'||a[i]=='U')

b[j++]=a[i];

}

13. 建立动态数组,输入5个学生的成绩,编写函数检查其中有无低于60分的学生成绩,要求输入和输出功能在主函数中完成。 #include

#include

int main()

{

void check(int *);

int *p,i;

p1=(int *)malloc(5*sizeof(int));

for(i=0;i

scanf("%d",p+i);

check(p1);

return 0;

}

void check(int *p)

{

int i;

printf("They are fail:");

for(i=0;i

if(*(p+i)

printf("%d ",p[i]);

puts("");

}

14. 有一个一维数组score,内放10个学生成绩,用一个函数求平均成绩,并将10个成绩中不及格(小于60)的成绩和该成绩在数组中的序号输出。

#include

int main()

{

void ave(int a[10]);

int a[10],i;

for(i=0;i

scanf("%d",&a[i]);

ave(a);

return 0;

}

void ave(int a[10])

{

int i,m=0;

for(i=0;i

{

m=m+a[i];

if(a[i]

printf("%d %d\n",a[i],i);

}

printf("%d\n",m/10);

}

15. 编程实现:从键盘输入两个字符串,统计第二个字符串在第一个字符串中出现的次数,在主函数中调用统计函数并输出结果。 #include

int main()

{

int a[10],i,j,t,*p;

for(i=0;i

scanf("%d",&a[i]);

p=a;

for(i=0;i

for(j=0;j

if(*(p+j)>*(p+j+1))

{

t=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=t;

}

for(i=0;i

printf("%d ",*(p+i));

puts("");

return 0;

}

16 编写一程序,实现从键盘接收一个字符串,然后删除其中的空格后并输出。如:输入“I am a student!”,输出“Iamastudent!”,要求用指针实现。

#include

#include

int main()

{

char a[50],*p;

int l,i;

printf("input string a:");

gets(a);

p=a;

l=strlen(a);

for(l;l>0;l--)

{

if(*(p+l)==' ')

for(i=l;*(p+i)!='\0';i++)

*(p+i)=*(p+i+1);

}

puts(p);

return 0;

}

17. 用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。

#include

int main()

{

int a[10],i,j,t,*p=a;

for(i=0;i

scanf("%d",p+i);

for(i=0;i

for(j=0;j

if(*(p+j)>*(p+j+1))

{

t=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=t;

}

for(i=0;i

printf("%d ",*(p+i));

puts("");

return 0;

}

18. 用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。

#include

int main()

{

int a[10],i,j,t,*p=a;

for(i=0;i

scanf("%d",&a[i]);

for(i=0;i

for(j=i+1;j

if(*(p+i)>*(p+j))

{

t=*(p+i);

*(p+i)=*(p+j);

*(p+j)=t;

}

for(i=0;i

printf("%d ",*(p+i));

puts("");

return 0;

}

19. 编写一个函数实现字符串复制功能,不能使用strcpy函数,并在 main函数中调用,输入字符串和输出赋值完后字符串的结果都在主函数中实现。(要求用指针作为函数参数)

#include

int main()

{

char a[100],b[20],*p,*q;

void copy_string(char *,char *);

gets(b);

p=a;q=b;

copy_string(p,q);

puts(p);

return 0;

}

void copy_string(char *p,char *q)

{

while(*p++=*q++);

}

20. 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。(要求用指针实现)

#include

int main()

{

char a[100],*p=a;

int fun(char *);

gets(a);

printf("%d\n",fun(a));

return 0;

}

int fun(char *p)

{

int k=0;

while(*p++)

k++;

return k;

}

21. 输入一个字符串,内有数字和非数字字符,例如:“A123x456 17960? 302tab5876”,将其中连续的数字作为一个整数,依次存在到一数组a中。例如,123放在a[0],456放在a[1]„„统计共有多少个整数,并输出这些数。(要求用指针实现)

#include

char a[100];

int main()

{

void fun(char *);

char *p=a;

gets(p);

fun(p);

return 0;

}

void fun(char *p)

{

int num[100],s,k,j=0,i=0;

s=0;

while(*(p+i))

{

k=0;

while(*(p+i)>='0'&&*(p+i)

{

s*=10;

s+=*(p+i)-48;

i++;k=1;

}

if(k)

{

num[j++]=s;

s=0;

}

else

i++;

}

printf("%d\n",j);

for(i=0;i

printf("%d ",num[i]);

puts("");

}

#include

#include

int main()

{

char a[50],*p;

int b[50],c[50]={0},k,j,i;

gets(a);

p=a;

k=0;

for(i=0;*(p+i)!='\0';i++)

if(*(p+i)>='0'&&*(p+i)

{

j=0;

while(*(p+i)>='0'&&*(p+i)

{

i++;

j++; //j表示每个数字个数(长度)

}

b[k++]=j; //k记录有几个数字

}

printf("%d\n",k);

k=0;

int n=0;

for(i=0;*(p+i)!='\0';i++)

if(*(p+i)>='0'&&*(p+i)

{

while(*(p+i)>='0'&&*(p+i)

{

c[n]=c[n]+(int)(*(p+i)-48)*pow(10,(b[k]--)-1);

i++;

}

k++;

printf("%d ",c[n++]);

}

puts("");

return 0;

}

22. 有一篇文章,共有4行文章,每行有60个字符。要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数。(要求用指针实现)

#include

int main()

{

void count(char (*p)[60]);

char stir[4][60];

printf("input 4 string:\n");

for(int i=0;i

gets(stir[i]);

count(stir);

return 0;

}

void count(char (*p)[60])

{ int l=0,L=0,digit=0,space=0,oth=0;

int i,j;

for(i=0;i

for(j=0;*(*(p+i)+j)!='\0';j++)

if((*(*(p+i)+j)>='a')&&(*(*(p+i)+j)='z'))

l++;

else if((*(*(p+i)+j))>='A'&&(*(*(p+i)+j)

L++;

else if(*(*(p+i)+j)>='0'&&*(*(p+i)+j)

digit++;

else if(*(*(p+i)+j)==32)

space++;

else

oth++;

printf("\capital letter:%d\nlower letter:%d\ndigit:%d\nspace:%d\nothers:%d\n",

L,l,digit,space,oth);

}

23. 编程实现从键盘输入任意十个字符串,找出并显示最长的那个字符串。(要求用指针知识实现)

#include

#include

int main()

{

char max[50],b[50];

char *p=max,*p1=b;

gets(max);

for(int i=0;i

{

gets(p1);

if(strlen(p)

{

p1=p;

strcpy(max,p1);

}

puts("");

puts(max);

return 0;

}

24. 利用函数实现如下功能:从键盘输入任意个正整数,求出它的偶数因子,并按从小到大的顺序放在pp所指的数组中,这些因子的个数通过形参n返回。(自定义函数void fun (int x, int * pp, int *n) )。

#include

int main()

{

void fun (int x,int *pp, int *n);

int x,*pp=anta[100];

scanf("%d",&x);

fun(x,pp,&n);

return 0;

}

void fun (int x,int *pp, int *n)

{

int i,j=0,t;

for(i=2;i

if(axis==0&&i%2==0)

*(pap++)=i;

*n=j;

printf("%d\n",*n);

}

25. 编写一个函数,实现求出一个2维数组中的鞍点,并在main函数中调用此函数,2维数组中数据输入和鞍点数据输出都在主函数中实现。(鞍点是指某个数在该行上最大,同时在该列上最小)

#include

int main()

{

int an(int a[4][5]);

int a[4][5],i,j;

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

printf("%d\n",an(a));

return 0;

}

int an(int a[4][5])

{

int i,j,m,n,b,max,k,f;

for(i=0;i

{

max=a[i][0];

for(j=1;j

if(a[i][j]>max)

{

max=a[i][j];

m=j;

}

f=1;

for(k=0;k

if(max>a[k][m])

f=0;

{

return(a[i][m]);

break;

}

}

}

26. 输入3个学生4门课的成绩,分别用函数实现如下功能:

(1) 计算每个学生平均分;

(2) 计算每门课的平均分;

(3) 找出12个分数中最高分所对应的学生和课程。

#include

int score[3][4];

int a_stu[3],acorn[4];

int race;

int main()

{

int i,j;

void avers();

void aver_cour();

void highest();

printf("\no. cour1 cour2 cour3 cour4\n");

for(i=0;i

{

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

for(j=0;j

scanf("%d",&score[i][j]);

}

avers();

aver_cour();

highest();

return 0;

}

void avers()

{

int s;

for(int i=0;i

{

for(int j=0,s=0;j

s+=score[i][j];

a_stu[i]=s/4.0;

}

printf("\average of student:"); //输出每个学生的平均成绩

for(int j=0;j

printf("%2d ",a_stu[j]);

}

void aver_cour() //计算4门课程平均成绩的函数

{

int i,j;

float s;

printf("\average of soure :");

for(j=0;j

{

s=0;

for(i=0;i

s=s+score[i][j];

acorn[j]=s/(float)3;

printf("%2d ",acorn[j]);

}

}

void highest()

{

int high=score[0][0];

int i,j,r=1,c=1;

for(i=0;i

for(j=0;j

if(score[i][j]>high)

{

high=score[i][j];

r=i+1;

c=j+1;

}

printf("\nhighest :%d NO.%d course %2d\n",high,r,c);

}

27. 用一个函数实现将一行字符串中的最长的单词输出。此行字符串从主函数传递给该函数。

#include

char b[50];

int main()

{

char a[50];

void fun(char a[]);

gets(a);

fun(a);

return 0;

}

void fun(char a[])

{

int i,j,max=0,k,n,t;

for(i=0;a[i]!='\0';i++)

{

j=0;n=i;

while((a[n]>='a'&&a[n]='A'&&a[n]

{

j++;

n++;

}

if(max

{

max=j;

k=i;

}

}

for(t=k;t

printf("%c",a[t]);

printf("\n");

}

28. 有3个学生,各学4门课程,输出总平均分数以及第n个学生的所有成绩。(要求定义两个函数分别实现上述功能,用指针作为函数参数)

#include

int main()

{

void average(int *);

void funny(int (*n)[4]);

int score[3][4]={{98,78,87,86},{85,87,76,45},{93,95,67,87}};

average(*score);

funny(score);

return 0;

}

void average(int *p)

{

int sum=0;

for(int i=0;i

sum+=*(p+i);

printf("average of all scores: %d\n",sum/12);

}

void funny(int (*n)[4])

{

int k;

printf("The score of No.");

scanf("%d",&k);

k=k-1;

for(int j=0;j

printf("%d ",*(*(nuke)+j));

puts("");

}

29. 有3个学生,每个学生有4门课程的成绩,要求在用户输入学生学号以后,能输出该学生的全部成绩。(用指针函数知识实现) #include

int main()

{

int score[3][4]={{98,78,87,86},{85,87,76,45},{93,95,67,87}};

void funny(int (*n)[4],int);

int k;

printf("The score of No.");

scanf("%d",&k);

funny(score,k-1);

return 0;

}

void funny(int (*n)[4],int k)

{

for(int j=0;j

printf("%d ",*(*(nuke)+j));

puts("");

}

30. 定义一个结构体变量(包括年、月、日)。计算当天是本年中的第几天,注意闰年问题。

#include

struct

{

int year;

int month;

int day;

}date;

int main()

{

int I, days;

int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

printf("input year,month,day:");

scanf("%d,%d,%d",&date.year,&date.month,&date.day);

days=0;

for(i=1;i

days+=day_tab[i];

days+=date. day;

if(date.year%4==0&&date.year%100!=0||date.year%400==0&&date.month>=3)

days+=1;

printf("%d/%d is the %ditch day in %d.\n",date.month,date.day,days,date.year);

return 0;

}

31. 设计候选人得票统计程序,要求有4个侯选人(分别是Zhang 、Wang 、Li、 Zhao),选民每次输入一个被选人的姓名,最后统计出各人的得票结果。

#include

#include

struct Person

{

char name[20];

int count;

}leader[4]={"Zhang",0,"Wang",0,"Li",0,"Zhao",0};

int main()

{

int i,j;

char leader_name[20];

for(i=1;i

{

scanf("%s",leader_name);

for(j=0;j

if(strcmp(leader_name,leader[j].name)==0)

leader[j].count++;

}

printf("\nResult:\n");

for(i=0;i

printf("%5s:%d\n",leader[i].name,leader[i].count);

return 0;

}

32. 定义一个包括学号、姓名、成绩的学生结构体,要求实现输入3个学生信息的输入后,按照成绩的高低顺序输出各学生的信息。 #include

#define N 3

struct Student

{

int num;

char name[20];

float score;

};

int main()

{

struct Student stud[N];

struct Student temp;

int i,j;

printf("请输入三个学生的信息:学号、姓名、成绩:\n");

for(i=0;i

{

scanf("%d%s%f",&stu[i].num,stu[i].name,&stu[i].score);

}

printf("The order is :\n");

for(i=0;i

for(j=i+1;j

{

if(stud[j].score>stud[i].score)

temp=stud[i];

stud[i]=stud[j];

stud[j]=temp;

}

for(i=0;i

printf("%6d %8s %6.2f\n",stu[i].num,stu[i].name’s[i].score);

return 0;

}

33. 有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入3个学生数据,要求输出平均成绩最高分的学生的信息(包括学号、姓名、3门课程成绩、平均分数)(用结构体知识)。

#include

#define N 3

struct Student

{

int num;

char name[20];

float score[3];

float aver;

};

int main()

{

void input(struct Student stud[]);

struct Student max(struct Student stud[]);

void print(struct Student stud);

struct Student stud[N],*p=stud;

input(p);

print(max(p));

return 0;

}

void input(struct Student stud[])

{

int i;

printf("请输入各个学生的信息:学号、姓名、三门课成绩:\n");

for(i=0;i

{

scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);

stud[i].aver=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3;

}

}

struct Student max(struct Student stud[])

{

int i,m=0;

for(i=0;i

if(stud[i].aver>stud[m].aver)

m=i;

return stud[m];

}

void print(struct Student stud)

{

printf("\n成绩最高的学生是:\n");

printf("学号:%d\n姓名:%s\n三门课成绩:%5.1f,%5.1f,%5.1f\n平均成绩:%6.2f\n",stu.num,stu.name,stu.score[0],stu.score[1],stu.score[2],stu.aver);

}

34. 建立一个链表,每个结点包括:学号、姓名、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。 #include

#include

#define LEN sizeof(struct student)

struct student

{

char num[6];

char name[8];

char sex[2];

int age;

struct student *next;

}stud[10];

int main()

{

struct student *p,*pt,*head;

int i,length,iage,flag=1;

int find=0;

while(flag==1)

{

printf("input length of list

scanf("%d",&length);

if(length

flag=0;

}

for(i=0;i

{

p=(struct student *) malloc(LEN);

if(i==0)

head=pt=p;

else

pt->next=p;

pt=p;

printf("NO.:");

scanf("%s",p->num);

printf("name:");

scanf("%s",p->name);

printf("sex:");

scanf("%s",p->sex);

printf("age:");

scanf("%d",&p->age);

}

p->next=NULL;

p=head;

printf("\n MO.name sex age\n");

while(p!=NULL)

{

printf("%4s%8s%6s%6d\n",p->mump->name->six->age);

p=p->next;

}

printf("input age:");

scanf("%d",&iage);

pt=head;

if(pt->age==iage)

{

p=pt->next;

head=pt=p;

find=1;

}

else

pt=pt->next;

while(pt!=NULL)

{

if(pt->age==iage)

{

p->next=pt->next;

find=1;

}

else

p=pt;

pt=pt->next;

}

if(!find)

printf("not found %d.",iage);

p=head;

printf("\n NO.name sex age\n");

while(p!=NULL)

{

printf("%4s%8s",p->mump->name);

printf("%6s%6d\n",p->six->age);

p=p->next;

}

return 0;

}

35. 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下来的是原来第几号的那位。(要求用指针链表实现)

#include

#define N 13

int main()

{

int I, out=0,sum=0;

struct People

{

int num;

int data;

struct People *next;

}a[N];

struct People *head,*p;

for(i=0;i

{

a[i].num=i+1;

a[i].data=1;

}

head=&a[0];

for(i=0;i

if(i==N-1)

a[i].next=NULL;

a[i].next=&a[i+1];

p=head;

while(out!=N-1)

{

if(p->data==1)

sum++;

if(sum==3)

{

p->data=0;

out++;

sum=0;

}

p=p->next;

if(p==NULL)

p=head;

}

do

{

if(p->data==1)

{

printf("最后留下的学生的学号为:No.%d\n",p->num);

break;

}

p=p->next;

}

while(p!=NULL);

return 0;

}

36. 从键盘上读入3个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。

#include

#include

#include

int main()

{

FILE *fop;

char a[3][20],t[10];

int i,j,k;

printf("Enter three strings:\n");

for(i=0;i

gets(a[i]);

for(i=0;i

for(j=0;j

if(strcmp(a[j],a[j+1])>0)

{

strcpy(tea[j]);

strcpy(a[j],a[j+1]);

strcpy(a[j+1],t);

}

if((fop=fopen("d:\\file.txt","w"))==NULL)

{

printf("can't open file\n");

exit(0);

}

for(i=0;i

{

puts(a[i],fop);puts("\n",fp);

puts(a[i]);

}

return 0;

}

37. 在磁盘文件上存有10个学生的数据。要求将第1,3,5,7,9个学生数据输入计算机,并在屏幕上显示出来。

38. 有两个磁盘文件“file1”和“file2”,各存放一行字母,要求把两个文件中的信息合并(按字母顺序排序),输出到一个新文件“file3”中去。


相关文章

  • 大学计算机 第五章单元测验
  • 关于计算机程序,下列叙述正确的是(). A. 只有可执行程序(.exe )才能在计算机中运行. B. 计算机程序是用自然语言书写的关于问题求解的方法和步骤的描述. C. 计算机程序编程人员利用某种计算机程设计语言,根据用户业务需求来编写完成 ...查看


  • 四川省会计电算化初级考试试题及答案第二章
  • [总题数(138)总分(138)及格分数(83)] 一.多选题:[题数(18),每题(1)分,总计(18)分] 1.计算机掉电后,下列那些设备的数据不会全部丢失. A.RAM B.ROM C.硬盘 D.软盘 [正确答案:BCD] 2.一个完 ...查看


  • 计算机应用基础知识试题带答案.
  • 计算机基础知识试题(答案及详细解释) 一. 选择题 1.一个完整的计算机系统包括____. A) 主机.键盘.显示器 B) 计算机及其外部设备 C) 系统软件与应用软件D) 计算机的硬件系统和软件系统 解答:一个完整的计算机系统是由硬件系统 ...查看


  • 计算机应用基础知识试题
  • 计算机基础知识试题 1.一个完整的计算机系统包括____. A) 主机.键盘.显示器 B) 计算机及其外部设备 C) 系统软件与应用软件 D) 计算机的硬件系统和软件系统 解答:一个完整的计算机系统是由硬件系统和软件系统组成的.计算机的硬件 ...查看


  • 程序设计语言基础(答案)
  • ●已知文法G[S]:S→A0|Bl,A→S1|1,B→S0|0:该文法属于乔姆斯基定义的 __(12)__文法,它不能产生串__(13)__. (12) A. 0 型B. 1 型C. 2 型D. 3 型 (13) A. 0011 B. 10 ...查看


  • 计算机基础知识 2
  • 基础知识 单选题 1.计算机中,完成程序指令指定的基于二进制数的算术运算或逻辑运算的部分是______. A :内存储器 B :外存储器 C :输入输出设备 D :运算器 答案:D 2.计算机中,控制运算器完成程序指令指定的基于二进制数的算 ...查看


  • 电脑的有哪些部件
  • 电脑的有哪些部件?各起什么作用? 答案一."软件部分"包括:操作系统.应用软件等.应用软件中电脑行业的管理软件,IT 电脑行业的发展必备利器, 电脑行业的erp 软件 . 二."硬件部分"包括:机箱( ...查看


  • 计算机基础知识
  • 2015年银行招聘考试题库及答案详解(计算机基础知识)(一)微机的重要组成部分 C.软盘和光盘都便于携带,但光盘的存储容量更大 D.硬盘虽然不如软盘存储容量大,但存取速度更快 80.下面关于信息化社会基本特征的描述,正确的有____. A. ...查看


  • 2003版判断题与答案
  • 判断题及答案 第三部分 判断题及答案 1.世界上第一台电子计算机名字叫ENIAC .( ) A. 正确 B. 错误 正确答案:A. 2.电子计算机是只用来进行科学计算的电子设备.10.大型计算机的性能优于微型计算机.( ) A. 正确 B. ...查看


  • 福建省计算机一级选择
  • 1. 信息论的创始人是( ). A . 布尔 B . 图灵 C . 冯·诺依曼 D . 香农 答案:D 2. 尽管计算学科已成为一个应用广泛的学科,但其根本问题仍然是能行问题,能行问题是指( ). A . 什么问题都能够被顺序地处理 B . ...查看


热门内容