c语言代码补全,大佬们帮个忙,谢谢

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-01
C语言补充代码求大佬帮忙!!

这个是用指针形式进行,但是实际上,每一个指针的值就是对应一个字符的,因此可以通过字符比较就OK
而字符串结尾应该是\0以这个为遍历查询字符串的终止条件应该就好了,而指针每做+1,其实就是访问下一个字符的地址,取出内容就是下一个字符了

一下代码手机打的,建议看看,有问题请追问

int fun(char* *str, char *substr)
{
char *p=str;
int count=0;
while((*p)!='\0')
{
if((*p==*substr)&&(*(p+1)==*(substr+1))
count++;
p=p+1;
}
return count;
}

这段代码是你自己写的吗?我感觉问题很大,首先你guess不传入player然后又没有一个全局变量去记录猜的数,或者你在guess里面static int x也行,然后你的初始化A=M就相当于开局就是4A0B,也就是猜到了,都猜到了还怎么进行下面的步骤?
归根到底还是要用枚举法去分析
我写了一份4位的分析你看着优化和转换吧
(1)1234
(2)5876
(3)8406
(4)3579
(5)0192

4-(1)-(2)的数字为9,0中的个数。
4-(2)-(5)的数字为3,4中的个数
4-(4)-(3)的数字为1,2中的个数。
(2)和(4)
如果都是(1,0)则0127且7位置正确(1-0)
如果(4)的A+B是0
(2)如果是0则1240 4个数(1-1)
(2)如果是1 6,8有一个(1-2)
(2)如果是2 6,8都是(1-3)
如果(4)的A+B是1
(2)如果是0则3,9有一个(1-4)
(2)如果是1则5,7有一个或者6,8 3,9各有一个(1-5)
(2)如果是2则5,7有一个6,8有一个或者6,8都是 3,9有一个(1-6)
如果(4)的A+B是2
(2)如果是0则3,9都是(1-7)
(2)如果是1则5,7有一个3,9有一个或者3,9都是 6,8有一个(1-8)
(2)如果是2则5,7都是或者3689 4个数(1-9)
(2)和(3)
如果都是(1,0)则1236且6位置正确(2-0)
如果(3)的A+B是0
(2)如果是0则1239 4个数(2-1)
(2)如果是1 5,7有一个(2-2)
(2)如果是2 5,7都是(2-3)
如果(3)的A+B是1
(2)如果是0则0,4有一个(2-4)
(2)如果是1则6,8有一个或者0,4 5,7各有一个(2-5)
(2)如果是2则6,8有一个5,7有一个或者5,7都是 0,4有一个(2-6)
如果(3)的A+B是2
(2)如果是0则0,4都是(2-7)
(2)如果是1则6,8有一个0,4有一个或者0,4都是 5,7有一个(2-8)
(2)如果是2则6,8都是或者0457 4个数(2-9)
我们把(1,A)且(2,B)记作(A,B)
(0,x)
通过(1)(5)(3)猜一次
(1,x)
通过(1)(5)(3)猜2次
(x,0)
通过(1)(5)(4)猜一次
(x,1)
通过(1)(5)(4)猜2次
(3,7)
0468
(3,9)
1268
(7,7)
0349
(9,9)
5678
猜两次
(2,7)
(4,4)
(4,7)
(5,8)
(6,6)
(6,9)
(8,8)
若(5,5)则(5)改为0745之后猜2次

改好的参考#include <stdio.h>
int main()
{
int max(int x,int y,int z); //定义了4个参数,调用时只给了3个,当然要错的

int a,b,c,d;
printf("请输入要比较的三个数,以空格隔开:\n");
scanf("%d %d %d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
return 0;
}
int max(int x,int y,int z)
{
// int l; 这个l没有意义,你没有给赋值
int o; //加个变量
if(x>y)o=x;
else o=y;
if(y>z)o=y;
else o=z;
if(x>z)o=x;
else o=z;
system("PAUSE");
return (o); //返回改o
}

C语言比较三个数字的大小。我想问老板我的代码有什么问题。谢谢你,在线等#include<stdio。h> Int main(){Int max(Int x,Int y,Int Z,Int o);Int a,B,C,D;printf;请输入三个数字进行比较,用空格分隔:\n“scanf”(%D%D%D”,a,B,&C);D=max(a,B和C);printf(“max=%D\n”,D);返回0;}int max(int x,int y,int z,int o){int l;如果(x>y)o=x;否则o=y;如果(y>z)o=y,否则o=z;如果(x>z)o=x;其他o=z;系统(“暂停”);返回(l);}

改好的参考#include <stdio.h>
int main()
{
int max(int x,int y,int z); //定义了4个参数,调用时只给了3个,当然要错的

int a,b,c,d;
printf("请输入要比较的三个数,以空格隔开:\n");
scanf("%d %d %d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
return 0;
}
int max(int x,int y,int z)
{
// int l; 这个l没有意义,你没有给赋值
int o; //加个变量
if(x>y)o=x;
else o=y;
if(y>z)o=y;
else o=z;
if(x>z)o=x;
else o=z;
system("PAUSE");
return (o); //返回改o
}

改好的参考#include <stdio.h>
int main()
{
int max(int x,int y,int z); //定义了4个参数,调用时只给了3个,当然要错的

int a,b,c,d;
printf("请输入要比较的三个数,以空格隔开:\n");
scanf("%d %d %d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
return 0;
}
int max(int x,int y,int z)
{
// int l; 这个l没有意义,你没有给赋值
int o; //加个变量
if(x>y)o=x;
else o=y;
if(y>z)o=y;
else o=z;
if(x>z)o=x;
else o=z;
system("PAUSE");
return (o); //返回改o
}

改好的参考#include <stdio.h>
int main()
{
int max(int x,int y,int z); //定义了4个参数,调用时只给了3个,当然要错的

int a,b,c,d;
printf("请输入要比较的三个数,以空格隔开:\n");
scanf("%d %d %d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
return 0;
}
int max(int x,int y,int z)
{
// int l; 这个l没有意义,你没有给赋值
int o; //加个变量
if(x>y)o=x;
else o=y;
if(y>z)o=y;
else o=z;
if(x>z)o=x;
else o=z;
system("PAUSE");
return (o); //返回改o
}

  • c语言代码补全,大佬们帮个忙,谢谢
    答:改好的参考#include <stdio.h> int main(){ int max(int x,int y,int z); //定义了4个参数,调用时只给了3个,当然要错的 int a,b,c,d;printf("请输入要比较的三个数,以空格隔开:\n");scanf("%d %d %d",&a,&b,&c);d=max(a,b,c);printf("max=%d\n",d);return 0;...
  • c语言,老哥们帮个忙,写下这个程序
    答:int main() { const int DATASIZE=10;//输入的数据量 int num[DATASIZE],tmp;for (int i = 0; i < DATASIZE; i++){ scanf("%d", &num[i]);//录入数据 } for (int i = 1; i < DATASIZE; i++)//排序 { for (int j = i; j > 0; j--){ if (num[j] < num[j -...
  • C语言编程,麻烦大佬帮个忙,急急急
    答:1.程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后 此元素之后的数,依次后移一个位置。2.程序源代码:include "stdio.h"include "conio.h"main(){ int a[11]={1,4,6,9,13,16,19,28,40,100};int temp1,temp2,number,end,i,j;printf("original array...
  • 求大虾帮个忙,写个用C语言的程序,小弟感激不尽!
    答:include <stdio.h> void main(){ int type=1;float foot1,inch1,m1;printf("请输入转换关系:1.英寸转换为米、2.米转换为英寸\n");scanf("%d",&type);if(type==1){ printf("请输入英尺、英寸:\n");scanf("%f%f",&foot1,&inch1);m1=(foot1*12+inch1)*2.54/100;printf("%g英...
  • C语言编程,麻烦大佬帮个忙,急急急
    答:0) can7 = 1; //能被7整除 switch(can3 + can5 + can7) {case 3: //同时被3,5,7整除 break;case 2:if(can3 == 0) printf("5 7");else if(can5 == 0) printf("3 7");else printf("3 5");break;case 1:if(can3) printf("3");else if(can5) printf("5")...
  • C语言高手进来帮个忙,谢谢
    答:4网上太多,我也做不来呵呵.3用个2维数组,对角线就是a[i++][i++]和a[i++][j--]2个序列的和(i=0,j=2).代码你自己研究看看?2.代码如下:void getL(char* p){ char* t=p;while(*t!='\0')*t>0x40&&*t<0x5B?*t+=0x20,t++:t++;} 1.代码如下:include <stdio.h> inclu...
  • 来个c语言大神帮个忙,真心谢谢
    答:代码如下:#include <stdio.h>#include <stdlib.h>int main(int argc,char *argv[]){ int dama,zhongma,xiaoma; int huowu; for(dama = 0; dama <= 100; dama++) //大马从0到100循环 { for(zhongma = 0; zhongma <= 100 - dama; zhongma++) //中马从0到100-...
  • c语言程序,帮个忙!回答就有分
    答:你这代码一个循环就可以了,不需要多个循环,只需要在循环中进行数据的判断就可以了 int sn=0,i;for( i=1;i<=10000;i++ ){ if ( i%7==0 )continue;if ( i%2 )sn += i ;else sn -= i ;}
  • 各位C语言大佬啊帮个忙呀这是老师上课布置的上机作业求答案
    答:include <stdio.h>int check(char ch){if(ch>='a'&&ch<='z') return (ch-'a'+1);else if(ch>='A'&&ch<='Z') return (ch-'A'+1);else return -1;}void main(){char ch;scanf("%c",&ch);printf("%d",check(ch));} ...
  • C语言高手来帮个忙
    答:我的测试结果:./main请输入4个数据1 2 3 44 3 2 1$ ./main请输入4个数据2 1 4 34 3 2 1 附上代码:include <stdio.h>#define swap(x, y) ((x)=(x)+(y),(y)=(x)-(y),(x)=(x)-(y))int main(int argc,char **argv){ int data[4]; int i,j; printf...