从零开始跟我学 C 语言之循环结构(下)
【由键盘输入一串字符,分别统计输入字符中数字字符、字母字符以及其他字符的个数。】
//2023.2.5渔火 Linux迷 www.linuxmi.com
int 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.com
int 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.com
int 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.com
int 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
相关文章