C语言作业.docx

上传人:b****5 文档编号:5594225 上传时间:2022-12-28 格式:DOCX 页数:50 大小:448.81KB
下载 相关 举报
C语言作业.docx_第1页
第1页 / 共50页
C语言作业.docx_第2页
第2页 / 共50页
C语言作业.docx_第3页
第3页 / 共50页
C语言作业.docx_第4页
第4页 / 共50页
C语言作业.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

C语言作业.docx

《C语言作业.docx》由会员分享,可在线阅读,更多相关《C语言作业.docx(50页珍藏版)》请在冰豆网上搜索。

C语言作业.docx

C语言作业

第一章

使用printf()函数按下面的形式显示某应用程序的功能

#include

voidmain()

{

printf("********************\n");

printf("欢迎使用卡卡名片夹\n");

printf("[1]显示全部名片\n");

printf("[2]新建名片\n");

printf("[3]修改名片\n");

printf("[4]删除名片\n");

printf("[5]退出\n");

printf("********************\n");

}

编写一个C程序,能够从键盘输入一个浮点数,然后输出它的倒数。

#include

voidmain()

{

floatm,n;

printf("请输入一个浮点数\n");

scanf("%f",&m);

n=1/m;

printf("该数的倒数是%f",n);

}

第二章

将华氏温度转换为摄氏温度。

使用公式:

