juliusun.com
(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 本教程内容由本站保留版权,请勿复制传播。