打印沙漏
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x=0,y=0;
char c;
cin>>n>>c;
x=sqrt((n+1)/2);
y=x-1;
for(int i=x;i>=1;i--){
for(int j=x-i;j>=1;j--)
cout<<" ";
for(int k=2*i-1;k>=1;k--)
cout<<c;
cout<<endl;
}
for(int i=1;i<=y;i++){
for(int j=y-i;j>=1;j--)
cout<<" ";
for(int k=1;k<=2*i+1;k++)
cout<<c;
cout<<endl;
}
n=n-(2*x*x-1);
cout<<n;
return 0;
}
连续因子
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int ans1=0,ans2=0;
for(int i=2;i<sqrt(n);i++){
int temp=n;
int x=i;
int len=0;
while(temp%x==0&&temp!=0){
len++;
temp=temp/x;
x++;
}
if(len>ans1){
ans1=len;
ans2=i;
}
}
if(ans1==0)cout<<1<<endl<<n<<endl;
else {
cout<<ans1<<endl;
for(int i=ans2;i<ans1+ans2;i++){
if(i>ans2)cout<<"*";
cout<<i;
}
}
return 0;
}
N个数求和
#include<stdio.h>
int com_div(long long x,long long y)
{
int tmp = 0;
while(tmp=x%y)
{
x=y;
y=tmp;
}
return y;
}
int main()
{
int n = 0;
scanf("%d",&n);
int i = 0;
long long a = 0;
long long b = 0;
long long suma = 0;
long long sumb = 0;
for(i=0;i<n;i++)
{
scanf("%lld/%lld",&a,&b);
if(suma==0)
{
suma=a;
sumb=b;
}
else
{
suma=suma*b+a*sumb;
sumb=sumb*b;
}
int max=com_div(suma,sumb);
suma/=max;
sumb/=max;
}
if(suma && (suma/sumb==0))
{
printf("%lld/%lld",suma,sumb);
}
else if(suma%sumb==0)
{
printf("%lld",suma/sumb);
}
else
{
printf("%lld %lld/%lld",suma/sumb,suma%sumb,sumb);
}
return 0;
}
查验身份证
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a[18]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2},x=0,y=0,sum=0;
char b[11]={'1','0','X','9','8','7','6','5','4','3','2'};
string s;
cin>>n;
getchar();
while(n--){
getline(cin,s);
sum=0,x=0;
for(int i=0;i<s.size()-1;i++){
if(s[i]<'0'||s[i]>'9'){x=1;
break;}
else sum=sum+(s[i]-'0')*a[i];
}
sum=sum%11;
if(s[17]!=b[sum]||x==1){y=1;cout<<s<<endl;}
}
if(y==0)cout<<"All passed";
return 0;
}
到底有多二
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
int x=0,y=0,n=0,d=0;
cin>>s;
if(s[0]=='-')x=1;
if((s[s.size()-1]-'0')%2==0)y=1;
for(int i=0;i<s.size();i++)
if(s[i]=='2')n++;
d=s.size();
if(x)d=d-1;
double sum=0;
sum=n*1.0/d;
if(x==1&&y==0)sum=sum*1.5;
if(x==0&&y==1)sum=sum*2.0;
if(x==1&&y==1)sum=sum*3.0;
printf("%.2lf%%",sum*100);
return 0;
}
正整数A+B
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a,b,c;
int a1=0,b1=0,x=0,y=0;
cin>>a>>b;
if(cin>>c)y=1;
if(a[0]=='0')x=1;
if(b[0]=='0')y=1;
for(int i=0;i<a.size();i++){
if(isdigit(a[i])==0)x=1;
else a1=a1*10+(a[i]-'0');
}
for(int i=0;i<b.size();i++){
if(isdigit(b[i])==0)y=1;
else b1=b1*10+(b[i]-'0');
}
if(a1>1000)x=1;
if(b1>1000)y=1;
if(x==1)cout<<"?";
else cout<<a1;
cout<<" + ";
if(y==1)cout<<"?";
else cout<<b1;
cout<<" = ";
if(x==1||y==1)cout<<"?";
else cout<<a1+b1;
return 0;
}
帅到没朋友
#include<stdio.h>
int main()
{
int search[100000]={0};
int N,i,j,q,x,c,t,flag=0;
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%d",&c);
for(j=0;j<c;j++)
{scanf("%d",&t);
if(c!=1)
search[t]++;}
}
scanf("%d",&q);
for(i=0;i<q;i++)
{
scanf("%d",&x);
if(search[x]==0&&search[x]!=-1)
{
if(flag>0)
printf(" %05d",x);
else
printf("%05d",x);
search[x]=-1;
flag++;
}
}
if(flag==0)
printf("No one is handsome\n");
}
判断素数
#include<bits/stdc++.h>
using namespace std;
int isprime(int x){
int f=0;
if(x==1)f=1;
for(int i=2;i<sqrt(x);i++){
if(x%i==0)f=1;
}
return f;
}
int main()
{
int n,x;
cin>>n;
for(int i=0;i<n;i++){
cin>>x;
if(isprime(x))cout<<"No\n";
else cout<<"Yes\n";
}
}
出生年
#include<bits/stdc++.h>
using namespace std;
int b[5005];
int main()
{
int y,n;
int a[4];
cin>>y>>n;
int z=y;
while(1){
a[0]=y/1000;
a[1]=y%1000/100;
a[2]=y%100/10;
a[3]=y%10;
int x=0;
for(int i=0;i<4;i++)
b[a[i]]=1;
for(int i=0;i<10;i++)
if(b[i]==1)x++;
if(x==n)break;
for(int i=0;i<10;i++)
b[i]=0;
y++;
}
cout<<y-z;
printf(" %04d",y);
return 0;
}
出租
#include<stdio.h>
#include<string.h>
int main()
{
int phone[11];//存放手机号码
int a[10],b[10];//a[]统计号码数字;b[]要将a[]的数字从倒小排列
int i,j=0,k=0;
memset(a,-1,sizeof(a));
memset(b,-1,sizeof(b));
char s[11];
scanf("%s",s);
for(i=0;i<11;i++)
{
phone[i]=s[i]-'0';
a[phone[i]]++;
}
printf("int[] arr = new int[]{");
for(i=9;i>=0;i--)
{
if(a[i]>=0)
{
b[j++]=i;//将号码从大到小重新排列,放入新数组中
k++;
}
}
for(i=0;i<k;i++)
{
printf("%d",b[i]);
if(i<k-1) printf(",");//格式,末尾不带逗号
}
printf("};\nint[] index = new int[]{");
for(j=0;j<11;j++)
{
for(i=0;i<10;i++)
{
if(phone[j]==b[i])//判断号码数在新数组的位置
{
printf("%d",i);
break;
}
}
if(j<10) printf(",");
else printf("};");
}
return 0;
}
Left-pad
#include <bits/stdc++.h>
using namespace std;
char a[100000];///数组来储存字符
int main()
{
int n;
char c;
cin>>n;///个数
getchar();///吃回车
cin>>c;
getchar();
cin.get(a,100000);///c11 标准中个gtes函数已经删除 所以用了cin.get
int len=strlen(a);
if(len>=n)
{
for(int i=len-n; a[i]; i++)
{
cout<<a[i];
}
}
else
{
for(int i=0; i<n-len; i++)///字符补齐
{
cout<<c;
}
cout<<a<<endl;
}
return 0;
}
点赞
#include<stdio.h>
int Character[1001];
int main()
{
int N;
scanf("%d",&N);
while(N--)
{
int n;
scanf("%d",&n);
while(n--)
{
int id;
scanf("%d",&id);
Character[id]++;
}
}
int max=0;
for(int i=0;i<1001;i++)
{
if(Character[i]>max)
max=Character[i];
}
int maxid=0;
for(int i=0;i<1001;i++)
{
if(Character[i]==max)
{
if(i>maxid)
maxid=i;
}
}
printf("%d %d",maxid,max);
return 0;
}
古风排版
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
string s;
cin>>n;
getchar();
getline(cin,s);
if(s.size()%n==0)k=s.size()/n;
else k=s.size()/n+1;
for(int i=s.size();i<n*k;i++){
s=s+" ";
}
// cout<<s;通过这里可以检验你的字符串有没有达到预想效果;
for(int i=0;i<n;i++){
for(int j=s.size()-1;j>=0;j--){
if(j%n==i)cout<<s[j];
}
cout<<endl;
}
return 0;
}
阅览室
#include<stdio.h>
int main()
{
int i=1,n;
scanf("%d",&n);
int se[1001]={0};//se[]用来自动忽略这种无效纪录
char op;
int book,hour,min;
int sum=0,sumtime=0;
int hour1[1001]={0},min1[1001]={0};//用于此次书号借的时间
int hour2[1001]={0},min2[1001]={0};//用于此次书号还的时间
//其实可以不用那么多数组,但是当时脑子短路了,就这么着吧
while(i<=n)//因为没说过到底有几条所以还是用while好一些
{
scanf("%d %c %d:%d",&book,&op,&hour,&min);
if(book==0) //一天的结束
{
i++;
if(sum!=0)
{
printf("%d %.0f\n",sum,1.0*sumtime/sum);
}
else if(sum==0) printf("0 0\n");//万一没人借书,除0就变成了段错误。
sum=0;
sumtime=0;//每次的人数和时间重置
continue;
}
if(op=='S')
{
hour1[book]=hour;
min1[book]=min;
se[book]=1;
}
if(se[book]==1&&op=='E')
{
hour2[book]=hour;
min2[book]=min;
se[book]=0;
sum++;
sumtime+=(hour2[book]-hour1[book])*60+min2[book]-min1[book];
//他要求都是分钟那就都用分钟来算
}
}
}
整除光棍
#include<stdio.h>
int main()
{
int x = 0;
scanf("%d",&x);
int n = 1;
int count = 1;
while(n<x)
{
n=n*10+1;
count++;
}
while(1)
{
printf("%d",n/x);
n=n%x;
if(n==0)
{
break;
}
else
{
n=n*10+1;
count++;
}
}
printf(" %d",count);
return 0;
}
矩阵A乘以B
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x,y,s;
cin>>x>>y;
int a[x][y];
for(int i=0;i<x;i++)
for(int j=0;j<y;j++)
cin>>a[i][j];
int m,n;
cin>>m>>n;
int b[m][n];
int c[x][n];
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
cin>>b[i][j];
if(y!=m)cout<<"Error: "<<y<<" != "<<m;
else {
for(int i=0;i<x;i++){
for(int j=0;j<n;j++){
s=0;
for(int k=0;k<y;k++){
s=s+a[i][k]*b[k][j];
}
c[i][j]=s;
}
}
cout<<x<<" "<<n<<endl;
for(int i=0;i<x;i++){
for(int j=0;j<n;j++){
if(j!=0)cout<<" ";
cout<<c[i][j];
}
cout<<"\n";
}
}
return 0;
}
天梯赛座位分配
#include<stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
int num[101] = { 0 };
int i = 0;
int max = 0;
int id = 0;
int pos[101][11][11] = { 0 };
int pre = 0;
//输入各高校队伍数并求出最大的队伍数
for (i = 1; i <= n; i++)
{
scanf("%d", &num[i]);
max = num[i] > max ? num[i] : max;
}
//编号
int j = 0;
for (j = 1; j <= max; j++)
{
int k = 0;
for (k = 1; k <= 10; k++)
{
for (i = 1; i <= n; i++)
{
if (j <= num[i])
{
//同一个学校隔位坐
if (pre == i)
{
id += 2;
}
else
{
//不同学校正常坐
id += 1;
}
pre = i;
pos[i][j][k] = id;
}
}
}
}
//打印编号信息
for (i = 1; i <= n; i++)
{
printf("#%d\n", i);
for (j = 1; j <= num[i]; j++)
{
int k = 0;
for (k = 1; k <= 10; k++)
{
if (k != 10)
{
printf("%d ", pos[i][j][k]);
}
else
{
printf("%d\n", pos[i][j][k]);
}
}
}
}
return 0;
}
倒数第N个字符串
#include<stdio.h>
#include<math.h>
int main()
{
int l = 0;
int n = 0;
scanf("%d %d",&l,&n);
int m = pow(26,l)-n;
int i = 0;
int arr[10]={0};
for(i=0;i<l;i++)
{
arr[i]=m%26;
m/=26;
}
for(i=l-1;i>=0;i--)
{
printf("%c",'a'+arr[i]);
}
return 0;
}
猜数字
#include<bits/stdc++.h>
using namespace std;
struct xx{
string a;
int b;
}s[10005];
int main(){
int n,i,c=0,y=100;string x;
cin>>n;
for(i=0;i<n;i++){
cin>>s[i].a>>s[i].b;
c+=s[i].b;
}
c/=(2*n);
for(i=0;i<n;i++){
if(abs(s[i].b-c)<y){y=abs(s[i].b-c);x=s[i].a;}
}cout<<c<<' '<<x;
return 0;
}
6翻了
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
getline(cin,s);
for(int i=0;s[i];i++)
{
if(s[i]!='6') cout<<s[i];
else
{
int t=0,j;
for(j=i;s[j];j++)
{
if(s[j]=='6') t++;
else break;
}
if(t<=3) {
cout<<s[i];
continue;
}
else if(t>3&&t<=9) cout<<"9";
else if(t>9) cout<<"27";
i=j-1;
}
}
return 0;
}
估值一亿的AI核心代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
string s;
cin>>n;
getchar();
while(getline(cin,s)){
cout<<s<<endl<<"AI: ";
s=regex_replace(s,regex(R"(\s+)")," ");
s=regex_replace(s,regex(R"(^\s+|\s+$|\s+(?=\W))"),"");
s=regex_replace(s,regex(R"(\bI\b)"),"mark_mark");
for(int i=0;i<s.size();i++)
if(s[i]!='I')s[i]=tolower(s[i]);
s=regex_replace(s,regex(R"(\bcan you\b)"),"I can");
s=regex_replace(s,regex(R"(\bcould you\b)"),"I could");
s=regex_replace(s,regex(R"(mark_mark|\bme\b)"),"you");
s=regex_replace(s,regex(R"(\?)"),"!");
cout<<s<<endl;
}
return 0;
}
胎压监测
#include<stdio.h>
int main()
{
int a[4],min,yu,max=0,flag1=0,flag2=0,temp1=0,temp2=0;
for(int i=0;i<4;i++){
scanf("%d",&a[i]);
}
scanf("%d %d",&min,&yu);
for(int i=0;i<4;i++){
if(max<a[i]){
max=a[i];
}//取最大值
}
for(int i=0;i<4;i++){
if(max-a[i]>yu){
flag1++;//判断差值是否在范围内
}
if(flag1==1){
temp1=i+1;//只有一个轮胎阈值不符
flag1=2;//跳出
}
}
for(int i=0;i<4;i++){
if(a[i]<min){
flag2++;//判断轮胎是否低于最小值
}
if(flag2==1){
temp2=i+1;//只有一个轮胎低于最小值
flag2=2;//跳出
}
}
if(flag1==0&&flag2==0){
printf("Normal");
}else if(flag1==2&&flag2==0){
printf("Warning: please check #%d!",temp1);
}else if(flag2==2&&flag1==0){
printf("Warning: please check #%d!",temp2);
}else if(flag2==2&&flag1==2&&temp2==temp1){
printf("Warning: please check #%d!",temp2);
}else if(flag1>2||flag2>2){
printf("Warning: please check all the tires!");
}
return 0;
}
前世档案
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,x,i,y,z;string b;
cin>>n>>m;
x=pow(2,n);
while(m--)
{
cin>>b;
z=1;y=x;
for(i=0;i<b.size();i++){
if(b[i]=='n'){z+=(y/2);}
y/=2;
}
cout<<z<<endl;
}
return 0;
}
刮刮彩票
#include<bits/stdc++.h>
using namespace std;
int main(){
int i,j,x,y,z,a[5][5],x1,y1,c[10]={0},d=0;
int b[20]={10000,36,720,360,80,252,108,72,54,180,72,180,119,36,306,1080,144,1800,3600};
for(i=1;i<=3;i++){
for(j=1;j<=3;j++)
{cin>>a[i][j];
c[a[i][j]]=1;
if(a[i][j]==0){x1=i,y1=j;}
}
}
for(i=1;i<=9;i++)if(c[i]==0)a[x1][y1]=i;
for(i=1;i<=3;i++){
cin>>x>>y;
cout<<a[x][y]<<endl;
}cin>>z;
if(z==1)d=a[1][1]+a[1][2]+a[1][3];
if(z==2)d=a[2][1]+a[2][2]+a[2][3];
if(z==3)d=a[3][1]+a[3][2]+a[3][3];
if(z==4)d=a[1][1]+a[2][1]+a[3][1];
if(z==5)d=a[1][2]+a[2][2]+a[3][2];
if(z==6)d=a[1][3]+a[2][3]+a[3][3];
if(z==7)d=a[1][1]+a[2][2]+a[3][3];
if(z==8)d=a[3][1]+a[2][2]+a[1][3];
cout<<b[d-6];
return 0;
}
吉老师的回归
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
string s;
getchar();
for(int i=0;i<n;i++){
getline(cin,s);
if(s.find("qiandao")!=-1||s.find("easy")!=-1);
else {m--;}
if(m==-1){cout<<s;break;}
}
if(m>=0)cout<<"Wo AK le";
return 0;
}
乘法口诀数列
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,n,i=0,x;string s;
cin>>a>>b>>n;
x=n;
s+=to_string(a);s+=to_string(b);
while(n--){
s+=to_string((s[i]-'0')*(s[i+1]-'0'));
i++;
}
for(int j=0;j<x;j++){
if(j)cout<<' ';
cout<<s[j];
}
return 0;
}
机工士姆斯塔迪奥
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 1000010;
int st[N];
int main()
{
int n, m, t;
cin >> n >> m >> t;
for (int i = 1; i <= n * m; i ++ ) st[i] = true;
while(t -- )
{
int a, b;
cin >> a >> b;
if (a == 0)
for (int i = (b - 1) * m + 1, j = 1; j <= m; j ++, i ++) st[i] = false;
else
for (int i = b, j = 1; j <= n; j ++, i += m) st[i] = false;
}
int cnt = 0;
for (int i = 1; i <= n * m; i ++ )
if (st[i]) cnt ++;
cout << cnt << endl;
return 0;
}
静静的推荐
#include<iostream>
using namespace std;
int main() {
int N, K, S; cin >> N >> K >> S;
// mp记录当前0~290分的人数,如果大于了K就不能继续增加
// 原因:1. 同一批推荐名单上的学生的成绩原则上应严格递增
// 2 .一共接受 K 批次的推荐名单
// 所以同一分数的(不含特殊情况(参加过 PAT 考试且且成绩达到了该企业的面试分数线))
// 因为递增,所以不能为同一批且最大批次为K
int cnt = 0, mp[291] = {0};
for(int i=0; i<N; i++) {
int tts, pat; cin >> tts >> pat;
// 1. 只考虑得分不低于 175 分的学生;
if(tts < 175) continue;
if(pat >= S) cnt++;
else if(mp[tts] < K) cnt++, mp[tts]++;
}
cout << cnt << endl;
return 0;
}
判断题
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,c,sum=0;
cin>>n>>m;
int a[m],b[m];
for(int i=0;i<m;i++)
cin>>a[i];
for(int i=0;i<m;i++)
cin>>b[i];
for(int i=0;i<n;i++){
sum=0;
for(int j=0;j<m;j++){
cin>>c;
if(c==b[j])sum=sum+a[j];
}
cout<<sum<<endl;;
}
return 0;
}
谷歌的招聘
#include <bits/stdc++.h>
using namespace std;
bool isprime(int n)
{
if(n<=1)
{
return false;
}
for(int i=2;i*i<=n;i++)
{
if(n%i==0)
{
return false;
}
}
return true;
}
int main()
{
int n,m;
string str;
scanf("%d %d",&n,&m);
cin>>str;
for(int i=0;i<=n-m;i++)
{
string t=str.substr(i,m);
int num=stoi(t);
if(isprime(num))
{
cout<<t<<endl;return 0;
}
}
cout<<"404"<<endl;
return 0;
}
编程团体赛
#include <iostream>
using namespace std;
int main() {
int n, t, num, score;
cin >> n;
int team[1001] = {0};
for (int i = 1; i <= n; i++) {
scanf("%d-%d %d", &t, &num, &score);
team[t] += score;
}
int max = 0;
for (int i = 0; i < 1001; i++) {
if (team[max] < team[i])
max = i;
}
cout << max << " " << team[max];
return 0;
}
不变初心数
#include<bits/stdc++.h>
using namespace std;
int jie(int x){
int sum1=0;
do{
sum1=sum1+x%10;
x=x/10;
}
while(x);
return sum1;
}
int main()
{
int n;
int sum=0,y=0,b,x,i,z;
cin>>n;
while(n--){
sum=0;
y=0;
b=0;
z=0;
cin>>x;
sum=jie(x);
for(i=2;i<=9;i++){
y=i*x;
if(sum!=jie(y)){z=1;
break;}
}
if(z==1)cout<<"NO\n";
else cout<<sum<<endl;
}
return 0;
}
字母串
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x=0,i;string s;
cin>>n;
getchar();
while(n--){
x=0;
getline(cin,s);
for( i=0;i<s.size()-1;i++){
if((s[i]>='a'&&s[i]<='z'&&s[i+1]==s[i]-32)||(s[i]>'a'&&s[i]<='z'&&s[i+1]==s[i]-1))continue;
else if((s[i]>='A'&&s[i]<='Z'&&s[i+1]==s[i]+32)||(s[i]>='A'&&s[i]<'Z'&&s[i+1]==s[i]+1))continue;
else {x=1;break;}
}
if(x)cout<<"N\n";
else cout<<"Y\n";
}
return 0;
}
矩阵列平移
#include<stdio.h>
int main()
{
int n,m,k,i,j,p=1,a[100][100],sum=0;
scanf("%d %d %d",&n,&m,&k);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=n-1;i>=0;i--) //从最后一行开始
{
p=1;
for(j=0;j<n;j++)
{
if((j+1)%2==0) //偶数列
{
if(i-p>=0) //判断 a数组中 以i-p为下标的元素是否存在
a[i][j]=a[i-p][j]; //存在 向下移p个单位
else //不存在 添k
a[i][j]=k;
p++; //移动的单位是1、2...p 接着 1、2...p
if((p>m)) //如果数组大 或者m的值小 p接着从1开始
p=1;
}
}
}
for(i=0;i<n;i++) //求每一列的和
{
for(j=0;j<n;j++)
sum+=a[i][j];
if(i<n-1) //控制空格
printf("%d ",sum);
else
printf("%d",sum);
sum=0;
}
return 0;
}
均是素数
#include<stdio.h>
int isPrime(int n)
{
if(n<2) return 0;
for(int i=2;i*i<=n;i++)
{
if(n%i==0) return 0;
}
return 1;
}
int main()
{
int m,n,sum=0;
scanf("%d %d",&m,&n);
int a[1000],t=0;
for(int i=m;i<=n;i++)
{
if(isPrime(i)) a[t++] = i;
}
for(int i=0;i<t;i++)
{
for(int j=i+1;j<t;j++)
{
for(int k=j+1;k<t;k++)
{
int p,q,r;
p = a[i]*a[j]+a[k];
q = a[i]*a[k]+a[j];
r = a[j]*a[k]+a[i];
if(isPrime(p)&&isPrime(q)&&isPrime(r))
{
sum++;
}
}
}
}
printf("%d",sum);
}
随机输一次
#include<iostream>
using namespace std;
int num[11];
int main(){
int a;
cin>>a;
for(int i=0;i<a;i++){
cin>>num[i];
}
string s;
cin>>s;
int i=0;
int j=0;
while(s!="End"){
if(j<num[i]){
if(s=="ChuiZi"){
cout<<"Bu"<<endl;
}else if(s=="JianDao"){
cout<<"ChuiZi"<<endl;
}else if(s=="Bu"){
cout<<"JianDao"<<endl;
}
}else{
j=-1;
i++;
i=i%a;
if(s=="ChuiZi"){
cout<<"JianDao"<<endl;
}else if(s=="JianDao"){
cout<<"Bu"<<endl;
}else if(s=="Bu"){
cout<<"ChuiZi"<<endl;
}
}
j++;
cin>>s;
}
return 0;
}
念数字
#include <stdio.h>
#include <string.h>
int main()
{
//定义一个10行5列的二维数组。
char num[10][5]= {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
char a[1005];
scanf("%s",a);
if( a[0]=='-')
printf("fu");
else
printf("%s", num[a[0] - '0']); //以字符串的形式输出二维数组的一整行
for(int i=1;i<strlen(a);i++)
printf(" %s", num[a[i] - '0']);
printf("\n");
return 0;
}