应该输入一个四位数而不是输入四个一位数,这样才符合使用习惯。这样的话,你一次读完即:
创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目成都网站建设、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元李沧做网站,已为上家服务,为李沧各地企业和个人服务,联系电话:18982081108
scanf("%d",n);
判断这个数是否大于1000且小于10000(如果不是,则不是4位数,同时排除了负数)
取出各位数字,然后看是否有相等的。取千位数:x=n/1000; 取百位数:y=(n-x*1000)/100; 取十位数:z=(n-x*1000-y*100)/10 取个位数:w=n%10;
#includestdio.h
#includestring.h
int isPokerVaild(char* str){
if(strlen(str)==1){
if((str[0]='2' str[0]='9')||str[0]=='0'||str[0]=='A'||str[0]=='J'||str[0]=='Q'||str[0]=='K') return 1;
else return 0;
}
else if(strlen(str)==2){
if(str[0]==str[1]) return 2;
else return 0;
}
else if(strlen(str)==3){
if(str[0]==str[1] str[1]==str[2]) return 3;
else return 0;
}
else if(strlen(str)==4){
if(str[0]==str[1] str[1]==str[2] str[2]==str[3]) return 4;
else return 0;
}
else if(strlen(str)==5){
int s[5],n=0;
bool flag=true;
while(n5){
switch(str[n]){
case '2':s[n]=1;break;
case '3':s[n]=3;break;
case '4':s[n]=4;break;
case '5':s[n]=5;break;
case '6':s[n]=6;break;
case '7':s[n]=7;break;
case '8':s[n]=8;break;
case '9':s[n]=9;break;
case '0':s[n]=10;break;
case 'J':s[n]=11;break;
case 'Q':s[n]=12;break;
case 'K':s[n]=13;break;
case 'A':s[n]=14;break;
}
n++;
}
for(n=0;n4;){
if(s[n+1]!=s[n]+1){
flag=false;
break;
}
else{
flag=true;
n++;
}
}
if(flag) return 5;
else return 0;
}
}
int main(){
int iRet = isPokerVaild("3"); // iRet = 1
printf("%d\n",iRet);
iRet = isPokerVaild("n"); // iRet = 0
printf("%d\n",iRet);
iRet = isPokerVaild("66"); // iRet = 2
printf("%d\n",iRet);
iRet = isPokerVaild("36"); // iRet = 0
printf("%d\n",iRet);
iRet = isPokerVaild("555"); // iRet = 3
printf("%d\n",iRet);
iRet = isPokerVaild("366"); // iRet = 0
printf("%d\n",iRet);
iRet = isPokerVaild("8888"); // iRet = 4
printf("%d\n",iRet);
iRet = isPokerVaild("4666"); // iRet = 0
printf("%d\n",iRet);
iRet = isPokerVaild("0JQKA"); // iRet = 5
printf("%d\n",iRet);
iRet = isPokerVaild("56789"); // iRet = 5
printf("%d\n",iRet);
iRet = isPokerVaild("45789"); // iRet = 0
printf("%d\n",iRet);
}
惨不忍睹,将就改一下,勉强可以运行
#include stdio.h
#include string.h
#include stdlib.h
char in[40]; //定义全局变量
char func[999]=""; //定义全局变量
int WhichFunc() //不符合返回-1
//D功能返回0
{
if(func[0]=='D')
return 0;
else return -1;
}
char *D(char DWhat)
{
int i;
for(i=0;i= strlen(in);i++)
{
if(in[i]==DWhat)
{
in[i]=' '; //赋值用=,==是逻辑运算符
return in;
break;
}
}
printf("No Answer!\n");
}
int main()
{
//char in[40]; //重复定义,将你前面定义的全局变量作用域减少了一块
//char func[999]; //等于两个不同的变量,你想用全局变量来传递数值的目的泡汤了
printf("请输入一个字符串\n");
gets(in);
if(in[strlen(in)-1]!='.')
{
printf("[ERROR]结尾未找到句号!\n");
system("PAUSE");
return 0;
}
else
{
printf("请选择编辑功能:\nD:删除一个字符,命令的方式为:D a 其中a为被删除的字符\nI:插入一个字符,命令的格式为:I a1 a2 其中a1表示插入到指定字符前面,a2表示将要插入的字符。\nR:替换一个字符,命令格式为:R a1 a2 其中a1为被替换的字符,a2为替换的字符,若在原串中有多个a1,则应全部替换 \n");
gets(func);
//printf("%c",func[0]);
if(WhichFunc()== -1)
{
printf("未找到功能!\n");
system("PAUSE");
system("EXIT");
}
else if(WhichFunc()== 0)
{
printf("%s \n",D(func[2]));
system("PAUSE");
system("EXIT");
}
}
}