标签:多少 结束 div alt 作业 har oat 空格 ges
一、实验内容
1、实验要求:编写程序,输入一个整数x,按照下式输出对应的y值。
代码:
#include<stdio.h> int main() { int i,x,y=0; printf("请输入x的值:\n"); scanf("%d",&x); if(x<1) { printf("error:\n"); } else { if(x%2!=0) { for(i=1;i<=x;i+=2) { y=y+i; } } else { for(i=2;i<=x;i+=2) { y=y+i; } } } printf("y=%d",y); return 0; }
程序运行结果:
2、实验要求:编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100,结果保留两位小数。
代码:
#include <stdio.h> int main() { int x; float a=1,y; y=0; for(x=1;x<=100;x++) { if(x%2==1) { y=y+a/x; } else { y=y-a/x; } } printf("%.2f:\n",y); return 0; }
程序运行结果:
3、实验要求:输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。
代码:
#include<stdio.h> int main() { int a,b; b=0; for(a=2000;a<=3000;a++) { if(a%4==0&&a%100!=0||a%400==0) { printf("%5d",a); b=b+1; if(b%10==0) { printf("\n"); } } } printf("一共有%d个闰年",b); return 0; }
程序运行结果:
4、实验要求:输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。
代码:
#include<stdio.h> int main() { float x,y=1; int m,i; printf("请输入一个整数和一个实数:\n"); scanf("%d%f",&m,&x); for(i=1;i<=m;i++) { y=y*x; } printf("%f",y); return 0; }
程序运行结果:
5、实验要求:输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。
代码:
#include<stdio.h> int main() { int n1,n2,n3,n4; char c; n1=0; n2=0; n3=0; n4=0; printf("请输入一串字符:\n"); while((c=getchar())!=‘\n‘) { if(c<=‘z‘&&c>=‘a‘||c<=‘Z‘&&c>=‘A‘) { n1++; } else if(c==‘ ‘) { n2++; } else if(c>=‘0‘&&c<=‘9‘) { n3++; } else { n4++; } } printf("字母=%d,空格=%d,数字=%d,其他=%d",n1,n2,n3,n4); return 0; }
程序运行结果:
6,实验要求:输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,
代码:
#include <stdio.h> int main() { int x,n1=0,n2=0; float sum1=0,sum2=0; scanf("%d",&x); while(x!=0) { if (x>0) { sum1=sum1+x; n1++; } else if (x<0) { sum2=sum2+x; n2++; } scanf("%d",&x); } printf("正数平均值:%.2f负数平均值:%.2f",sum1/n1,sum2/n2); return 0; }
程序运行结果:
7、实验要求:输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)
代码:
#include<stdio.h> #include<math.h> int main() { int n=0,i,x,y,z; for(i=2;i<=1000;i++) { y=1; z=sqrt(i); for(x=2;x<=z;x++) { if(i%x==0) { y=0; break; } } if(y==1) { n++; if(n%10==0) { printf("\n"); } else { printf("%4d",i); } } } return 0; }
程序性运行结果:
8、实验要求:打印下列图形
代码:
#include <stdio.h> int main() { int i,j; for (i=1;i<=5;i++) { for(j=1;j<=i-1;j++) printf(" "); for (j=1;j<=11-2*i;j++) printf("*"); printf("\n"); } return 0; }
程序运行结果:
二、本次课知识点总结
1、for(循环变量赋初值;循环条件;循环变量增值)
{循环体语句} ①分号不能省略;②适用于循环次数已知的循环问题;
2、while(循环条件)
{循环体语句} ①循环体有可能一次也不执行;②循环体内应有使表达式得值趋向假的操作,从而退出循环;③适用于循环次数已知由 给定条件控制
3、do
{循环体语句;}
while(循环条件); ①循环体至少要执行一次
4、break
①在循环语句中一般与if使用;②break语句不能用于循环语句中和switch语句之外的任何其他语句中;
5、continue
与if一起使用,只能用在循环语句中;
三、实验总结
1、注意分号的书写,do...while语句中后面需要加分号;
2、开根号的表达方式为sqrt();
3、判断是否为字符的表达方式是 ((c=getchar())!=‘\n‘);
4、循环体中printf不用加大括号;
5、注意每个循环语句试用的条件。
标签:多少 结束 div alt 作业 har oat 空格 ges
原文地址:http://www.cnblogs.com/zhao-1184346113/p/6004808.html