2016-10-27
Posted 333路亚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2016-10-27相关的知识,希望对你有一定的参考价值。
1.编写程序,输入一个整数x,按照下式输出对应的y值。
#include<stdio.h> int main() { int i,x,y; printf("请输入一个整数x\\n"); scanf("%d",&x); if(x%2!=0) { y=0; for(i=1;i<=x;i+=2) { y=y+i; } printf("%d\\n",y); } else if(x%2==0) { y=0; for(i=2;i<=x;i+=2) { y=y+i; } printf("%d\\n",y); } return 0; }
#include <stdio.h> int main () { int i; float sum; sum=0; for(i=1;i<=100;i++) { if(i%2!=0) { sum=sum-(1.0/i); } else if(i%2==0) { sum=sum+(1.0/i); } } printf("和为%.2f\\n",sum); return 0; }
总结:要注意负数求和为减
3.输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。
#include<stdio.h> int main() { int a,b=0; for(a=2000;a<=3000;a++) { if(a%4==0&&a%100!=0||a%400==0) { printf("%d ",a); b++; if(b%10==0) { printf("\\n"); } } } printf("一共有%d个闰年\\n",b); return 0; }
4.输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。
#include <stdio.h> int main() { int a,b,c; double sum; printf("请输入一个实数和一个整数\\n"); scanf("%d%d",&a,&b); if(b>0) { for(sum=1,c=1;c<=b;c++) { sum=sum*a; } printf("%.2f\\n",sum); } else if(b<0) { for(sum=1,c=1;c<=-b;c++) { sum=sum*a; } sum=1/(double)sum; printf("%.2f\\n",sum); } else { printf("1\\n"); } return 0; }
5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。
#include <stdio.h> int main() { int a=0,b=0,c=0,d=0; char ch1; printf("请输入一串字符\\n"); while((ch1=getchar())!=\'\\n\') { if((ch1>=\'A\'&&ch1<=\'Z\')||ch1>=\'a\'&&ch1<=\'z\') { a++; } else if(ch1==\' \') { b++; } else if(ch1>=\'0\'&&ch1<=\'9\') { c++; } else { d++; } } printf("字母,空格,数字和其他字符分别为%d,%d,%d,%d\\n",a,b,c,d); return 0; }
总结:ch1=getchar()中 关系运算符!=的优先级比赋值运算符=优先级高加()后才先算前面的
6.输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,
#include <stdio.h> int main() { int a,b=1,c=1,sum1,sum2; float average1,average2; printf("请输入一批数\\n"); scanf("%d",&a); sum1=0; sum2=0; while(a!=0) { if(a>0) { sum1+=a; b++; } else { sum2+=a; c++; } scanf("%d",&a); } if(b-1==0) { printf("没有正数\\n"); } else { average1=(float)sum1/(b-1); printf("正数平均值为%.2f\\n",average1); } if(c-1==0) { printf("没有负数\\n"); } else { average2=(float)sum2/(c-1); printf("负数平均值为%.2f\\n",average2); } return 0; }
总结:注意sum要有赋初值
7.输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)
#include <stdio.h> int main() { int a,b,c=0; for(a=2;a<=1000;a++) { for(b=2;b<=a-1;b++) if(a%b==0) break; if(a==b) { printf("%03d ",b); c++; if(c%10==0) { printf("\\n"); } } } printf("一共有%d个素数\\n",c); return 0; }
8.打印下列图形
#include <stdio.h> int main() { int i,j,k; for(i=0;i<=4;i++) { for(j=0;j<=i;j++) printf(" "); for(k=1;k<=9-2*i;k++) printf("*"); printf("\\n"); } return 0; }
总结:找清规律注意先输出的是什么
知识点总结:
1. 注意循环一定要有初值
2.①while语句先判断表达式后执行循环体,循环体可能一次也不执行
②do while语句先执行循环体后判断表达式,至少执行一次循环体
3.do while 后的while有;
4.要注意运算符的优先级 先执行优先级低的加()
5.for语句
(1) for(表达式1;表达式2;表达式3)
{
循环体语句
}
(2)循环体语句可以是单条语句也可以是复合语句。 建议无论循环体有几条语句,一律都加大括号
(3)表达式可以部分或全部省略,但两个";"不能省略
6.无限循环中,通过在循环体中加break语句对循环体进行控制
7. 循环次数已知 for语句
循环次数未知由给定条件控制 while语句
循环体至少执行一次 do······while语句
以上是关于2016-10-27的主要内容,如果未能解决你的问题,请参考以下文章