C语言循环例题Word文件下载.docx

上传人:b****5 文档编号:18558480 上传时间:2022-12-27 格式:DOCX 页数:20 大小:34.77KB
下载 相关 举报
C语言循环例题Word文件下载.docx_第1页
第1页 / 共20页
C语言循环例题Word文件下载.docx_第2页
第2页 / 共20页
C语言循环例题Word文件下载.docx_第3页
第3页 / 共20页
C语言循环例题Word文件下载.docx_第4页
第4页 / 共20页
C语言循环例题Word文件下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C语言循环例题Word文件下载.docx

《C语言循环例题Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言循环例题Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。

C语言循环例题Word文件下载.docx

while(a<

2||b<

2)

重新输入n与m:

"

if(a>

b)

{t=a;

a=b;

b=t;

%d与%d之间共有%d个素数"

a,b,shuChuSuShu(a,b));

\n\n"

return0;

2、

//用户输入2个数,输出这2个数之间所有的超素数

//超素数(质数)的概念:

7193就是素数,719就是素数,71就是素数,7就是素数,则7193就是素数#include<

intisPrime(intn)//判断某数就是否就是素数

inti,f,m=(int)sqrt(n);

if(n==1)f=0;

{for(i=2;

i++){

if(n%i==0)

break;

f=1;

f=0;

returnf;

intsupperPrime(intn)//判断某数就是否就是超素数{

intt=n;

while(t>

0)

if(isPrime(t)==1)t=t/10;

elsebreak;

if(t==0)return1;

elsereturn0;

输出a到b之间所有的超素数

voidprintSupperPrime(inta,intb)//

inti,m=0;

for(i=a;

{if(supperPrime(i)){printf("

%8d"

m++;

if(m%5==0)printf("

}printf("

printf("

inputa,b:

2||b<

b){t=a;

}printSupperPrime(a,b);

//system("

pause"

3、

//满足a*a+b*b==c*c的a,b,c三个数,称为勾股数

//编程输出100以内的所有勾股数#include<

#include<

intgouGuShu()

intx=0;

for(inta=1;

a<

=100;

a++)for(intb=a;

b<

b++)

for(intc=b;

c<

c++)if(a*a+b*b==c*c){

if(x%4==0)printf("

%4d%4d%4d"

a,b,c);

x++;

returnx;

\n\n100以内的勾股数共有:

%d个。

\n"

gouGuShu());

//system("

4、

//有一堆桃子,第一天猴子吃掉桃子的一半又多吃1个,第二天猴子再吃掉桃子的一半又多吃一个//第10天只剩下1个桃子,问最初有多少个桃子

inthouZiChiTaoZi()

intday=10,x1,x2=1;

while(day>

1)

{x1=(x2+1)*2;

x2=x1;

day--;

returnx1;

最初桃子有%d个\n"

houZiChiTaoZi());

5、//由用户输入一个年份,再输入该年的元旦就是星期几,再输入一个月份,则打印输出该月的日历

//例如:

输入年份就是2000年,输入元旦为星期6,输入月份为3,则输出:

intLeepYear(inty)//判断某年就是否就是闰年

if(y%4==0&

&

y%100!

=0||y%400==0)return1;

}intHowManydays(inty,intm)//判断该月有多少天

intthisMonthDays;

switch(m)

case1:

case3:

case5:

case7:

case8:

case10:

case12:

thisMonthDays=31;

case4:

case6:

case9:

case11:

thisMonthDays=30;

case2:

if(LeepYear(y)==1)thisMonthDays=29;

elsethisMonthDays=28;

returnthisMonthDays;

//whichWeek函数判断该月的1号就是星期几

intwhichWeek(inty,intm,intw)//w表示该年的元旦就是星期几{

intfebDay;

//存放2月份有多少天

intdays;

//存放该月的1号距离元月1号有多少天

intthisWeek;

//存放该月的1号就是星期几if(LeepYear(y))

{febDay=29;

}else

{febDay=28;

}switch(m)

days=0;

days=31;

days=31+febDay;

days=2*31+febDay;

days=2*31+30+febDay;

days=3*31+30+febDay;

days=3*31+2*30+febDay;

days=4*31+2*30+febDay;

days=5*31+2*30+febDay;

days=5*31+3*30+febDay;

days=6*31+3*30+febDay;

days=6*31+4*30+febDay;

thisWeek=(days+w)%7;

returnthisWeek;

//shuChuRiLi函数的功能就是输出日历

voidshuChuRiLi(intyear,intmonth,intweek)//week表示该年的元旦就是星期几

intThisMonthDay,ThisWeek,d,i;

ThisMonthDay=HowManydays(year,month);

//计算这个月有多少天ThisWeek=whichWeek(year,month,week);

//计算这个月的1号就是星期几printf("

%4d月日一二三四五六\n"

month);

%6c"

'

'

d=1;

for(i=0;

ThisWeek;

i++)//输出1号前面的空格printf("

for(i=ThisWeek;

=6;

i++,d++)//输出1号所在的那1行日历printf("

d);

while(d<

=ThisMonthDay)

if(i%7==0)

d++;

i++;

intyear=-20,month=13,week=9;

while(year<

请输入年份:

%d"

year);

while(month>

12||month<

请输入月份:

month);

while(week>

7||week<

该年的元旦就是星期几?

"

week);

shuChuRiLi(year,month,week);

system("

6、

//输出三种形式的九九乘法口诀表#include<

voidchengFaKouJueBiao1()

inti,j;

*|"

for(i=1;

=9;

i++)printf("

%4d"

=40;

-"

%2d|"

for(j=1;

j<

j++)

i*j);

voidchengFaKouJueBiao2()

*"

%2d"

=i;

voidchengFaKouJueBiao3()

for(j=1;

%d*%d=%-4d"

i,j,i*j);

chengFaKouJueBiao1();

chengFaKouJueBiao2();

chengFaKouJueBiao3();

7、

//用户输入三角形的高度,输出由*构成的三角形#include<

voidshuChuSanJiaoXing(intn)

inth,k,s;

for(h=1;

h<

=n;

h++)

for(k=1;

k<

=n-h+1;

k++)printf("

for(s=1;

s<

=2*h-1;

s++)printf("

*"

intn;

输入三角形的行数:

scanf("

n);

while(n<

shuChuSanJiaoXing(n);

8、

//输出边长为n的空心菱形#include<

voidshuChuKongXinlingXing(intn){

k++)

*\n"

for(h=2;

=2*h-3;

=n-2;

=h+1;

for(k=1;

=2*n-2*h-3;

输入菱形的边长:

菱形边长必须大于2,请重新输入菱形的边长:

shuChuKongXinlingXing(n);

9、

//输出所有三位的水仙花数voidsanWeiShuiXianHuaShu(){

inti,a,b,c;

for(i=100;

=999;

a=i/100;

b=i/10%10;

//b=i%100/10;

c=i%10;

if(i==a*a*a+b*b*b+c*c*c)printf("

//输出所有四位的水仙花数

voidsiWeiShuiXianHuaShu()

inti,a,b,c,d;

for(i=1000;

=9999;

a=i/1000;

b=i/100%10;

c=i/10%10;

d=i%10;

if(i==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)printf("

三位的水仙花数有:

sanWeiShuiXianHuaShu();

四位的水仙花数有:

siWeiShuiXianHuaShu();

10、

//一个整数的所有因子之与等于该数,则这个数就是完数。

//输出1000以内的完数及其因子

voidwanShu()

inti,k,sum;

=1000;

sum=0;

=i-1;

{if(i%k==0)sum=sum+k;

if(sum==i)

%5d:

itsfactorsare"

if(i%k==0)printf("

%d,"

k);

wanShu();

system("

11、

//有6个嫌疑人,案件分析如下:

//1、A,B至少有一人作案

//2、A,E,F中至少有两人作案

//3、A,D不可能就是同案犯

//4、B,C或同时作案,或与本案无关

//5、C,D中有且仅有一人作案

//6、如果D没作案,则E也没作案。

//假设案件分析正确,请编程将作案人找出来

//分析:

//1、x1=A||B

//2、x2=A&

E||A&

F||E&

F

//3、x3=!

(A&

D)

//4、x4=B&

C||!

B&

!

C

//5、x5=C&

D||!

C&

D

//6、x6=!

D→!

E等价于x6=D||!

E//令X=x1+x2+x3+x4+x5+x6为6的结果就就是答案#include<

voidzhenTanDuanAn(){

inta,b,c,d,e,f,x1,x2,x3,x4,x5,x6,x;

for(a=0;

=1;

a++)

for(b=0;

b++)for(c=0;

c++)for(d=0;

d<

d++)for(e=0;

e<

e++)for(f=0;

f<

f++){x1=a||b;

x2=a&

e||a&

f||e&

f;

x3=!

(a&

d);

x4=b&

c||!

b&

c;

x5=c&

d||!

c&

d;

x6=d||!

e;

x=x1+x2+x3+x4+x5+x6;

if(x==6){

A%s罪犯,B%s罪犯,C%s罪犯,D%s罪犯,E%s罪犯,F%s罪犯\n\n"

a==1?

就是"

:

不就是"

b==1?

就是"

c==1?

d==1?

不就是"

e==1?

f==1?

//printf("

A=%d,B=%d,C=%d,D=%d,E=%d,F=%d\n"

a,b,c,d,e,f);

zhenTanDuanAn();

12、

//一学校有4位学生中的1位做了好事不留名,//表扬信来了之后,校长问这4位就是谁做了好事。

//A说:

不就是我;

B说:

就是C;

C说:

就是D;

D说:

她胡说。

//已知3个人说的就是真话,一个人说的就是假话。

//请编程找出做好事的人。

voidshuiZuoLeHaoShi(){

intk,f=0;

//f就是找到的标记,f=0表示还没找到

=4;

k++)//k=1表示第1个人做了好事,k=3表示第3个人做了好事、、、{

//如果4句话中有3句话为真,则输出做好事者if(((k!

=1)+(k==3)+(k==4)+(k!

=4))==3)

做好事者为%c"

char(64+k));

//f=1表示找到了

if(f!

=1)//如果循环结束后没有找到

找不到!

shuiZuoLeHaoShi();

13、

//4人谈论4湖

//A说:

洞庭湖(d)最大,洪泽湖h最小,鄱阳湖b第三

//B说:

洪泽湖h最大,洞庭湖d最小,鄱阳湖b第二,太湖t第三

//C说:

洪泽湖h最小,洞庭湖d第三

//D说:

鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。

//4个人每个人仅答对了一个。

//编程给出4个湖从大到小的顺序。

//A=(d==1)+(h==4)+(b==3)

//B=(h==1)+(d==4)+(b==2)+(t==3)

//C=(h==4)+(d==3)

//D=(b==1)+(t==4)+(h==2)+(d==3)#include<

voidpanDuanSiDaDanShuiHu(){

intb,d,h,t,A,B,C,D;

for(b=1;

b++)for(d=1;

d++)

h++)for(t=1;

t<

t++){

A=(d==1)+(h==4)+(b==3);

B=(h==1)+(d==4)+(b==2)+(t==3);

C=(h==4)+(d==3);

D=(b==1)+(t==4)+(h==2)+(d==3);

if(A==1&

B==1&

C==1&

D==1&

b!

=d&

=h&

=t&

d!

h!

=t)

洪泽湖第%d\n鄱阳湖第%d\n太湖第%d\n洞庭湖第%d\n\n"

h,b,t,d);

panDuanSiDaDanShuiHu();

14、

//猜一个1-100之间的数并以最快的速度根据提示猜出所产生的随机数

time、h>

#incl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1