几个小程序
2010-07-29 13:54
46 查看
1、递归实现字符串的逆序打印
#include<stdio.h>
#include<string.h>
void reserve(char *p)
{
if(*p=='\0')
return;
reserve(p+1);
printf("%c",*p);
}
void main()
{
char a[10]="abc";
reserve(a);
printf("\n");
}
2、A,B,C,D4个嫌疑人,只有一个人为偷盗者。在审讯中,四个人诚实或说谎都有可能。
A:我没偷;
B:C偷的;
C:D偷的;
D:C在胡说。
有3个人说真话,一个人说假话,编写程序判断谁是偷盗者。
#include<stdio.h>
void main(void)
{
int i,sum=0,flag=0;
char killer;
for(i=1;i<=4;i++)
{
killer=64+i;
sum=(killer!='A')+(killer=='C')+(killer=='D')+(killer!='D');
if(sum==3)
{
flag=1;
printf("%c is the theaf.\n",killer);
break;
}
}
if(flag==0)
printf("cat not find.\n");
}
3、五位运动员参加比赛,进行结果与测:
A说:B第一,我第三
B说:我第二,E第四
C说:我第一,D第三
D说:C最后,我第三
E说:我第四,A第一
比赛结素,每位选手只说对了一半,编程确定比赛名次。
#include<stdio.h>
int main()
{
int a[2]={1,3};//A可能第一可能第三
int b[2]={1,2};//B可能第二可能第一
int c[2]={1,5};//C可能第一可能第五
int d=3; //D第三
int e=4; //E第四
int i,j,k;
int sum=0;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++)
{
sum=a[i]+b[j]+c[k]+d
+e;
if(sum==15)
{
printf("A 第%d\n",a[i]);
printf("B 第%d\n",b[j]);
printf("C 第%d\n",c[k]);
printf("D 第%d\n",d);
printf("E 第%d\n",e);
return 0;
}
}
return0;
}//这个程序有问题,结果根题目要求不符,那位高手有新的方法,请赐教。
#include<stdio.h>
#include<string.h>
void reserve(char *p)
{
if(*p=='\0')
return;
reserve(p+1);
printf("%c",*p);
}
void main()
{
char a[10]="abc";
reserve(a);
printf("\n");
}
2、A,B,C,D4个嫌疑人,只有一个人为偷盗者。在审讯中,四个人诚实或说谎都有可能。
A:我没偷;
B:C偷的;
C:D偷的;
D:C在胡说。
有3个人说真话,一个人说假话,编写程序判断谁是偷盗者。
#include<stdio.h>
void main(void)
{
int i,sum=0,flag=0;
char killer;
for(i=1;i<=4;i++)
{
killer=64+i;
sum=(killer!='A')+(killer=='C')+(killer=='D')+(killer!='D');
if(sum==3)
{
flag=1;
printf("%c is the theaf.\n",killer);
break;
}
}
if(flag==0)
printf("cat not find.\n");
}
3、五位运动员参加比赛,进行结果与测:
A说:B第一,我第三
B说:我第二,E第四
C说:我第一,D第三
D说:C最后,我第三
E说:我第四,A第一
比赛结素,每位选手只说对了一半,编程确定比赛名次。
#include<stdio.h>
int main()
{
int a[2]={1,3};//A可能第一可能第三
int b[2]={1,2};//B可能第二可能第一
int c[2]={1,5};//C可能第一可能第五
int d=3; //D第三
int e=4; //E第四
int i,j,k;
int sum=0;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++)
{
sum=a[i]+b[j]+c[k]+d
+e;
if(sum==15)
{
printf("A 第%d\n",a[i]);
printf("B 第%d\n",b[j]);
printf("C 第%d\n",c[k]);
printf("D 第%d\n",d);
printf("E 第%d\n",e);
return 0;
}
}
return0;
}//这个程序有问题,结果根题目要求不符,那位高手有新的方法,请赐教。
相关文章推荐
- ASP网站数据采集程序制作:一个采集入库生成本地文件的几个FUCTION(可用来生成HTML静态网页)
- 转载几个关于"Wince下定制开机自启动程序"的文章
- VC中用于调试程序的几个宏的使用技巧
- 程序学习的几个阶段
- (轉貼) 关于程序职业的几个方向 (Misc)
- 关于MFC程序中CString转char*与char*转CString的几个问题
- 【程序45】 题目:判断一个素数能被几个9整除
- PHP 小偷程序应用的几个函数
- 几个比较好的博客程序(转)
- 几个简单的servlet程序
- 首次在easerver发布web程序碰到几个问题
- Python的几个文件操作小程序
- 程序优化的几个层次
- 用python实现一个socket echo程序 && tcp socket的几个关闭状态
- 开发多语言版本程序应注意的几个问题
- Java初学几个程序背诵
- 我有一个文本文件存储了几个名称, 写一个程序实现随机获取一个人的名字
- 增强Delphi程序安全性的几个想法,提高反破解能力
- cnblogs程序使用中的几个问题!
- 手工创建mfc程序的几个步骤