C语言作业答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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')