第四次作业
Posted 陌上花开1997
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四次作业相关的知识,希望对你有一定的参考价值。
实验一
实验要求:编写程序,输入一个整数x,按照下式输出对应的y值。
代码:
#include<stdio.h> int main() { int x,y,a,b,sum=0; printf("请输入一个整数\\n"); scanf("%d",&x); if(x%2==0) { for(a=2;a<=x;a=a+2) { sum=a+sum; } } else { for(b=1;b<=x;b=b+2) { sum=b+sum; } } y=sum; printf("%d\\n",y); return 0; }
程序运行结果:
实验二
实验要求: 编程求1-1/2+1/3-1/4+1/5-...+1/99-1/100,结果保留两位小数。
代码:
#include<stdio.h> int main() { int i,n=100; float sum=1; for(i=2;i<=n;i=i+1) { if(i%2!=0) { sum=sum+1.0/i; } else { sum=sum-1.0/i; } } printf("%.2f",sum); return 0; }
程序运行结果:
实验三
实验要求:输出2000年至3000年所有闰年的年号,每输出10年号换一行。最后统计一共有多少个闰年。
代码:
# include<stdio.h> int main() { int i,n=0; for(i=2000;i<=3000;i++) { if((i%4==0&&i%100!=0)||i%400==0) { n=n+1; printf(" %d",i); if(n%10==0) { printf("\\n"); } } }
printf("一共有%d个闰年\\n",n); return 0; }
程序运行结果:
实验四:输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。
代码:
#include<stdio.h> int main() { float x,p=1; int m,i; printf("请输入一个整数和一个实数\\n"); scanf("%d,%f",&m,&x); for(i=1;i<=m;i=i+1) { p=x*p; } printf("%.2f",p); return 0; }
程序运行结果:
试验五
实验要求:输入一串字符分别统计其中字母、空格、数字和其他字母的个数。
代码:
# include<stdio.h> int main() { char c1; int a=0,b=0,c=0,d=0,e=0,f; printf("请输入一串字符以\'\\n\'为结束\\n"); do { scanf("%c",&c1); if(c1>=\'a\'&&c1<=\'z\') { a=a+1; continue; } else if(c1>=\'A\'&&c1<=\'Z\') { b=b+1; continue; } else if(c1>=\'0\'&&c1<=\'9\') { c=c+1; continue; } else if(c1==\' \') { d=d+1; continue; } else { e=e+1; continue; } }while(c1!=\'\\n\'); f=a+b; printf("字符中一共包含%d个字母,%d个数字,%d个空格,%d个其他字符\\n",f,c,d,e); return 0; }
程序运行结果:
实验六
实验要求:输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值。
代码:
#include <stdio.h> int main() { int a; int b=0;int c=0; float d,e, sum1=0, sum2=0; do { printf("请输入a的值\\n"); scanf("%d",&a); if(a>0) { b=b+1; sum1=sum1+a; d=sum1/b; } else { c=c+1; sum2=sum2+a; e=sum2/c; } } while(a!=0); printf("正数平均值:%.2f\\n",d); printf("负数平均值:%.2f\\n",e); return 0; }
程序运行结果:
实验七
实验要求:输入1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)
代码:
# include <stdio.h> int main() { int i,a,flag=0,n=0; for(i=2;i<=1000;i++) { flag=0; for(a=2;a<=i-1;a++) { if(i%a== 0) { flag=1; continue; } } if (flag!=1) { printf(" %03d",i); n=n+1; if(n%10==0) { printf("\\n"); } } } printf("一共有%d个质数\\n",n); return 0; }
程序运行结果:
试验八
实验要求:打印下列图形
*********
*******
*****
***
*
代码:
#include <stdio.h> int main ( ) { int i , j; for (i = 1 ; i <= 5 ; i++) { for(j=1;j<=i;j++) { printf(" "); } for (j = 1; j <= 2*(5-i)+1 ; j++) { printf ("*") ; } printf ("\\n") ; } return 0; }
程序运行结果:
二、本次课知识点总结
- for循环,while循环和do...while循环三种循环格式的应用。
- if语句的熟练应用以及与三种循环语句的结合。
- 对标记变量的掌握。
- 整型常量与实数常量之间的相互转化。
三、实验总结
- 一格式子中的加减求和应该分开求和,再将它们的和进行加减。
- while后面应该是循环结束的条件。
- 要对循环初始值进行赋值。
- 两种while语句应用在不知道循环次数的情况下,for语句应用在知道循环次数的循环的情况下。
以上是关于第四次作业的主要内容,如果未能解决你的问题,请参考以下文章