计算机编程题.docx

上传人:b****2 文档编号:768818 上传时间:2022-10-12 格式:DOCX 页数:8 大小:19.60KB
下载 相关 举报
计算机编程题.docx_第1页
第1页 / 共8页
计算机编程题.docx_第2页
第2页 / 共8页
计算机编程题.docx_第3页
第3页 / 共8页
计算机编程题.docx_第4页
第4页 / 共8页
计算机编程题.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

计算机编程题.docx

《计算机编程题.docx》由会员分享,可在线阅读,更多相关《计算机编程题.docx(8页珍藏版)》请在冰豆网上搜索。

计算机编程题.docx

计算机编程题

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(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()

{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;i

printf("%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;p

putchar(*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);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1