C=5/9(F-32.

#include

voidmain()

{

floatm,n;

printf("请输入华氏温度\n");

scanf("%f",&m);

n=5.0/9.0*(m-32);

printf("其对应的摄氏温度为:

%f\n",n);

}

输入两个角度值分别赋给变量x和y,计算下面算式的结果,

#include

#include

#definePI3.14

voidmain()

{

intx,y,z,s1,s2;

printf("请输入两个角度值\n");

scanf("%f%f",&x,&y);

x=x*PI/180.0;

y=y*PI/180.0;

s1=sin(fabs(x)+fabs(y));

s2=sqrt(cos(fabs(x)+fabs(y)));

z=s1/s2;

printf("所的结果为%f/n",z);

}

贷款额的计算,即计算一次可向银行贷款多少元,其计算公式为

D=a(

-1)/[(I-1)

-]

式中:

D为一次可向银行的贷款额,a为每年可以还贷的金额,I=1+人(r为年利率),n为还清贷款的年数。

a、r、n由键盘输入。

#include

#include

voidmain()

{

floata,r,n,I,D,p,q;

printf("请输入每年可以还贷的金额a,年利率r,还清贷款的年数n\n");

scanf("%f%f%f",&a,&r,&n);

I=1+r;

p=a*(pow(I,n)-1);

q=(I-1)*pow(I,n);

D=p/q;

printf("一次可向银行贷款%f元",D);

}

第三章

将China译成Glmre。

方法是:

用原来字母后面的第4个字母代替原来的字母。

#include

voidmain()

{

charc1,c2,c3,c4,c5;

c1='C'+4;

c2='h'+4;

c3='i'+4;

c4='n'+4;

c5='a'+4;

printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);

}

把十进制数97转化为八进制、十六进制数。

#include

voidmain()

{

intn=97;

printf("oct=%o\n",n);

printf("xct=%x\n",n);

}

设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。

#include

#definePI3.1415926

voidmain()

{

floatr,h,l,s,ss,sv,hs,hv;

printf("请输入圆半径,圆柱高\n");

scanf("%f%f",&r,&h);

l=2*PI*r;

s=PI*r*r;

ss=4*PI*r*r;

sv=4.0/3.0*PI*r*r*r;

hs=2*PI*r*r+2*PI*r*h;

hv=PI*r*r*h;

printf("圆周长为%f,圆面积为%f,圆球表面积为%f,圆球体积为%f,圆柱表面积为%f,圆柱体积为%f",l,s,ss,sv,hs,hv);

}

已知三角形的三边长,求三角形面积。

#include

#include

voidmain()

{

floata,b,c,p,s;

printf("请输入三角形的三边长为:

\n");

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

p=(a+b+c)/2;

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

printf("此三角形的面积是%f",s);

}

输入三个字母m,a,n,并以”man”\man(竖行排列)的形式输出

#include

voidmain()

{

chara,b,c;

printf("请输入三个字母\n");

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

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

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

}

输入一个字符,找出他的前一个字符和后一个字符,并根据ASCII值,按从大到小的顺序输出这三个字符级ASCII码值。

#include

voidmain()

{

charc1,c2,c3;

scanf("%c",&c2);

c1=c2-1;

c3=c2+1;

printf("%c%c%c\n",c1,c2,c3);

printf("%d,%d,%d",c1,c2,c3);

}

已知鸡免总头数为h(30),总脚数为f(90),求鸡免各有几只

#include

voidmain()

{

inth,f,a,b;

printf("请输入总头数和总脚数\n");

scanf("%d,%d",&h,&f);

a=(4*h-f)/2;

b=h-a;

printf("鸡有%d只,兔有%d只",a,b);

}

输入一个三位正整数,反向输出对应的数

#include

voidmain()

{

inti,j,k,l,m;

printf("请输入一个三位整数:

\n");

scanf("%d",&i);

j=i/100;

k=(i-j*100)/10;

l=i-j*100-k*10;

m=l*100+k*10+j;

printf("此数的倒置数为:

%d\n",m);

}

计算方程ax2+bx+c=0的根

#include

#include

voidmain()

{

floata,b,c,x1,x2,p;

printf("请输入a,b,c的值:

\n");

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

p=sqrt(b*b-4*a*c);

x1=(-b+p)/(2*a);

x2=(-b-p)/(2*a);

printf("x1=%f,x2=%f\n",x1,x2);

}

用putchar函数读入两个字符c1,c2,然后分别用putchar函数和printf函数输出

#include

voidmain()

{

charc1,c2;

c1=getchar();

c2=getchar();

putchar(c1);

printf("\n");

putchar(c2);

printf("\n");

printf("%c\n%c\n",c1,c2);

}

第四章

输入三个整数x,y,z,请把这三个数由小到大输出,

#include

voidmain()

{

intx,y,z,m;

printf("请输入三个整数\n");

scanf("%d,%d,%d",&x,&y,&z);

if(x>y)

{m=x,x=y,y=m;}

if(x>z)

{m=x,x=z,z=m;}

if(y>z)

{m=y,y=z,z=m;}

printf("%d,%d,%d\n",x,y,z);

}

当月收入超过1600元时,超过部分交税款20%。

试编写一程序计算税款(其中月收入由键盘输入。

#include

voidmain()

{

floata,b=0;

printf("请输入月收入\n");

scanf("%f",&a);

if(a>1600)b=(a-1600)*0.2;

printf("应缴税款为%f元\n",b);

}

计算y=3x+6(x>=0)

-x*x+2x-8(x<0)

 

#include

voidmain()

{

floatx,y;

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

scanf("%f",&x);

if(x>=0)

y=3*x+6;

else

y=-x*x+2*x-8;

printf("对应因变量的值为%f\n",y);

}

 

为优待顾客,商店对购货在1000元和1000元以上的,八折优惠;500元以上(包括500元,下同),1000元以下的,九折优惠;200元以上,500元以下的,九五折优惠;100元以上,200元以下的,九七折优惠;100元一下不优惠。

请输入购货款后,打印出该交的货款。

#include

voidmain()

{

floatx,y;

printf("请输入购货款\n");

scanf("%f",&x);

if(x>=1000)

y=x*0.8;

elseif(x>=500)

y=x*0.9;

elseif(x>=200)

y=x*0.95;

elseif(x>=100)

y=x*0.97;

elsey=x;

printf("应交货款为%.1f元\n",y);

}

 

输入班号,输出该班学生人数(用switch语句编程)

#include

voidmain()

{

intm,n;

printf("请输入班号\n");

scanf("%d",&m);

switch(m)

{

case21:

n=45;break;

case22:

n=51;break;

case23:

n=48;break;

case24:

n=46;break;

case25:

n=48;break;

case26:

n=52;break;

default:

printf("输入错误\n");

}

printf("该班有%d个学生\n",n);

}

第五章

任意输入N个数,统计其中正数,负数和零的个数。

#include

voidmain()

{

intN,n,m,a=0,b=0,c=0;

printf("请输入数字个数\n");

scanf("%d",&N);

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

{

printf("请输入数字\n");

scanf("%d",&m);

if(m>0)

a++;

elseif(m<0)

b++;

else

c++;

}

printf("正数有%d个,负数有%d个,零有%d个\n",a,b,c);

}

第五章

任意输入N个数,统计其中正数,负数和零的个数。

#include

voidmain()

{

inta=0,b=0,c=0,n,i,m;

printf("请输入数的个数:

\n");

scanf("%d",&n);

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

{

printf("请输入第%d个数:

\n",i);

scanf("%d",&m);

if(m>0)

a++;

elseif(m<0)

b++;

else

c++;

}

printf("正数有:

%d个,负数有:

%d个,零有:

%d个\n",a,b,c);

}

求值

#include

voidmain()

{

inti,j,k,a=0,b=0;

floatc=0,sum=0;

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

for(j=1;j<=50;j++)b+=j*j;

for(k=1;k<=10;k++)c+=1.0/k;

sum=a+b+c;

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

}

在1~500中,找出所有能同时满足用3除余2,用5除余3,用7除余4的整数。

#include

voidmain()

{

inti;

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

{

if(i%3==2&&i%5==3&&i%7==4)

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

}

}

任意输入一串字符,以“?

”结束,分别统计其中字母,数字和其他字符的个数。

#include

voidmain()

{

inta=0,b=0,c=0;

chard;

while((d=getchar())!

='?

')

{

if(d>='A'&&d<='Z'||d>='a'&&d<='z')

a++;

elseif(d>='0'&&d<='9')

b++;

else

c++;

}

printf("字母有%d个,数字有%d个,其他字符有%d个\n",a,b,c);

}

第六章

求任意20个数中的正数之和及个数。

#include

voidmain()

{

inti,k=0;

floata[30],sum=0;

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

{

printf("请输入第%d个数\n",i+1);

scanf("%f",&a[i]);

if(a[i]>0)

{

sum+=a[i];

k++;

}

}

printf("正数之和为%f\n",sum);

printf("正数的个数为%d\n",k);

}

统计全班某门功课的平均成绩,找出最高,最低分。

#include

voidmain()

{

inta[38],i,j,k,sum=0;

floatave;

printf("请输入第1个同学的成绩:

\n");

scanf("%d",&a[0]);

j=k=a[0];

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

{

printf("请输入第%d个同学的成绩:

\n",i+1);

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

while(a[i]>100||a[i]<0)

{

printf("输入的成绩无效!

请重新输入!

\n");

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

}

sum+=a[i];

if(a[i]>j)j=a[i];

if(a[i]

}

ave=sum/38.0;

printf("全班同学该门课的平均成绩为%f:

\n",ave);

printf("最高分为:

%d\n",j);

printf("最低分为:

%d\n",k);

}

一个数如果恰好等于他的因子之和,这个数就称为完数。

找出1000以内的所有完数。

#include

voidmain()

{

intsum,i,n;

printf("从2到1000的完备数有:

\n");

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

{

sum=0;

for(i=1;i

if(n%i==0)sum=sum+i;

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

}

}

电话传递数据加密。

#include

voidmain()

{

intn,b,i,a[4];

printf("请输入一个三位数\n");

scanf("%d",&n);

a[0]=n/1000;

a[1]=(n/100)%10;

a[2]=(n%100)/10;

a[3]=n%10;

for(i=0;i<4;i++)a[i]=(a[i]+5)%10;

b=a[0];

a[0]=a[3];

a[3]=b;

b=a[1];

a[1]=a[2];

a[2]=b;

n=1000*a[0]+100*a[1]+10*a[2]+a[3];

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

}

计算两个矩阵的乘积。

#include

voidmain()

{

inta[2][3],b[3][4],c[2][4]={0};

inti,j,k,s;

printf("请给数组a[2][3]赋值\n");

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

{

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

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

}

printf("请给数组b[3][4]赋值\n");

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

{

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

scanf("%d",&b[i][j]);

}

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

{

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

{

for(k=0,s=0;k<3&&s<3;k++,s++)

c[i][j]+=a[i][k]*b[s][j];

}

}

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

{

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

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

printf("\n");

}

}

 

第七章

#include

#include

voidchange(charstr[])

{

inti,j;

for(i=j=0;str[i]!

='\0';i++)

if(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z'||str[i]>='0'&&str[i]<='9'||i==0||str[i]!

=str[i-1])

str[j++]=str[i];

str[j]='\0';

}

voidmain()

{

charstr[80];

gets(str);

change(str);

puts(str);

return;

}

#include

intsum(intn)

{

inti,j,k,l;

i=n%10;

n=n/10;

j=n%10;

k=n/10;

l=i*i*i+j*j*j+k*k*k;

returnl;

}

voidmain()

{

intx,y;

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

{

y=sum(x);

if(y==x)

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

}

}

#include

intmin(intm,intn)

{

inti,j,k;

i=m;

j=n;

if(i>j)

{

k=i;

i=j;

j=k;

}

while(k!

=0)

{

k=j%i;

j=i;

i=k;

}

k=m*n/j;

returnk;

}

voidmain()

{

inta,b,c,d,e;

intx,y,z,w;

printf("请输入5个正整数\n");

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

x=min(a,b);

y=min(c,d);

z=min(x,y);

w=min(z,e);

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

}

#include

intwanbeishu(intn)

{

inti,j=0;

for(i=1;i

if(n%i==0)j+=i;

returnj;

}

voidmain()

{

intx,y;

printf("30000以内的完备数有:

\n");

for(x=1;x<=30000;x++)

{

y=wanbeishu(x);

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

}

}

#include

intyueshuhe(intn)

{

inti,j=0;

for(i=1;i

if(n%i==0)j+=i;

returnj;

}

voidmain()

{

intx,y,z;

printf("互满数有:

\n");

for(x=1;x<=30000;x++)

{

y=yueshuhe(x);

z=yueshuhe(y);

if(x==z&&x

}

}

习题八

#include

voidmain()

{

inta[200],b[200],m,n,len,*p,*q,*t;

printf("请输入升序数组a的元素个数:

");

scanf("%d",&m);

for(p=a;p

{

printf("请输入升序a的第%d个元素值:

",p-a+1);

scanf("%d",p);

}

printf("请输入升序数组b的元素个数:

");

scanf("%d",&n);

for(q=b;q

{

printf("请输入升序b的第%d个元素值:

",q-b+1);

scanf("%d",q);

}

p=a;q=b;len=m;

while(p

{

if(*q<*p)

{

for(t=a+len-1;t>=p;t--)*(t+1)=*t;

*p=*q;

len++;

q++;

if(q==b+n)break;

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

当前位置:首页 > 农林牧渔

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

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