计算机编程题.docx
《计算机编程题.docx》由会员分享,可在线阅读,更多相关《计算机编程题.docx(8页珍藏版)》请在冰豆网上搜索。
计算机编程题
1•从键盘上输入一个大写字母,要求改用小写字母输出
1.#inelude<>
main()
{charc1,c2;
c1=getchar();
printf(“n”,c1,c1);
c2二c1+A'a';
printf(%c,%d\n”,c2,c2);
}
2•请编写一个程序,能显示出以下两行文字。
Iamastudent.
IloveChina.
2.#include<>
mian()
{printf(famastudent.\n”;
printf(1“loveChina.\n”;
}
4.有一函数,其函数关系如下,试编程求对应于每一自变量的函数值。
x2(x<0)
X-一x
(X10)
1.解答:
#include<>
main()
{floatx,y;
scanf(%f”,&x);
if(x<0)y=x*x;
elseif(x>=0&&x<10)y=*x+10;
elsey=x-sqrt(x);
printf(y=%f”,y);
}
5.编一程序,对于给定的一个百分制成绩,输出相应的五分制
成绩。
设:
90分以上为A'80~89分为B'70~79分为C'60~69
分为D';60分以下为E'
2.解答:
main()
{floatscore;
scanf(%f”,&score);
if(score>=90)printf(A”
elseif(score>=80)printf(B”
elseif(score>=70)printf(C”
elseif(score>=60)printf(D”
elseprintf(E”
}
1.编程实现用“辗转相除法”求两个正整数的最大公约数。
1.#include<>
main()
{intr,m,n;
scanf(“%d%d”,&m,&n;
if(mr=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()
{inta,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()
{inti,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()
{inti,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(intnum)
{ints=0;
num=abs(num);
do
{s+=num%10;
num/=10;
}while(num);
}
main()
{intn;
printf(“输入一个整数:
”);
scanf(“%d”,&n);
printf(结果:
%d”unc(n));
2.函数的递归调用计算阶乘。
2.#include""
main()
{inti,n;
intfact();
scanf(“%d”,&n);
for(i=0;iprintf("%d!
=%d\n",i,fact(i));
}
intfact(intj)
{intsum;
if(j==0)
sum=1;
else
sum=j*fact(j-1);
returnsum;
}
1.编写一个程序计算一个字符串的长度
1.#include<>
main()
{char*str;
printf(“输入一字符串:
”);
gets(str);
printf([%s]的长度为:
%d\n”,str,string_length(str));
}
string_length(char*s)
{intlen=0;
while(*s++)
len++;
return(len);
}
2.编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串。
请用指针完成。
2.#include<>
main()
{staticcharx[]=”computer”;
char*p;
for(p=x;pputchar(*p);
printf(“\n”);}
1.试利用结构体类型编制一程序,实现输入一个学生的数学期中和期末成绩,然后计算并输出其平均成绩。
()
{structstudy
{intmid;
intend;
intaverage;
}math;
scanf(“%d%d”,&,&;
=+/2;
printf(“average=%d\n”,;
}
2.试利用指向结构体的指针编制一程序,实现输入三个学生的学号、数学期中和期末成绩,然后计算其平均成绩并输出成绩表。
stu
{intnum;
intmid;
intend;
intave;
}s[3];
main()
{structstu*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;
charch,fname[10];
printf(“输入一个文件名:
”);
gets(fname);
if((fp=fopen(fname,”w+”))==NULL)
{printf(不能打开%s文件\n”name);
exit
(1);
}
printf(输入数据:
\n”
while((ch=getchar())!
='#')
fputc(ch,fp);
fclose(fp);
}
2.编写一个程序,建立一个abc文本文件,向其中写入“thisisatest”
字符串,然后显示该文件的内容
2.#include<>
#include<>
main()
{FILE*fp;
charmsg[]=”thisisatest”;
charbuf[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(xr),将十进制整数x转换成r(1制后输出。
(7分)
1.voidchange(intx,intr)
intc;
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()
{inta,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);