第一范文网 - 专业文章范例文档资料分享平台

C语言必背的典型程序设计题目-选择循环-答案

来源:用户分享 时间:2025/5/22 12:59:39 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

#include \void main() {

char c;

int letters=0,space=0,digit=0,others=0; printf(\ while((c=getchar())!='\\n') {

if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++; else if(c==' ') space++;

else if(c>='0'&&c<='9') digit++; else

others++;

}

printf(\}

5、计算下面的公式,并输出结果。

#include void main( ) { double sum,t; int i,k; sum=0.0;t=1.0;k=1; for(i=1;i<10;i++) { k*=i; sum+=t/k; t=-t; } printf(\/2!+1/3!-...+1/9!=%.5f\\n\}

6、输入两个整数,求这两个数的最大公约数和最小公倍数。(例如,48和36,最大公约数为12,最小公倍数为144)

算法提示:最大公约数可使用辗转相除法,计算方式如下: m n=0 gcd(m,n)=

gcd(n,m%n) n≠0

最小公倍数等于两个数之积除以最大公约数。

#include void main() { int a,b,num1,num2,temp; printf(\ scanf(\ if(num1

b=temp; } printf(\最大公约数:%d\\n\ printf(\最小公倍数:%d\\n\/a); }

7、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。*/ #include #include \void main() { int m,i,k,h=0,leap=1; printf(\ for(m=101;m<=200;m++) { k=(int)sqrt(m+1); for(i=2;i<=k;i++) if(m%i==0) { leap=0; break; } if(leap) /*内循环结束后,leap依然为1,则m是素数*/ { printf(\ h++; if(h==0)printf(\ } leap=1; } printf(\}

8、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。*/ #include void main() {

static int k[10]; int i,j,n,s;

for(j=2;j<1000;j++) {

n=-1; s=j;

for(i=1;i

{printf(\ \ for(i=0;i

printf(\ printf(\ } }

}

9、打印以下图案(n=4时)

*

*** *****

******* ***** *** *

#include void main() { int i,j,k; for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++) printf(\ for(k=0;k<=2*i;k++) printf(\ printf(\ } for(i=0;i<=2;i++) { for(j=0;j<=i;j++) printf(\ for(k=0;k<=4-2*i;k++) printf(\ printf(\ } }

10、输入年月日,判断该天是该年的第多少天? #include void main() {

int day,month,year,sum,leap;

printf(\ scanf(\

switch(month) /*先计算某月以前月份的总天数*/ {

case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break;

default:printf(\ }

sum=sum+day; /*再加上某天的天数*/

if(year@0==0||(year%4==0&&year0!=0))/*判断是不是闰年*/ leap=1; else leap=0;

if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/

sum++;

printf(\}

11、题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n!=k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n, 重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 2.程序源代码:

/* zheng int is divided yinshu*/ main() {

int n,i;

printf(\scanf(\printf(\for(i=2;i<=n;i++) {

while(n!=i) {

if(n%i==0)

{ printf(\ n=n/i; } else break; }

C语言必背的典型程序设计题目-选择循环-答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0g92r8i9ss3ibqw7s1xb7s7tu43ow500tno_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top