C语言求 输入一行字符,统计英文、字母、空格、数字和其他字符的个数 作者: Chuwen 时间: 2019-04-02 分类: C/C++ 评论 # C语言代码如下: ```c #include int main() { char c; int alpha=0, number=0, space=0, other=0; c = getchar();//输入一个字符给变量 c while(c != '\n'){ if((c>='A' && c<='Z') || (c>='a' && c<='z')){//判断是否为字母 alpha = alpha+1; }else if(c>='0' && c<='9'){//判断是否为数字 number = number+1; }else if(c == ' '){//判断是否为空格 space = space+1; }else{//其他 other = other+1; } c = getchar();//在输入下一个字符赋值给变量 c } printf("字母:%d 个\n", alpha); printf("数字:%d 个\n", number); printf("空格:%d 个\n", space); printf("其他:%d 个\n", other); } ``` # 运行结果 ``` I love china! 字母:10 个 数字:0 个 空格:2 个 其他:1 个 -------------------------------- Process exited after 9.275 seconds with return value 0 ``` ![TIM截图20190402180403.png][1] [1]: https://cdn.nowtime.cc/2019/04/02/2430667307.png
C 语言求1000以内的完数 作者: Chuwen 时间: 2019-03-27 分类: C/C++ 评论 ``` #include #include int main() { int i, a, b; for(i=1; i<=1000; i++) { b=0; for(a=1; a<=i/2; a++){ if(i%a == 0){ b=b+a;//把求出的因子都加起来 } } if(b == i){ printf("%d its factors are ", i); for(a=1; a<=i/2; a++){ if(i%a == 0){ printf(",%d", a); } } printf("\n"); //printf("%d 是完数\n", i); } } } ```
C 语言输出所有“水仙花数” 作者: Chuwen 时间: 2019-03-27 分类: C/C++ 评论 > ### 所谓“水仙花数”是指一个3位数,其各位数字立方和等于概述本身。例如,153是“水仙花数”,因为 `153 = 1的立方 + 5的立方 + 3的立方` # C 语言代码实现: > 由于使用了 `pow` 函数(求 x 的 y 次幂/方,如 `pow(2, 3)`,求的是 `2的3次方` > 故我们需要引入头文件 `math.h` ```c #include #include int main() { int i, a, b, c; for(i=111; i<999; i++) { a = (i/100)%10;//取百位数值 b = (i/10)%10;//取十位数值 c = i%10;//取个位数值 if(pow(a,3)+pow(b,3)+pow(c,3) == i){ printf("%d\t", i); } } } ``` # 编译并运行的输出结果: ``` 153 370 371 407 -------------------------------- Process exited after 0.2338 seconds with return value 0 ```
C 语言解决“鸡兔同笼”问题 作者: Chuwen 时间: 2019-02-28 分类: C/C++ 评论 # “鸡兔同笼”简介 > ## 主要考察 `for 循环` 的使用 > ## 鸡兔同笼问题是一类中国古代著名的算术问题,最早可以追溯至南北朝时期的数学著作《孙子算经》。事实上属于一次方程组问题。 # C 代码: ```c // // Created by NowTime on 2019/2/28. // 鸡兔同笼 解决程序 // #include #include void main() { int heads, feet; printf("鸡兔同笼问题解决程序\n"); printf("请务必输入的是正整数!\n"); printf("否则将会卡住...你只能按 Ctrl+C 或 点击右上角 X 关闭本程序\n\n"); printf("请输入“鸡兔数量”:"); scanf_s("%d", &heads); printf("请输入“脚数量”:"); scanf_s("%d", &feet); int rabbit, chicken, count_feet; for(chicken=1; chicken<=heads; chicken++){ rabbit = heads-chicken;//鸡 = 头的数量-兔子数量 count_feet = (chicken*2)+(rabbit*4);//脚的数量 = 鸡的数量*2条腿 +兔子的数量*4条腿 //如果算出脚的数量 等于 输入脚的数量,则输出 if(count_feet == feet){ printf("鸡有:%d只,兔子有:%d\n", chicken, rabbit); break;//退出循环 } } system("pause");//暂停,按任意键退出本程序,需要引入头文件 #include } ``` # 输出结果: ``` PS D:\C语言> ./鸡兔同笼解决程序.exe 鸡兔同笼问题解决程序 请务必输入的是正整数! 否则将会卡住...你只能按 Ctrl+C 或 点击右上角 X 关闭本程序 请输入“鸡兔数量”:10 请输入“脚数量”:30 鸡有:5只,兔子有:5 请按任意键继续. . . ``
C 输出“乘法口诀表” 作者: Chuwen 时间: 2019-02-28 分类: C/C++ 评论 # 简介 > ## 主要考察 `for 循环` 的使用 # C 代码 ```c #include void main() { int i,ii; for(i=1; i<=9; i++){ for (ii=1; ii<=i ; ii++) { printf("%dx%d=%d\t", i, ii, i*ii); } printf("\n"); } } ``` # 运行结果: ``` D:\CLionProjects\hello\cmake-build-debug\hello.exe 1x1=1 2x1=2 2x2=4 3x1=3 3x2=6 3x3=9 4x1=4 4x2=8 4x3=12 4x4=16 5x1=5 5x2=10 5x3=15 5x4=20 5x5=25 6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36 7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81 Process finished with exit code 0 ```