C语言作业答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

#include

int main()

{char c;int letters=0,space=0,digit=0,other=0;printf("请输入一行字符:\n");

while((c=getchar())!='\n')

{if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++;else if(c==' ') space++;else

if(c>='0'&&c<='9') digit++;else other++;}

printf("字母数:%d\n空格数:%d\n数字数%d\n其他字符

数:%d\n",letters,space,digit,other);

return 0;}

//求Sn=a+aa+aaa+...+aa..a(n个a)之值,其中a是一个数字,n表示a的位数,例如:2+22+222+2222+22222(此时n=5),n由键盘输入。

#include

int main()

{int a,n,i=1,sn=0,tn=0;printf("a,n=:");scanf("%d,%d",&a,&n);

while(i<=n)

{tn=tn+a;sn=sn+tn;a=a*10;++i;}

printf("a+aa+aaa+...=%d\n",sn);

return 0;}

//求∑n!(即求1!+2!+3!+4!+...+20!)。

#include

int main()

{double s=0,t=1;int n;

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

{t=t*n;s=s+t;}

printf("1!+2!+3!+4!+...+20!=%22.15e\n",s);

return 0;}

//一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米,第10次反弹多高。

#include

int main()

{double sn=100,hn=sn/2;int n;

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

{sn=sn+2*hn;hn=hn/2;}

printf("第10次落地时共经过%f米\n",sn);

printf("第10次反弹%f米\n",hn);

return 0;}

//求一个3*3的整型矩形对角线元素之和。

#include

int main()

{int a[3][3],sum=0;int i,j;

printf("enter data:\n");

for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%3d",&a[i][j]);

for(i=0;i<3;i++)sum=sum+a[i][i];

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

return 0;}

//将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8. #include

#define N 5

int main()

{int a[N],i,temp;

printf("array a:\n");

for(i=0;i

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

for(i=0;i

printf("\nNow,array a:");

for(i=0;i

printf("\n");

return 0;}

//有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中中英文大写字母、小写字母、数字、空格、以及其他字符的个数。

#include

int main()

{int i,j,upp,low,dig,spa,oth;char text[3][80];upp=low=dig=spa=oth=0;

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

{printf("please input line %d:\n",i+1);gets(text[i]);

for(j=0;j<80 && text[i][j]!='\0';j++)

{if(text[i][j]>='A'&&text[i][j]<='Z') upp++;

else if(text[i][j]>='a'&&text[i][j]<='z') low++;

else if(text[i][j]>='0'&&text[i][j]<='9') dig++;

else if(text[i][j]==' ') spa++;

else oth++;}}

printf("\nupper case:%d\n",upp);

printf("lower case:%d\n",low);

printf("digit:%d\n",dig);

printf("space:%d\n",spa);

printf("other:%d\n",oth);

return 0;}

//编一个程序,将两个字符串连接起来,不要用strcat函数。

#include

int main()

{char s1[80],s2[40];int i=0,j=0;

printf("input sring1:");scanf("%s",s1);printf("input string2:");scanf("%s",s2);

while(s1[i]!='\0')

相关文档
最新文档