一、一般计算问题
1、累加、累积:
注:
这类问题的基本思路是,先确定每次累加(累积)的对象(数据)是啥,这些对象(数据)有啥规律,然后构造出有规律的运算表达式(可以联想高中数学学习的等差数列、等比数列等等。。。),最后确定如何进行循环控制。
先不要直接敲代码,要养成先用伪代码理清整个程序的思路,想好解法,再写程序。
eg1:求100以内的和,包括100;
#include <stdio.h>
int main(void){
int sum=0;
for(int i=1;i<=100;i++){
sum=sum+i;
}
printf("sum=%d",sum);
return 0;
}
运行结果:
eg2:求n的阶乘(n!)
#include <stdio.h>
int main(void){
int i,s=1,n;
scanf("%d",&n);
for(i=1;i<=n;i++){
s=s*i;
}
printf("s=%d",s);
return 0;
}
2、计数和统计:
eg:从键盘任意输入一串字符,分别统计其中大写字母、小写字母、数字、其他字符的个数。
#include<stdio.h>
int main(void){
char ch;
int d=0;
int c=0;
int s=0;
int o=0;
printf("ch=?");
while((ch=getchar())!='\n'){
if(ch>='0'&&ch<='9'){
d++;
}else if(ch>='A'&&ch<='Z'){
c++;
}else if(ch>='a'&&ch<='z'){
s++;
}else{
o++;
}
}
printf("数字字符有%d个\n",d);
printf("大写字母有%d个\n",c);
printf("小写字母有%d个\n",s);
printf("其它字母有%d个\n",o);
return 0;
}