文档视界 最新最全的文档下载
当前位置:文档视界 › 计算机编程题

计算机编程题

计算机编程题
计算机编程题

1.从键盘上输入一个大写字母,要求改用小写字母输出。

1.#include

main( )

{char c1,c2;

c1=getchar( );

printf(“%c,%d\n”,c1,c1);

c2=c1+’A’-‘a’;

printf(“%c,%d\n”,c2,c2);

}

2.请编写一个程序,能显示出以下两行文字。

I am a student.

I love China.

2. #include

mian( )

{printf(“I am a student.\n”);

printf(“I love China.\n”);

}

4.有一函数,其函数关系如下,试编程求对应于每一自变量的函数值。

x2 (x<0)

y = -0.5x+10 (0 x<10)

x-x (x 10)

1.解答:#include

main()

{float x,y;

scanf(“%f”,&x);

if(x<0) y=x*x;

else if(x>=0&&x<10) y=-0.5*x+10;

else y=x-sqrt(x);

printf(“y=%f”,y);

}

5.编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为‘A’;80~89分为‘B’;70~79分为‘C’;60~69分为‘D’;60分以下为‘E’。

2.解答:main()

{float score;

scanf(“%f”,&score);

if(score>=90) printf(“A”);

else if(score>=80) printf(“B”);

else if(score>=70) printf(“C”);

else if(score>=60) printf(“D”);

else printf(“E”);

}

1.编程实现用“辗转相除法”求两个正整数的最大公约数。1.#include

main()

{int r,m,n;

scanf(“%d%d”,&m,&n;

if(m

r=m%n;

while(r){m=n;n=r;r=m%n;}

printf(“%d\n”,n);}

2.一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如:6=1+2+3,6就是完全数,请编写一程序,求出1000以内的整数中的所有完全数。其中1000由用户输入。

2.#include

main()

{int a,i,m;

for(a=1;a<=100;a++)

{for(m=0,i=1;i<=a/2;i++) if(!(a%i))m+=i;

if(m==a) printf(“%4d”,a);}

1.用起泡法对10个数排序。

1.#include

main( )

{ int i,j,m,a[11];

for(i=1;i<=10;i++)

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

for( i=1;i<=9;i++)

for(j=1;j<=10-i;j++)

if(a[j]>a[j+1])

{ m=a[j];

a[j]=a[j+1];

a[j+1]=m; }

for(i=1;i<=10;i++)

printf(“%d ”,a[i]);}

7.求Fibonacci数列中前20个数,Fibonacci数列的前两个数为1,1,以后每一个数都是前两个数之和。Fibonacci数列的前n个数为1,1,2,3,5,8,13,用数组存放数列的前20个数,并输出之(按一行5个输出)。

2.#include

#include

main( )

{int i,data[20];

data[0]=data[1]=1;

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

data[i]=data[i-1]+data[i-2];

printf(“\n”);

for(i=0;i<20;i++)

{printf(“%7d”,data[i]);

if((i+1)%5= =0) printf(“\n”);

}

}

1.编写一个函数计算任一输入的整数的各位数字之和。主函数包括输入输出和调用该函数。

1.#include

func(int num)

{int s=0;

num=abs(num);

do

{s+=num%10;

num/=10;

}while(num);

}

main( )

{int n;

printf(“输入一个整数:”);

scanf(“%d”,&n);

printf(“结果:%d”,func(n));

}

2.函数的递归调用计算阶乘。

2.#include "stdio.h"

main()

{int i,n;

int fact();

scanf(“%d”,&n);

for(i=0;i

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

}

int fact(int j)

{int sum;

if(j==0)

sum=1;

else

sum=j*fact(j-1);

return sum;

}

1.编写一个程序计算一个字符串的长度。

1. #include

main( )

{char *str;

printf(“输入一字符串:”);

gets(str);

printf(“[%s]的长度为:%d\n”,str,string_length(str));

}

string_length(char *s)

{int len=0;

while(*s++)

len++;

return(len);

}

2.编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串。请用指针完成。

2. #include

main( )

{static char x[ ]=”computer”;

char *p;

for(p=x;p

putchar(*p);

printf(“\n”);}

1.试利用结构体类型编制一程序,实现输入一个学生的数学期中

和期末成绩,然后计算并输出其平均成绩。

1.main()

{struct study

{int mid;

int end;

int average;

}math;

scanf(“%d %d”,&math.mid,&math.end);

math.average=(math.mid+math.end)/2;

printf(“average=%d\n”,math.average);

}

2.试利用指向结构体的指针编制一程序,实现输入三个学生的学号、数学期中和期末成绩,然后计算其平均成绩并输出成绩表。

2.struct stu

{int num;

int mid;

int end;

int ave;

}s[3];

main( )

{struct stu *p;

for(p=s;p

{scanf(“%d %d %d”,&(p->num),&(p->mid),&(p->end));

p->ave=(p->mid+p->end)/2;

}

for(p=s;p

printf(“%d %d %d %d\n”,p->num,p->mid,p->end,p->ave);

}

1.编写一个程序,由键盘输入一个文件名,然后把从键盘输入的字符

依次存放到该文件中,用‘#’作为结束输入的标志。

1. #include

main( )

{FILE *fp;

char ch,fname[10];

printf(“输入一个文件名:”);

gets(fname);

if((fp=fopen(fname,”w+”))= =NULL)

{printf(“不能打开%s文件\n”,fname);

exit(1);

}

printf(“输入数据:\n”);

while((ch=getchar())!=’#’)

fputc(ch,fp);

fclose(fp);

}

2.编写一个程序,建立一个abc文本文件,向其中写入“this is a

test”字符串,然后显示该文件的内容。

2. #include

#include

main( )

{FILE *fp;

char msg[ ]=”this is a test”;

char buf[20];

if((fp=fopen(“abc”,”w+”))= =NULL)

{printf(“不能建立abc文件\n”);

exit(1);

}

fwrite(msg,strlen(msg)+1,1,fp);

fseek(fp,SEEK_SET,0);

fread(buf,strlen(msg)+1,1,fp);

printf(“%s\n”,buf);

fclose(fp);

}

fclose(fp);

}

1.编写一个函数change(x,r),将十进制整数x转换成r(1

进制后输出。(7分)

1. void change(int x,int r)

{

int c;

c=x%r;

if (x/r!=0) change(x/r,r);

printf("%d",c);

}

2. 一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如:6=1+2+3,6就是完全数,请编写一程序,求出1000以内的整数中的所有完全数。其中1000由用户输入。(8分)

2. #include

main()

{ int a,i,m;

for(a=1;a<=100;a++)

{ for(m=0,i=1;i<=a/2;i++)

if(!(a%i)) m+=i;

if(m==a) printf(“%4d”,a);

}

}

相关文档