(12/50 节 页面下方包含QQ群、作者QQ等)
1、使用while循环,找出输入的两个正整数(均大于等于2)的最大公约数
#include<stdio.h>
int main()
{
int a,b,c;
printf("请输入两个数字,空格分隔\n");
scanf("%d %d",&a,&b);
if( (a<=1) || (b<=1) ) //不合法
return 1;
if( a>b ) //令c为a、b中较小数
c=b;
else
c=a;
while( ((a%c) != 0) || ((b%c)!=0))
--c;
printf("最大公约数是 %d\n",c);
//让用户输入回车,达到暂停的目的
scanf("\n\n\n\n");
return 0;
}2、使用while循环,找出输入的两个正整数(均大于等于2)的最小公倍数
#include<stdio.h>
int main()
{
int a,b,c;
printf("请输入两个数字,空格分隔\n");
scanf("%d %d",&a,&b);
if( (a<=1) || (b<=1) ) //不合法
return 1;
if( a>b ) //令c为a、b中较大数
c=a;
else
c=b;
while( ((c%a) != 0) || ((c%b)!=0))
++c;
printf("最小公倍数是 %d\n",c);
//让用户输入回车,达到暂停的目的
scanf("\n\n\n\n");
return 0;
}3、输入一行字符,分别统计出其中字母、空格、数字和其它字符的个数
#include<stdio.h>
int main()
{
char c;
int letter = 0,num = 0,space = 0,other=0;
while( (c=getchar()) !='\n' ) //回车结束
{
if( (('a'<=c) && ('z'>=c)) ||
(('A'<=c) && ('Z'>=c)) )
++letter; //小写或大写字母
else if( ('0'<=c) && ('9'>=c) )
++num; //数字
else if( ' '== c)
++space;//空格
else
++other;
}
printf("%d个字母 %d个数字 %d个空格 %d个其它字符\n",letter,num,space,other);
//让用户输入回车,达到暂停的目的
scanf("\n\n\n\n");
return 0;
}4、求
的值,a是一个数字为3,n表示a的位数,n为用户输入。例输入n值为5,则计算5+55+555+5555+55555的值
#include<stdio.h>
int main()
{
int n,a=5,m=1,sum=0;
scanf("%d",&n);
printf("开始计算\n");
while(m<=n)//n次循环
{
int t=1,na=a;
while(t<m)//构造出n个a
{
na = na*10 + a;
++t;
}
printf("%d\n",na);//输出
sum+=na;
++m;
}
printf("和为%d\n",sum);
//让用户输入回车,达到暂停的目的
scanf("\n\n\n\n");
return 0;
}
作者:冥河 QQ:3304576112
交流QQ群:554701039
本教程内容由本站保留版权,请勿复制传播。