从零开始跟我学 C 语言之循环结构(下)
【由键盘输入一串字符,分别统计输入字符中数字字符、字母字符以及其他字符的个数。】
//2023.2.5渔火 Linux迷 www.linuxmi.comint main(){ int d,l,o; char ch; d=l=o=; printf("请输入一串字符:"); while((ch=getchar())!='\n') if((ch>='0')&&(ch<='9')) d++; else if ((ch>='a')&&(ch<='z')||(ch>='A')&&(ch<='Z')) l++; else o++; printf("数字%d个,字母%d个,其他%d个\n",d,l,o); //2023.2.5渔火 Linux迷 www.linuxmi.com return ;}
(ch=getchar())!='\n' 不能写成ch=getchar()!='\n' 两者不等价。循环体为为一条完整的if语句,若有多条语句时,必须使用复合语句的形式。while后面的括号“()”不可省略。【求自然数的大公约数和小公倍数】
#include<stdio.h>//2023.2.5渔火 Linux迷 www.linuxmi.comint main(){ int a,b,r,n,m; printf("请输入两个整数:"); scanf("%d%d",&a,&b); m=a,n=b; do { r=a%b; a=b; b=r; } while(r!=); printf("%d和%d的大公约数是:%d\n",m,n,a); printf("小公倍数是:%d",m*n/a); //2023.2.5渔火 Linux迷 www.linuxmi.com return ;}
【输入一个整数,统计该数的位数】
//2023.2.5渔火 Linux迷 www.linuxmi.comint main(){ long n,m; int count=; printf("请输入一个整数:"); scanf("%ld",&n); m=n; if(n<)n=-m; do{ n=n/10; count++; } while(n!=); printf("整数%ld有%d位数\n",m,count); //2023.2.5渔火 Linux迷 www.linuxmi.com return ;}
【把1~100之间能被7整除的数,以每行5个的形式在屏幕上输出。】
//2023.2.5渔火 Linux迷 www.linuxmi.comint main(){ int i,n=1; for(i=1;i<=100;i++) { if(i%7!=) continue; printf("%4d",i); if(n++%5==)printf("\n"); } //2023.2.5渔火 Linux迷 www.linuxmi.com return ;}
相关链接:
https://www.linuxmi.com/learn-c-language-from-scratch-1.html
https://www.linuxmi.com/learn-c-language-from-scratch-2.html
https://www.linuxmi.com/learn-c-language-from-scratch-3.html
https://www.linuxmi.com/learn-c-language-from-scratch-4.html
-
https://www.linuxmi.com/learn-c-language-from-scratch-5.html
相关文章