怎样做外贸网站建设,网络推广项目计划书,app应用开发在哪里找,那个网站系统好文章目录 一、for循环基本知识二、经典例题及解析1.水仙花数2.求规定范围内的完数3.求规定范围内质数4.计算阶乘之和5.计算55555555555555(类型)6.计算112123123412345(类型)7.判断用户输入正整数的位数8.判断某正整数是否为回文数9.九九乘法表10.统计用户输入的字符中#xf… 文章目录 一、for循环基本知识二、经典例题及解析1.水仙花数2.求规定范围内的完数3.求规定范围内质数4.计算阶乘之和5.计算55555555555555(类型)6.计算112123123412345(类型)7.判断用户输入正整数的位数8.判断某正整数是否为回文数9.九九乘法表10.统计用户输入的字符中英文字母空格数字以及其他字符的个数for循环并利用ASCII判定范围while方法,利用字符判定范围 11.连续输入计算平均值保留两位小数 一、for循环基本知识
基本结构
for (式子1;式子2;式子3) 语句 //语句也可以是复合语句执行过程 首先执行式子1式子1只执行第一次然后用式子1的结果去和式子2去判断式子2为真则执行循环语句(为假就不执行)循环语句执行完去执行式子3再用式子3执行完后的值去判断式子2的真假如此重复直到执行完式子3后的结果不符合式子2循环结束。 注意事项
一般式子1代表初值式子2代表条件式子3代表增量三个式子之间用两个分号进行分隔且两个分号不可省略三个式子都可以进行省略若不写式子2缺省为条件永真
二、经典例题及解析
1.水仙花数 水仙花数水仙花数是一个三位数特点是各个位数的立方和等于该数本身。 //水仙花数是一个三位数特点是各个位数的立方和等于该数本身。
//例:1531*1*15*5*53*3*3
#include stdio.hint main()
{int i,a,b,c;for(i100;i999;i) //保证范围为三位数{a i%10; //取变量的个位数b i/10%10; //取变量的十位数c i/100; //取变量的百位数if ((a*a*ab*b*bc*c*c) i) printf(%d\n,i); }return 0;
}运行结果
2.求规定范围内的完数 完数一个正整数的所有真因子(除了自身以外的约数)的和恰好等于它本身 //完数定义一个正整数的所有真因子(除了自身以外的约数)的和恰好等于它本身
//例6为完数6的真因子为123 6123
#include stdio.h
int main(){int n,i,j,sum;printf(请输入计算完数终止数\n);scanf(%d,n);for (i1;in;i){sum0; //一定要保证每次sum的值都要进行刷新(在循环体内)for (j1;ji;j) //保证小于i,不可等于(完数定义){if (i%j0) sumj;}if (sumi) printf(%d\n,i);}return 0;
}
运行结果
3.求规定范围内质数 质数一个大于1的整数只能被1和自己整除 //质数一个大于1的整数只能被1和自己整除
#include stdio.h
int main()
{int i,j,k,n;printf(请输入终止范围:);scanf(%d,n);for (i2;in;i){k1; //借助k的值对是否为质数进行判断需保证每次k都能刷新for (j2;ji;j) //最小质数是2{if (i%j0){ k0; //在这期间只要有一个其他数可对该数进行整除就代表该数不是质数break; }}if (k1) printf(%d\n,i);}
}运行结果
4.计算阶乘之和 正整数的阶乘是所有小于及等于该数的正整数的积并且0的阶乘为1。 自然数n的阶乘写作n! 例55 * 4 * 3 * 2 * 1 //正整数的阶乘是所有小于及等于该数的正整数的积并且0的阶乘为1。
//自然数n的阶乘写作n!。
//55*4*3*2*1
#include stdio.h
int main()
{int i,n,sum0,p1;printf(请输入阶乘终止值\n);scanf(%d,n);for (i1;in;i){p*i; //根据找规律得出sump; //累加求和}printf(阶乘结果为%d,sum);}运行结果
5.计算55555555555555(类型) 大同小异其他数值也可以这样计算 #include stdio.h
int main()
{int i,sum0,p0;for (i1;i5;i) //循环次数几个5{pp*105; //找规律注意这次p为0sump; //每循环一次就进行叠加}printf(结果为%d,sum);
}运行结果
6.计算112123123412345(类型) 此类题大部分都是先找规律如需累加则在循环体内累加 #include stdio.h
int main()
{printf(%d,112123123412345);int i,sum0,p0;for (i1;i5;i){pp*10i; //同样找规律然后叠加sump;}printf(结果为%d,sum);
}运行结果
7.判断用户输入正整数的位数
#include stdio.h
int main()
{int n,k0;printf(请输入正整数\n);scanf(%d,n);for (;n!0;) //while也可以{k;n/10; //很粗名每次除10减少一位数直到为0停止}printf(该正整数的位数为%d,k);
}运行结果: 编写程序计算x的y次方
#include stdio.h
int main()
{int x,y,i,p1;printf(请输入x和y\n);scanf(%d%d,x,y);for (i1;iy;i) //循环y次{p*x; //p的值为初始值必须为1}printf(x的y次方为%d,p);return 0;
}运行结果
8.判断某正整数是否为回文数 回文数从左向右看和从右向左看都一样 例1234321是回文数 #include stdio.h
int main()
{int n,y,p0;printf(请输入测试正整数\n);scanf(%d,n);yn;while (n!0){pp*10n%10; //取这个正整数的最后一位并且与前面相加就不成第一位啦嘛 //经典有空就回顾一下n/10; //每次执行去掉正整数一位数}if (py) printf(%d是回文数,y);else printf(该数不是回文数);return 0;}运行结果
9.九九乘法表
#include stdio.hint main()
{int i,j;for (i1;i9;i){ //外循环循环9次for (j1;ji1;j){ //内循环以外循环的变量为范围printf(%d*%d%d ,j,i,i*j); //注意i和j的先后顺序看题}printf(\n); //不可在内循环体内}return 0;
}10.统计用户输入的字符中英文字母空格数字以及其他字符的个数
for循环并利用ASCII判定范围
//for循环并利用ASCII判定范围
#include stdio.h
int main()
{int z0,s0,k0,o0;char ch;printf(请输入字符串\n);for (;1;){chgetchar();if (ch \n) break;else if (ch65ch90 || ch97ch122) z1;else if (ch 32) k1;else if (ch48ch57) s1;else o1;}printf(该字符串中英文字母占%d个\n该字符串中空格占%d个\n该字符串中数字占%d个\n该字符串中其他字符占%d个\n,z,k,s,o);}while方法,利用字符判定范围
//while方法,利用字符判定范围其实也还是ASCII只不过这个不容易出错
#include stdio.h
int main()
{int z0,s0,k0,o0;char ch;printf(请输入字符串\n);while ((chgetchar())!\n){if (chAchZ || chachz) z1; //也可以用字符表示范围ASCII有可能会记错else if (ch ) k1;else if (ch0ch9) s1;else o1;}printf(该字符串中英文字母占%d个\n该字符串中空格占%d个\n该字符串中数字占%d个\n该字符串中其他字符占%d个\n,z,k,s,o);}运行结果
11.连续输入计算平均值保留两位小数
#include stdio.h
int main()
{int i;float n,sum0.0; //注意数据类型for (i1;i!0;i){printf(请输入需要累加的数值%d\n(注输入0时结束)\n,i);scanf(%f,n);sumn;if (n0) {printf(平均值为%.2f,sum/i); break; //保留两位小数}}
}运行结果