c语言上机考试20题及答案

2020-05-01 11:16

1、编写函数,求一个字符串的长度。在main()函数中输入字符串,并输出其长度。 #include int accum(char ch[]) {

int i=0,num=0; while(ch[i]!='\\0') {

num++; i++; }

return num; }

void main() {

char ch[100];

printf(\ gets(ch);

printf(\}

2、编写一个函数,求两个整数的最大值和平均值。在主函数中,从键盘读入两个整数并输出他们的最大值及平均值。函数说明如下:void process (int a, int b, int *max, int *ave); 其中a,b为输入整数,max、ave用于结果回传。编写主函数及process函数。 #include

void process (int a, int b, int *max, int *ave) {

int c;

if(a>b) max=&a; else max=&b; c=(a+b)/2; ave=&c;

printf(\}

void main() {

int a,b,*c,*d;

printf(\ scanf(\ process(a,b,*c,*d); }

3、编程求200~300之间能同时被3和4整除的所有整数之和。 #include void main() {

int a=200,b=0; while(a<=300) {

if(a%3==0&&a%4==0) b=b+a; a++; }

printf(\}

4、编写程序,实现复制字符串的自定义版:char *mystrcpy(char *d,char *s);//该函数返回d的值,即字符串的首地址。 #include

int * mystrcpy(char * d ,char * s,int m)

C语言上机考试题及及答案

{

while((* d=* (s+m))!='\\0') {

s++; d++; }

return (d); }

void main() {

char s1[100],s2[100],* ps1, * ps2; int i;

ps1=&s1[0];

printf(\ gets(s2);

printf(\ scanf(\ ps2=s2;

mystrcpy(ps1,ps2,i); puts(s1); }

5、编写一个函数,实现两个整数的交换。在主函数中,从键盘读入两个整数并输出他们交换后的结果。

#include

void swap(int *a,int *b) {

int t; t=*a; *a=*b; *b=t; }

void main() {

int s,d,*q1,*q2;

printf(\ scanf(\ q1=&s; q2=&d; swap(q1,q2);

printf(\}

6、编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串及输出上述结果。 #include void statis(char str[]) {

int i;

int word=0,num=0,blank=0,other=0; for(i=0;str[i]!='\\0';i++) {

if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')) word++; else if(str[i]>='0'&&str[i]<='9') num++; else if(str[i]==' ') blank++; else other++; }

printf(\ printf(\

printf(\

printf(\}

void main() {

char str[100];

printf(\ gets(str); statis(str); }

7、编写程序求100~200之间所有素数之和并输出。 #include void main() {

int i,j,k,cnt=0; int a[50];

for(i=100;i<200;i++) {

k=1;

for(j=2;j

k=0; break; } if(k) {

a[cnt]=i; cnt++; } }

int sum=0;

for(i=0;i

8、编一函数,求字符串的长度,函数原型为: int my_strlen(char *s); #include int my_strlen(char *s) {

int num=0; while(*s!='\\0') {

num++; s++; }

return num; }

void main() {

char str[100],*p; p=&str[0];

printf(\ gets(str);

printf(\} 9、编写一个函数,求长度为n的数组中的最大值,并由形参返回。函数说明如下:void max(int

*a, int n, int * max) 其中a为数组的首地址,n为数组长度,max用于结果回传。 #include

void max(int *a, int n, int * max); void main() {

int num[5],*p,*q,i; p=num;

printf(\ for(i=0;i<5;i++)

scanf(\ max(p,5,q); }

void max(int *a,int n,int *max) {

int i,x=0;

for(i=0;i

if(x<*a) {

x=*a; max=&x; } a++; }

printf(\}

(不完全对)

10、编写程序输入一个字符串,根据空格,统计其中单词的个数。 #include void main() {

char str[100],prec,nowc; int i, num;

printf(\ gets(str);

prec=' ';num=0;i=0; while(str[i]!='\\0') {

nowc=str[i];

if(nowc!=' '&&prec==' ') num++; prec=nowc; i++; }

printf(\}

11、编写程序完成如下图形的输出(要求用循环完成): #include void main() {

int num=5,i,j; for(i=1;i<6;i++) {

for(j=1;j<=num;j++) printf(\ num--;

printf(\ }

}

12、编写一函数,求字符串的长度,函数原型为: int my_strlen(char *s); #include int my_strlen(char *s) {

int num=0; while(*s!='\\0') {

num++; s++; }

return num; }

void main() {

char str[100],*p; p=&str[0];

printf(\ gets(str);

printf(\} 13、在主函数中,完成变量说明int a, b, x, y; 并从键盘读入a, b的值之后,以process(a, b, &x, &y) ;形式调用process函数后,即可得到x是a,b的最大值,y是a,b之和。编写主函数及process函数。 #include

void process(int x,int y,int *p,int *q); void main() {

int a,b,x,y;

printf(\ scanf(\ process(a,b,&x,&y);

printf(\}

void process(int x,int y,int *p,int *q) {

*p=x>y?x:y; *q=x+y; }

14、编写程序输入一个字符串并将其内容颠倒存放后输出 #define N 80

#include void main() {

char str[N]; int i,j,t,p,n;

printf(\ gets(str); i=0;

while(str[i]!='\\0') i++; p=i/2-1;

for(n=0;n<=p;n++) {

j=i-n-1; t=str[n]; str[n]=str[j];


c语言上机考试20题及答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:卓越领导力考题答案版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: