C语言编程题.docx

上传人:b****4 文档编号:6153093 上传时间:2023-05-09 格式:DOCX 页数:32 大小:22.17KB
下载 相关 举报
C语言编程题.docx_第1页
第1页 / 共32页
C语言编程题.docx_第2页
第2页 / 共32页
C语言编程题.docx_第3页
第3页 / 共32页
C语言编程题.docx_第4页
第4页 / 共32页
C语言编程题.docx_第5页
第5页 / 共32页
C语言编程题.docx_第6页
第6页 / 共32页
C语言编程题.docx_第7页
第7页 / 共32页
C语言编程题.docx_第8页
第8页 / 共32页
C语言编程题.docx_第9页
第9页 / 共32页
C语言编程题.docx_第10页
第10页 / 共32页
C语言编程题.docx_第11页
第11页 / 共32页
C语言编程题.docx_第12页
第12页 / 共32页
C语言编程题.docx_第13页
第13页 / 共32页
C语言编程题.docx_第14页
第14页 / 共32页
C语言编程题.docx_第15页
第15页 / 共32页
C语言编程题.docx_第16页
第16页 / 共32页
C语言编程题.docx_第17页
第17页 / 共32页
C语言编程题.docx_第18页
第18页 / 共32页
C语言编程题.docx_第19页
第19页 / 共32页
C语言编程题.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言编程题.docx

《C语言编程题.docx》由会员分享,可在线阅读,更多相关《C语言编程题.docx(32页珍藏版)》请在冰点文库上搜索。

C语言编程题.docx

C语言编程题

1.根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。

(1)当x小于1时,y等于2+cos(x)

(2)当x大于等于1且x小于2时,y等于x的平方加上sin(x)

(3)当x大于等于2时,y等于(x-2)的平方根;

要求:

按格式输出x和y的值,要求小数点后保留2位。

#include

#include

voidmain()

{

floatx,y;

printf("请输入x的值\n");

scanf("%f",&x);

if(x<1)

y=2+cos(x);

else

if(1<=x&&x<2)

y=x*x+sin(x);

else

y=sqrt(x-2);

printf("y=%.2f\n",y);

}

2、从键盘读入一个实数,对其进行四舍五入处理,要求精确到到小数点后两位。

例如输入12.345,其结果为12.35;输入12.341,其结果为12.34。

#include"stdio.h"

intmain()

