1、寻找肇事汽车车牌号:
一辆汽车撞人后逃跑,4个目击者提供如下线索:
甲:牌照3、4位相同 乙:牌号为31XXXX
丙:牌照5、6位相同 丁:3~6位是一个整数的平方
请根据4个目击者的话,找出肇事汽车车牌号。
int text1()
{
int i;float n;
for(i=0001;i<10000;i++)//从1开始试四位数
{
n=sqrt(i);//求四位数的开平方
if(n==(int)n)//检测四位数开平方后是否为整数
if((i%10)==(i/10%10)&&(i/100%10)==(i/1000))//验证甲和丙的要求是否符合
printf("31%d",i);//符合所有条件输出此数
}
}
2、狗熊吃包谷
狗熊到玉米地吃包谷,第一天吃了一半又拿走一个回去喂小狗熊,第二天又去吃了剩下的一半,走时仍然带一个回去。以后每天都吃前一天剩下的一半,拿走一个。到第十天时,狗熊到地里一看,只剩下一个包谷了。求地里一共有多少包谷?
int text2()
{
int a[10],i;//定义数组和变量i
a[0]=1;
for(i=0;i<=9;i++)
a[i+1]=2*(a[i]+1);//10天依次按要求增加
printf("%d",a[9]);//输出最后一天的量即总量
}
3、奇怪的A+B
小明做过很多版本的A+B,可是这次的A+B有点棘手,这次的问题是告诉你一个表达式满足“A+B=”,让你求出它的值,棘手的地方在于A和B(A和B的值小于10000)都是用英文表示的,就是用英文单词表示A和B每位上的数,最后求出它们的和。例如,输入(单词由空格隔开)seven four + nine =,输出83。
int text3()
{
char a[M][P]={"zero","one","two","three","four","five","six","seven","eight","nine"};
char str[M];
int i;
int flag=0,flag1=0;
int k,k1;
int y=0,y1=0;
int sum;
printf("请输入需要相加的英文字母:\n");
while(flag==0)
{
scanf("%s",str);
if((strcmp(str,"+")==0))
flag=1;
for(i=0;i<M;i++)
{
if(strcmp(str,a[i])==0)
{
k=i;
y=y*10+k;
}
}
}
while(flag1==0)
{
scanf("%s",str);
if((strcmp(str,"=")==0))
flag1=1;
for(i=0;i<M;i++)
{
if(strcmp(str,a[i])==0)
{
k1=i;
y1=y1*10+k1;
}
}
}
sum=y+y1;
printf("最后的和为:\n");
printf("%d",sum);
}
4、通讯录
通讯录中的一条记录包含下述基本信息:朋友的姓名(不超过10个字符)、出生日期(yyyy/mm/dd)、性别(M表示男,F表示女)、固定电话号码(不超过15位的连续数字)、移动电话号码(不超过15位的连续数字)。要求编写程序,输入N(N小于等于10)条记录,并且根据要求显示任意某条记录。
struct frinds{ //设置结构体包含用字符类型定义的姓名,出生日期,性别,固定电话,移动电话。
char name[10];
char date[10];
char sex;
char guding[15];
char yidong[15];
};
int text4()
{
int N;
printf("要求输入的记录个数:");
scanf("%d",&N);//接收总记录个数
int i,k,j,m;
struct frinds a[N];//设置结构体数组,数组一共N个,代表N个电话记录
printf("输入信息:");
for(i=0;i<N;i++)//循环输入这N个电话记录的各个消息
{
scanf("%s",a[i].name);
getchar();
scanf("%s",a[i].date);
getchar();
scanf("%c",&a[i].sex);
getchar();
scanf("%s",a[i].yidong);
getchar();
scanf("%s",a[i].guding);
}
printf("输入要查找的记录号:");
scanf("%d",&m);//接收要查找的电话记录的序号
printf("%s\n",a[m-1].name);//输出关于此电话记录的各个信息
printf("%s\n",a[m-1].date);
printf("%c\n",a[m-1].sex);
printf("%s\n",a[m-1].guding);
printf("%s\n",a[m-1].yidong);
}