| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 11655 人关注过本帖, 13 人收藏
标题:[分享][转载]C入门必做的一些题目,有兴趣的来看
只看楼主 加入收藏
wo_qwq
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-9-18
收藏
得分:0 
我的汗啊/流了很多啊1!!!
2006-09-22 22:18
ch301
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-9-23
收藏
得分:0 

看得都郁闷

2006-09-23 11:36
zhouweike
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-9-23
收藏
得分:0 

俺发表第2题的答案:

#include<stdio.h>
void main( )
{int a,b,c,d,e,i=0,j=0,k=0,l=0,m=0;
for(a=0;a<=1;a++)
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
for(d=0;d<=1;d++)
for(e=0;e<=1;e++)
{if(a)
{if(b==1)
i++;
else i--;};
if(b+c==1)
j++;
if(c+d!=1)
k++;
if(d+e>=1)
l++;
if(e)
{if(a+d==2)
m++;
else m--;
};
if((i>=0)&&(j==1)&&(k==1)&&(l==1)&&(m>=0))
printf("%d %d %d %d %d \n",a,b,c,d,e);
else
{i=0;j=0;k=0;l=0;m=0;};
};
}
结果c和d参加


2006-09-24 18:11
yamu2000
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-9-12
收藏
得分:0 
这是第三题的。
#include<math.h>
main()
{char inp,ch[21][21];
int i,j,k=0,n=22;
float cr;
loop1:clrscr();
loop2:printf("Please input a NO. 'n'(n<=20)\n");
scanf("%d",&n);printf("%d\n",n);
if(!(n>=1 && n<=20)) {printf("Error! The NO. 'n' master between 1 to 20\n"); goto loop2;}
cr=((float)(n+1))/2.0;
for(i=1;i<=n;i++)
{ch[1][i]='T';ch[i][1]='T';ch[i][n]='T';ch[n][i]='T';
if(i != 1 && i != n) {ch[i][2]='J';ch[2][i]='J';ch[n-1][i]='J';ch[i][n-1]='J';}}
for(i=3;i<=n-2;i++)
{for (j=3;j<=n-2;j++)
{if(fabs(i-cr) < fabs(j-cr))
{if(j <= (int)cr) {ch[i][j]=j+46;}
else {ch[i][j]=n-j+47;}}
else
{if(i <= (int)cr) {ch[i][j]=i+46;}
else {ch[i][j]=n-i+47;}}
}
}
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
{printf("%1c",ch[i][j]);}
printf("\n");}
loop3:printf("Do you wanna try another case?(Y/N)\n");
scanf("\n%c",&inp);
if((inp-'y')==0 || (inp-'Y')==0) goto loop1;
else {if(!((inp-'n')==0 || (inp-'N')==0)) {printf("\nPlease input 'Y' to try again or 'N' to exit!'\n\n");goto loop3;}}
}
2006-09-24 19:16
yamu2000
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-9-12
收藏
得分:0 

受23楼的启发,修该了一下我第二题的程序,并修饰了输出语句,程序如下:
main()
{int p[5],i,j=0,k=0;
char player[5]={'A','B','C','D','E'};
clrscr();
for(p[0]=0;p[0]<=1;p[0]++)
{for(p[1]=0;p[1]<=1;p[1]++)
{for(p[2]=0;p[2]<=1;p[2]++)
{for(p[3]=0;p[3]<=1;p[3]++)
{for(p[4]=0;p[4]<=1;p[4]++)
{if(p[0] && !p[1]) continue;
if(!(p[1]+p[2]) || (p[1]*p[2])) continue;
if((p[2]+p[3]) == 1) continue;
if(!(p[3]+p[4])) continue;
if(p[4] && (!p[0] || !p[3])) continue;
k=1;
for(i=0;i<5;i++)
{if(p[i])
{if(j == 0) {printf("Only %c",player[i]);j=j+1;}
else {printf(" and %c",player[i]);j=j+1;}}
}
if(j) {printf(" attende the competition!\n");j=0;}
}
}
}
}
}
if(!k) printf("Nobody attende the competition!");getch();
}

2006-09-24 20:25
yamu2000
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-9-12
收藏
得分:0 

刚把第一题也简化了一下:

#define NUM 10
main()
{int a,b,c,d,e,f,g,x,y,z,inde[NUM]={-1,1,1,1,1,1,1,1,1,1};
clrscr();
/* 先做循环,把所有可能排列组合一下,有点头晕了,inde[NUM]作为指示记号,如果某数字i已经被赋过值,那么
inde[i]=0,那循环中将判断不再将i赋给其他变量*/

for(a=1;a<9;a++)
{x=a+1; /* 首先做了个判断,x必定等于a+1,小作弊了下,呵呵*/
inde[a]=0;inde[x]=0;
for(b=0;b<=9;b++)
{if(inde[b]) {inde[b]=0;}
else continue;
for(c=0;c<=9;c++)
{if(inde[c]) {inde[c]=0;}
else continue;
for(d=0;d<=9;d++)
{if(inde[d]) {inde[d]=0;}
else continue;
for(e=0;e<=9;e++)
{if(inde[e]) {inde[e]=0;}
else continue;
for(f=0;f<=9;f++)
{if(inde[f]) {inde[f]=0;}
else continue;
for(g=0;g<=9;g++)
{if(inde[g]) {inde[g]=0;}
else continue;
for(y=0;y<=9;y++)
{if(inde[y])
{inde[y]=0;
z=1+2+3+4+5+6+7+8+9-a-b-c-d-e-f-g-x-y;

if((a*10000+b*1000+c*100+d*10+e+2*(d*100+f*10+g)) ==

(x*10000+y*1000+z*100+d*10+e)) /*比较条件*/

{printf(" A B C D E\n");
printf(" D F G\n");
printf(" + D F G\n");
printf("-----------\n");
printf(" X Y Z D E\n");
printf("\n");
printf("%2d%2d%2d%2d%2d\n",a,b,c,d,e);
printf(" %2d%2d%2d\n",d,f,g);
printf(" + %2d%2d%2d\n",d,f,g);
printf("-----------\n");
printf("%2d%2d%2d%2d%2d\n",x,y,z,d,e);
printf("\n");
printf("a =%2d,b =%2d,c =%2d,d =%2d,e =%2d,f =%2d,g =%2d,x =%2d,y =%

2d,z =%2d\n",a,b,c,d,e,f,g,x,y,z);/*这是输出部分*/
getch();
}
}

else continue;
inde[y]=1; /* 记得要还原inde[y]=1哦*/
}
inde[g]=1;
}
inde[f]=1;
}
inde[e]=1;
}
inde[d]=1;
}
inde[c]=1;
}
inde[b]=1;
}
inde[a]=1;
}

2006-09-24 20:56
C之Itachi
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-7-16
收藏
得分:0 

有完整的答案吗?头都大了~~


2006-09-24 22:35
waynebeat
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-8-26
收藏
得分:0 

做这个会不会做疯?

我以前就试过,没一个简单的,我道行还够呀!


只剩一年了………… 够了!
2006-09-24 22:40
菜鸟笨鸟
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-9-2
收藏
得分:0 

第二题
(1)A参加时,B也参加;
(2)B和C只有一个人参加;
(3)C和D或者都参加,或者都不参加;
(4)D和E中至少有一个人参加;
(5)如果E参加,那么A和D也都参加。

最后只有C和D参加


偶是大菜鸟~!
2006-09-25 14:24
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
有助于搞高编程序能力

谁有强殖装甲第二部,可以Q我460054868
2006-09-30 18:20
快速回复:[分享][转载]C入门必做的一些题目,有兴趣的来看
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051103 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved