解题思路:
注意事项:
参考代码:
#include <iostream> #include <algorithm> using namespace std; int jdj(int*y,int*x)//为“几等奖”的拼音,高大上的含数 (语文老师:你可千万别说语文是我教的){ int z[8],tj=0;//中奖统计 for(int ii=1;ii<=7;ii++) z[ii]=y[ii];//为保证源数据不变,定义新数据并赋值 for(int ii=1;ii<=7;ii++) for(int j=1;j<=7;j++) if(x[ii]==z[j])//如果有号码相等,则判定为中奖 { tj++;//别忘了,几等奖就有七减几个数对应 z[j]=-1;//这个非常非常重要!要不然你会被这种数据卡:中奖:1 2 3 4 5 6 7,小明:1 1 1 1 1 1 1,明显应为六等奖,但若无这句,就为特等奖 break;//不break会导致tj为负数(有可能) } return 7-tj;//中奖回馈,7为未中奖,0为特等奖 } int main(){ int n; cin>>n; int a[8],c[8];//a为中奖号码,c是中奖情况 (b作为循环变量了qwq) for(int i=1;i<=7;i++)//读入中奖号码 { cin>>a[i]; c[i]=0; } for(int i=1;i<=n;i++) { int b[8];//b是小明选的号码 for(int j=1;j<=7;j++)//读入小明选的号码 cin>>b[j]; sort(b+1,b+8);//最好用的sort排序 int m=jdj(a,b);//求几等奖 if(7-m)c[m+1]++;//存入对应数组 } for(int i=1;i<=7;i++)//输出中奖情况 cout<<c[i]<<' '/*这个空格不能少,要不然你就全哇(WA)了*/; return 0;//大功告成 }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:640 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1550 |
矩阵乘法 (C++代码)浏览:1662 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1072 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:606 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1186 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:1024 |
【蟠桃记】 (C语言代码)浏览:1084 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:350 |
循环入门练习5 (C语言代码)浏览:908 |