C语言问题.急!
发布网友
发布时间:2022-04-20 03:58
我来回答
共3个回答
热心网友
时间:2022-05-13 02:47
还原需要16次,不是20次,源码和输出结果如下:
/****************************
模拟洗牌-完美洗牌法
****************************/
void main()
{
int i,j;
int a[52],b[52];
char poker[52][4]={
" AH"," 2H"," 3H"," 4H"," 5H"," 6H"," 7H"," 8H"," 9H","10H"," JH"," QH"," KH",
" AC"," 2C"," 3C"," 4C"," 5C"," 6C"," 7C"," 8C"," 9C","10C"," JC"," QC"," KC",
" AD"," 2D"," 3D"," 4D"," 5D"," 6D"," 7D"," 8D"," 9D","10D"," JD"," QD"," KD",
" AS"," 2S"," 3S"," 4S"," 5S"," 6S"," 7S"," 8S"," 9S","10S"," JS"," QS"," KS"};
for(i=0;i<52;i++) a[i]=i;
for(j=0;j<52;j++)
{
printf("%s ",poker[a[j]]);
if(j%13==12) printf("\n");
}
printf("----\n");
for(i=0;i<16;i++)
{
for(j=0;j<26;j++)
{
b[2*j] = a[j];
}
for(j=26;j<52;j++)
{
b[2*(j-26)+1] = a[j];
}
for(j=0;j<52;j++)
{
printf("%s ",poker[b[j]]);
if(j%13==12) printf("\n");
}
printf("----\n");
for(j=0;j<52;j++) a[j]=b[j];
}
getch();
}
输出结果:
AH 2H 3H 4H 5H 6H 7H 8H 9H 10H JH QH KH
AC 2C 3C 4C 5C 6C 7C 8C 9C 10C JC QC KC
AD 2D 3D 4D 5D 6D 7D 8D 9D 10D JD QD KD
AS 2S 3S 4S 5S 6S 7S 8S 9S 10S JS QS KS
----
AH AD 2H 2D 3H 3D 4H 4D 5H 5D 6H 6D 7H
7D 8H 8D 9H 9D 10H 10D JH JD QH QD KH KD
AC AS 2C 2S 3C 3S 4C 4S 5C 5S 6C 6S 7C
7S 8C 8S 9C 9S 10C 10S JC JS QC QS KC KS
----
AH AC AD AS 2H 2C 2D 2S 3H 3C 3D 3S 4H
4C 4D 4S 5H 5C 5D 5S 6H 6C 6D 6S 7H 7C
7D 7S 8H 8C 8D 8S 9H 9C 9D 9S 10H 10C 10D
10S JH JC JD JS QH QC QD QS KH KC KD KS
----
AH 7D AC 7S AD 8H AS 8C 2H 8D 2C 8S 2D
9H 2S 9C 3H 9D 3C 9S 3D 10H 3S 10C 4H 10D
4C 10S 4D JH 4S JC 5H JD 5C JS 5D QH 5S
QC 6H QD 6C QS 6D KH 6S KC 7H KD 7C KS
----
AH 4C 7D 10S AC 4D 7S JH AD 4S 8H JC AS
5H 8C JD 2H 5C 8D JS 2C 5D 8S QH 2D 5S
9H QC 2S 6H 9C QD 3H 6C 9D QS 3C 6D 9S
KH 3D 6S 10H KC 3S 7H 10C KD 4H 7C 10D KS
----
AH 9H 4C QC 7D 2S 10S 6H AC 9C 4D QD 7S
3H JH 6C AD 9D 4S QS 8H 3C JC 6D AS 9S
5H KH 8C 3D JD 6S 2H 10H 5C KC 8D 3S JS
7H 2C 10C 5D KD 8S 4H QH 7C 2D 10D 5S KS
----
AH 5H 9H KH 4C 8C QC 3D 7D JD 2S 6S 10S
2H 6H 10H AC 5C 9C KC 4D 8D QD 3S 7S JS
3H 7H JH 2C 6C 10C AD 5D 9D KD 4S 8S QS
4H 8H QH 3C 7C JC 2D 6D 10D AS 5S 9S KS
----
AH 3H 5H 7H 9H JH KH 2C 4C 6C 8C 10C QC
AD 3D 5D 7D 9D JD KD 2S 4S 6S 8S 10S QS
2H 4H 6H 8H 10H QH AC 3C 5C 7C 9C JC KC
2D 4D 6D 8D 10D QD AS 3S 5S 7S 9S JS KS
----
AH 2H 3H 4H 5H 6H 7H 8H 9H 10H JH QH KH
AC 2C 3C 4C 5C 6C 7C 8C 9C 10C JC QC KC
AD 2D 3D 4D 5D 6D 7D 8D 9D 10D JD QD KD
AS 2S 3S 4S 5S 6S 7S 8S 9S 10S JS QS KS
----
AH AD 2H 2D 3H 3D 4H 4D 5H 5D 6H 6D 7H
7D 8H 8D 9H 9D 10H 10D JH JD QH QD KH KD
AC AS 2C 2S 3C 3S 4C 4S 5C 5S 6C 6S 7C
7S 8C 8S 9C 9S 10C 10S JC JS QC QS KC KS
----
AH AC AD AS 2H 2C 2D 2S 3H 3C 3D 3S 4H
4C 4D 4S 5H 5C 5D 5S 6H 6C 6D 6S 7H 7C
7D 7S 8H 8C 8D 8S 9H 9C 9D 9S 10H 10C 10D
10S JH JC JD JS QH QC QD QS KH KC KD KS
----
AH 7D AC 7S AD 8H AS 8C 2H 8D 2C 8S 2D
9H 2S 9C 3H 9D 3C 9S 3D 10H 3S 10C 4H 10D
4C 10S 4D JH 4S JC 5H JD 5C JS 5D QH 5S
QC 6H QD 6C QS 6D KH 6S KC 7H KD 7C KS
----
AH 4C 7D 10S AC 4D 7S JH AD 4S 8H JC AS
5H 8C JD 2H 5C 8D JS 2C 5D 8S QH 2D 5S
9H QC 2S 6H 9C QD 3H 6C 9D QS 3C 6D 9S
KH 3D 6S 10H KC 3S 7H 10C KD 4H 7C 10D KS
----
AH 9H 4C QC 7D 2S 10S 6H AC 9C 4D QD 7S
3H JH 6C AD 9D 4S QS 8H 3C JC 6D AS 9S
5H KH 8C 3D JD 6S 2H 10H 5C KC 8D 3S JS
7H 2C 10C 5D KD 8S 4H QH 7C 2D 10D 5S KS
----
AH 5H 9H KH 4C 8C QC 3D 7D JD 2S 6S 10S
2H 6H 10H AC 5C 9C KC 4D 8D QD 3S 7S JS
3H 7H JH 2C 6C 10C AD 5D 9D KD 4S 8S QS
4H 8H QH 3C 7C JC 2D 6D 10D AS 5S 9S KS
----
AH 3H 5H 7H 9H JH KH 2C 4C 6C 8C 10C QC
AD 3D 5D 7D 9D JD KD 2S 4S 6S 8S 10S QS
2H 4H 6H 8H 10H QH AC 3C 5C 7C 9C JC KC
2D 4D 6D 8D 10D QD AS 3S 5S 7S 9S JS KS
----
AH 2H 3H 4H 5H 6H 7H 8H 9H 10H JH QH KH
AC 2C 3C 4C 5C 6C 7C 8C 9C 10C JC QC KC
AD 2D 3D 4D 5D 6D 7D 8D 9D 10D JD QD KD
AS 2S 3S 4S 5S 6S 7S 8S 9S 10S JS QS KS
----
热心网友
时间:2022-05-13 04:05
A、B、C为数组
---------------------------------
A(16)把第一行和第二行导入
B(16)把第三行和第四行导入
C(32)1:取A(2-16)内数值各位移一位,填入
2:取B(1-15)内数值,填入剩余位置
A的位置+1就行,B的位置*2
然后在把C中1-16导入A,把17-32导入B
-----------------------------------
以上就是完成了一次洗牌,的基本算法了。然后循环
是否经过20次就还原,就不知道了。我没仔细算过。细节部分自己注意吧!
热心网友
时间:2022-05-13 05:39
void main()
{
int i,j;
int a[52],b[52];
char poker[52][4]={
" AH"," 2H"," 3H"," 4H"," 5H"," 6H"," 7H"," 8H"," 9H","10H"," JH"," QH"," KH",
" AC"," 2C"," 3C"," 4C"," 5C"," 6C"," 7C"," 8C"," 9C","10C"," JC"," QC"," KC",
" AD"," 2D"," 3D"," 4D"," 5D"," 6D"," 7D"," 8D"," 9D","10D"," JD"," QD"," KD",
" AS"," 2S"," 3S"," 4S"," 5S"," 6S"," 7S"," 8S"," 9S","10S"," JS"," QS"," KS"};
c语言的问题。。。急!!!
如果a[i]%2 == 0,c+=a[i];否则:a++,b+=a[i],c+=a[i];最后:奇数的平均值就是:b/a 偶数的平均值是:(c-b)/(n-a)
C语言 在线等,挺急的
第一题 include <stdio.h>int main (void) {int i;float f,sum;for (i=1, sum=0.0; i<11; i++) {scanf ("%f",&f);sum+=f;}sum/=10;printf ("%f\n",sum); return 0;}运行结果 第二题 include <stdio.h>#define PI 3.14159int main (void) {float r,s;printf ("...
C语言结构体与链表问题【急】【急】【急】【急】【急】【急】【急...
首先回答第一个问题,程序当中存在以下这几个问题:(1) char name[ ]中的数组name没有指定大小,此处可以定义为name[20](2) p = stu也有错误,应该将结构体的首地址赋给指针p,从而使p指向该结构体。正确的写法是:p = &stu;(3) (*p).name = "Mary"也有错误,此处不能这么赋值。正确的...
C语言作业,急急急求解答
这个问题可能是由于软件代码中存在大量的冗余、重复计算或者低效算法等因素导致的。另外,如果软件需要加载大量的数据或者进行网络连接,则也会影响其启动速度。解决方案:为了解决这个问题,我们可以从以下几个方面入手:1.优化程序代码:检查程序中是否存在冗余、重复计算或者低效算法等因素,对代码进行优化和精...
C语言问题,急
逗号运算符。先执行括号内的表达式。a=4*5=20 a*2=40 表达式a=4*5,a*2的值是40,且a的值是20 a+6=20+6=26 逗号运算符,最后一个表达式的值就是整个表达式的值。表达式(a=4*5,a*2),a+6的值是26。
c语言小题目。急急急
main(){int a[10],i,j,k,t;for(i=0;i<10;i++) scanf("%d",&a[i]);for(i=0;i<9;i++){k=i;for(j=i+1;j<10;j++)if(a[j]<a[k]) k=j;if(k!=i){t=a[k];a[k]=a[i]; a[i]=t;} } for(i=0;i<10; i++)printf("%5d",a[i]);} 2. 计算正负...
C语言高手帮忙啊!急!!!
;while(p!=NULL){ printf("%d,",p->data);p=p->next;} } void main(){ linklist *L;L=CREAT();LENGTH(L);OUT(L);} 该程序在turboc2.0上运行成功。顺便说一下:其实我这学期刚学《数据结构》,我想你也应该在学这门课吧,不知道可否交个朋友,以后好互相讨教。QQ:729430705 ...
c语言问题求写程序 急!!!急!!!
include <stdio.h> main(){ int num,g,s,b;scanf("%d",&num);if(num<100||num>999)printf("error!\n");else { g=num%10;s=num/10%10;b=num/100;printf("%d %d %d\n",g,s,b);} }
急!急!简单c语言编程题,求编写代码
h>void fun(int n){ int i,j,k,t;for(k=0;k<n;k++)//控制总行数{ for(i=0;i<n-k-1;i++)//控制输出空格,因为空格不好看见,就用*代替 printf("%c",'*'); for(j=0;j<2*k+1;j++)//控制输出字母 { printf("%c",65+j); } printf...
一些C语言的问题,很紧急,非常感谢您能回答!!!
1.下列关于C语言特点的描述,不正确的是 C 。A)C语言兼有高级语言和低级语言的双重特点,执行效率高 B)C语言可以用来编写应用程序,又可用以编写系统软件 C)C语言的可移植性较差 D)C语言是一种结构式模块化程序设计语言 2.下列叙述中正确的是 A 。A) C语言程序总是从main函数开始...