{

doublex;

inty;

printf("请输入一个实数:

\n");

scanf("%lf",&x);

y=(int)(x*1000);

if(y%10<=4)

y=y-y%10;

else

{

y=y+10;

y=y-y%10;

}

printf("该实数,四舍五入保留两位小后是%.2lf.\n",y*1.0/1000);

return0;

}

3、从键盘输入任意一个字母,如果其为大写字母,则转为小写字母;如果其为小写字母,请转换为大写字母;其他情况保持不变,计算并输出。

#include

voidmain()

{

chara,b;

scanf("%c",&a);

if(a<='Z'&&a>='A')

/*加入‘’表示吧字符转换成为阿斯托码*/

b=a+32;

if(a<='z'&&a>='a')

b=a-32;

printf("%c\n",b);

}

4、从键盘输入三个整数a、b、c,输出其中最大的数。

#include

voidmain()

{

inta,b,c,max;

scanf("%d%d%d",&a,&b,&c);

if(a

max=b;

else

max=a;

if(max

printf("最大值是%d\n",c);

else

printf("最大值是%d\n",max);

}

5\输入用单个字母表示的成绩信息,转换为百分制分数。

说明:

输入A,输出95;输入B,输出85;输入C,输出75;输入D,输出65;输入E,输出65.

#include

voidmain()

{

chara;

scanf("%c",&a);

switch(a)

{

case'A':

printf("95\n");

break;

case'B':

printf("85\n");

break;

case'C':

printf("75\n");

break;

case'D':

printf("65\n");

break;

case'E':

printf("65\n");

break;

}

}

6、输入一个3位的正整数,判定该正整数是否为一个回文数。

(所谓回文数是指正读和反读都相同的数,例如131)。

#include

voidmain()

{

inta,b,c;

scanf("%d",&a);

b=a/100;

c=a%10;

if(c==b)

printf("YES\n");

else

printf("NO\n");

}

7、从键盘输入国际货币表示的商品价格,请转换为人民币。

要求:

仅仅考虑美元($)和欧元€,汇率分别6和8。

例如输入$100,输出600,输入E100,输出800

#include

voidmain()

{

intx;

charch;

printf("输入货币单位");

scanf("%c",&ch);

printf("输入货币金额");

scanf("%d",&x);

if(ch=='$')

printf("转化为人民币为%d\n",6*x);

if(ch=='E')

printf("转化为人民币为%d\n",8*x);

}

8、计算1-1/2+1/3-1/4+…+1/n的和,在主函数输入n,计算输出结果。

#include

voidmain()

{intn,i;

floata=1,sum=0;

printf("n=");

scanf("%d",&n);

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

{

a=1.0/(i);

if(i%2==0)

a=(-1.0)*a;

sum=sum+a;

}

printf("sum=%f\n",sum);

}

9、从键盘输入一个自然数,判定其是否为完数,如果是,输出Yes,否则输出No。

完数是指一个整数的所有因子之和等于其自身的数,例如6=1+2+3。

#include

voidmain()

{intx,i,sum=0;

printf("Pleaseinputanumber\n");

scanf("%d",&x);

for(i=1;i

{

if(x%i==0)

sum=sum+i;

}

if(sum==x)

printf("Yes\n");

else

printf("No\n");

}

10、从键盘读入一个自然数,判定其是否为素数,如果是,输出Yes,否则输出No

#include

voidmain()

{

intx,i;

printf("Pleaseinputanumber:

\n");

scanf("%d",&x);

for(i=2;i

{

if(x%i==0)

{printf("No\n");

break;}

}

if(i==x)

printf("Yes\n");

}

11、由x,y二个数字组成二位数xy和yz,且xy+yz=102。

如果有解,输出所有解,否则输出无解

#include

voidmain()

{

inti,j,a,b;

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

{

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

{a=i*10+j;

b=i+j*10;

if(a+b==102)

printf("x=%d,y=%d\n",i,j);

}

}

if(i==10&&j==10)

printf("noanswer\n");

}

12、计算Fibonacci数列中前5项的和。

提示:

Fibonacci数列F(n)的定义为:

F(0)=0,F

(1)=1,F(n)=F(n-1)+F(n-2)。

#include

voidmain()

{

charF[10]={0,1};

inti,sum=F[0]+F[1];

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

{

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

sum=sum+F[i];

}

printf("sum=%d\n",sum);

}

13、计算全部水仙花数的和(提示:

“水仙花”数是指一个三位数,其各位数字的立方和等于该数本身,例如:

153).

#include

voidmain()

{

inti,a,b,c,sum=0;

for(i=100;i<1000;i++)

{

a=i%10;

b=i/10%10;

c=i/100;

if(i==a*a*a+b*b*b+c*c*c)

{printf("%d\n",i);

sum=sum+i;}

}

printf("sum=%d\n",sum);

}

14、从键盘输入一个三位整数,计算其上下边界,例如123,其下边界为100,上边界为199,依此类推

#include

voidmain()

{

intx,a,b;

printf("输入一个三位整数");

scanf("%d",&x);

a=(x/100)*100;

b=a+99;

printf("下边界是%d,上边界是%d\n",a,b);

}

15、从键盘输入一个三位纯小数,计算其上下边界,例如0.123,其下边界为0.100,上边界为0.199,依此类推

#include

voidmain()

{

floatx,a,b;

printf("输入一个三位纯小数");

scanf("%f",&x);

a=(int)((1000*x)/100)*0.1;

b=a+0.099;

printf("下边界是%.3f,上边界是%.3f\n",a,b);

}

16\.输出公元1000至今的所有闰年的数量

#include

voidmain()

{

inti,count=0;

for(i=1000;i<=2014;i++)

{

if(i%4==0&&i%100!

=0||i%400==0)

{printf("%d\n",i);

count=count+1;}

}

printf("公元1000至今的所有闰年的数量为%d\n",count);

}

17、*计算1/2,2/3,3/5,5/8,8/13,13/21,……的前10项和,并输出结果*/

#include

voidmain()

{

doublei=1,j=2,k=0,m,s=0;

for(k=0;k<10;k++)

{

s+=i/j;

m=j;

j+=i;

i=m;

}

printf("值为:

%f\n",s);

}

18、从键盘读入一个3位整数,将各个权位的数字转化为字符后输出。

例如输入123,则转换为三个字符'1','2','3',输出结果为1,2,3.

#include

voidmain()

{

inta,b,c,d;

charx,y,z;

scanf("%d",&a);

b=a/100;

c=(a%100)/10;

d=a%10;

x=b+48;

y=c+48;

z=d+48;

printf("%c%c%c",x,y,z);

}

19、求1000以内素数的和

#include

voidmain()

{

inta,b,sum=0;

for(a=2;a<=1000;a++)

{

for(b=2;b

if(a%b==0)

break;

if(b==a)

{sum=sum+a;

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

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

}

20、计算分数序列:

2/1,3/2,5/3,8/5,13/8,21/13,…,的前10项之和并输出

#include

main()

{

inti;

doublea,b,m;

doublesum=0.0;

a=1.0;

b=2.0;

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

{

sum+=b/a;

m=b;

b=a+b;

a=m;

}

printf("sum=%lf\n",sum);

}

21、编写程序输出S=1-1/2+1/3-1/4+…+1/99-1/100的结果。

#include

main()

{

intn;

floats1,s2,s,a,b;

s1=0;

s2=0;

s=0;

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

{

if(n%2==0)

{

a=(float)-1.0/n;

s1+=a;//等价于s1=s1+a//

}

else

{

b=(float)1.0/n;

s2+=b;

}

}

s=s1+s2;

printf("s=%f",s);

}

22、编程:

输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。

三角形面积公式:

area=sqrt(s(s-a)(s-b)(s-c)),其中s=1/2(a+b+c)。

(提示:

sqrt(x)属于math.h)

#include

#include

main()

{

floata,b,c;

floats,area;

printf("a,b,c=\n");

scanf("%f,%f,%f",&a,&b,&c);

if(a+b>c&&a+c>b&&b+c>a)

{

s=(a+b+c)/2.0;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("area=%f\n",area);

}

else

printf("Wrong!

");

}

23、将一个正整数分解质因数。

例如:

输入90,打印出90=2*3*3*5。

#include

main()

{

inta,i;

printf("请输入一个正整数:

");

scanf("%d",&a);

printf("%d=",a);

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

{

while(a%i==0)

{

printf("%d*",i);

a=a/i;

}

}

}

24、一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如6=1+2+3。

编程找出1000以内的所有完数。

#include

#include

voidmain()

{

inta[1000];

inti,j,n,s;

for(j=2;j<1000;j++)

{

n=-1;

s=j;

for(i=1;i

{

if((j%i)==0)

{

n++;

s=s-i;

a[n]=i;

}

}

if(s==0)

{

printf("\n%d是完数,它的因子是:

",j);

for(i=0;i

{

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

}

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

}

}

getch();

}

25、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

#include

main()

{

charstr[1000]="190fsd9iqkdsE";

inti,n,a=0,b=0,c=0,d=0;

for(i=0;str[i]!

=0;i++)

{

if((str[i]>'a'&&str[i]<'z')||(str[i]>'A'&&str[i]>'Z'))

a+=1;

elseif(str[i]=='')

b+=1;

elseif(str[i]>'0'&&str[i]<'9')

c+=1;

else

d+=1;

}

printf("a=%d\nb=%d\nc=%d\nd=%d\n",a,b,c,d);

}

26、实现两个数的#法和$法运算。

如输入3,4,#,输出25;输入3,4,$,输出34;提示:

#法和$法运算是自己定义的一种运算,a#b=a*a+b*b,a$b=a*10+b。

#include

main()

{

inta,b,s;

charc;

printf("Plesaseinputa,b,c!

");

scanf("%d,%d,%c",&a,&b,&c);

switch(c)

{

case'#':

s=a*a+b*b;

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

break;

case'$':

s=a*10+b;

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

break;

}

}

27、初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删除这个整数并输出删除后的数组,否则输出no。

#include

main()

{

inta[10]={1,2,3,4,5,6,7,8,9,10};

inti,n;

printf("Pleaseenteronenumber:

");

scanf("%d",&n);

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

{

if(n==a[i])

break;

}

if(i<10)

{

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

{

a[i]=a[i+1];

}

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

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

}

else

printf("no\n");

}

28、初始化一字符串(字符串中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符相同的字符,输出处理后的字符串。

#include

main()

{

chara[]={"abcdefghijklmnopqrstuvwxyz"};

charC;

inti,nC;

printf("Pleaseinputaletter:

");

scanf("%c",&C);

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

{

if(C==a[i])

nC=i;

}

for(i=nC;i<25;i++)

a[i]=a[i+1];

a[24]=a[25];

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

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

printf("\n");

}

29、计算一个4*4矩阵的主对角线的元素之和以及最大元素的值。

要求初始化矩阵,输出计算结果并输出该矩阵。

#include

main()

{

chara[]={"abcdefghijklmnopqrstuvwxyz"};

charC;

inti,nC;

printf("Pleaseinputaletter:

");

scanf("%c",&C);

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

{

if(C==a[i])

nC=i;

}

for(i=nC;i<25;i++)

a[i]=a[i+1];

a[24]=a[25];

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

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

printf("\n");

}

30、初始化一字符串(长度小于20个字符),取出第3个字符到第7个字符组成的子串,输出该子串。

#include

main()

{

chara[]={"abcdefghijklmn"};

inti;

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

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

printf("\n");

}

31、编程计算一个a[3][4]数组的最小值所在位置,输出该位置以及a[3][4]矩阵。

要求初始化矩阵。

#include

main()

{

inta[3][4]={{1,2,3,4},{4,5,6,7},{7,0,8,9}};

inti,j,min,imin=0,jmin=0;

min=a[0][0];

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

for(j=0;j<4;j++)

{

if(a[i][j]

{

min=a[i][j];

imin=i;

jmin=j;

}

}

printf("min=a[%d][%d]\n",imin,jmin);

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

for(j=0;j<4;j++)

{

if(j==0)

printf("\n");

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

}

}

32、初始化一矩阵a[4][4],计算每行的最大元素值,要求输出原始矩阵以及每行的最大元素值。

#include

main()

{

inta[4][4]={{1,3,5,7},{0,4,9,10},{3,5,2,7},{2,5,1,9}};

inti,j,max;

for(i=0

;i<4;i++)

{

for(j=0;j<4;j++)

{

max=a[i][0];

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

max=a[i][j];

}

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

}

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

for(j=0;j<4;j++)

{

if(j==0)

printf("\n");

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

}

}

33、编程实现:

计算矩阵a[3][4]每行元素的和。

要求输出原始矩阵以及每行元素的和值。

要求初始化矩阵。

#include

main()

{

inta[3][4]={{1,2,3,4},{4,5,6,7},{4,5,7,9}};

inti,j,sum=0,s=0;

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

for(j=0;j<4;j++)

{

if(j==0)

printf("\n");

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

}

printf("\n");

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

{

for(j=0;j<4;j++)

{

sum+=a[i][j];

}

printf("sum=%d\n",sum);

sum=0;

}

}

34、"一维数组中存放任意10个整数,从第四个数据开始直到最后一个数据,依次向右移动一个位置。

输出原始数据和移动后的结果。

要求初始化数组。

例如:

原始数据为:

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2