目录
- Hello world
- 打印沙漏
- 个位数统计
- 计算摄氏温度
- 考试座位号
- 连续因子
- 念数字
- 求整数段和
- N个数求和
- 比较大小
- A-B
- 计算指数
- 计算阶乘和
- 简单题
- 跟奥巴马一起画方块
- 查验身份证
- 到底有多二
- 大笨钟
- 谁先倒
- 帅到没朋友
- 重要的话说三遍
- 奇偶分家
- 输出GPLT
- 后天
- 正整数A+B
- I LOVE GPLT
- 出租
- 判断素数
- 是不是太胖了
- 一帮一
自己写的,有很多写的很繁琐的地方,还望佬见谅。
Hello world
#include
int main()
{
printf("Hello World!");
return 0;
}
打印沙漏
#include
int main()
{
int N=0;
char ch;
scanf("%d %c",&N,&ch);
int n=N;
int i=1;
int j=3;
int count=0;
if(N<7)
{
printf("%c\n",ch);
printf("%d",N-1);
return 0;
}
while(n-i>0)
{
n-=i;
i=j*2;
j+=2;
count++;
}
int len=2*count-1;
for(int i=0;i<count;i++)
{
for(int j=0;j<i;j++)
{
printf(" ");
}
for(int j=0;j<len-2*i;j++)
{
printf("%c",ch);
}
printf("\n");
}
for(int i=1;i<count;i++)
{
for(int j=0;j<(len-(i*2+1))/2;j++)
{
printf(" ");
}
for(int j=0;j<i*2+1;j++)
{
printf("%c",ch);
}
printf("\n");
}
printf("%d",n);
return 0;
}
个位数统计
#include
#include
#include
int main()
{
char s[1000];
scanf("%s",&s);
int a[10]={0,0,0,0,0,0,0,0,0,0};
for(int i=0;i<strlen(s);i++)
{
switch(s[i])
{
case '0':
a[0]++;
break;
case '1':
a[1]++;
break;
case '2':
a[2]++;
break;
case '3':
a[3]++;
break;
case '4':
a[4]++;
break;
case '5':
a[5]++;
break;
case '6':
a[6]++;
break;
case '7':
a[7]++;
break;
case '8':
a[8]++;
break;
case '9':
a[9]++;
break;
}
}
for(int i=0;i<10;i++)
{
if(a[i]>0)
{
printf("%d:%d\n",i,a[i]);
}
}
return 0;
}
计算摄氏温度
#include
int main()
{
int a=0;
scanf("%d",&a);
printf("Celsius = %d",5*(a-32)/9);
return 0;
}
考试座位号
#include
struct Stu
{
char a[20];
int b;
int c;
};
int search_stu(int x,int N,struct Stu* s)
{
for(int i=0;i<N;i++)
{
if(s[i]->b==x)
{
return i;
}
}
return 0;
}
int main()
{
int N=0;
scanf("%d",&N);
struct Stu s[N];
for(int i=0;i<N;i++)
{
scanf("%s %d %d",s[i].a,&(s[i].b),&(s[i].c));
}
int num=0;
scanf("%d",&num);
int arr[num];
for(int j=0;j<num;j++)
{
scanf("%d",&arr[j]);
}
for(int j=0;j<num;j++)
{
int k=search_stu(arr[j],N,&s);
printf("%s %d\n",s[k].a,s[k].c);
}
return 0;
}
连续因子
#include
#include
int prime(int n)
{
int i=0;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
long long n,i,j;
scanf("%lld",&n);
int start=0,l=0;
long long s=1;
if(prime(n))
printf("1\n%d\n",n);
else{
for(i=2;i<sqrt(n);i++)
{
s=1;
for(j=i;s*j<=n;j++)
{
s*=j;
if(n%s==0&&j-i+1>l)
{
start=i;
l=j-i+1;
}
}
}
printf("%d\n",l);
for(i=start;i<start+l;i++)
{
if(i==start)
{
printf("%lld",i);
}
else
{
printf("*%lld",i);
}
}
}
return 0;
}
念数字
#include
#include
#include
int main()
{
int n=0;
scanf("%d",&n);
int count=0;
int input=0;
if(n==0)
{
printf("ling");
}
if(n<0)
{
printf("fu ");
n/=-1;
}
int N=n;
while(n>0)
{
count++;
n/=10;
}
while(count--)
{
input=N/(int)(pow(10,count));
N%=(int)(pow(10,count));
switch(input)
{
case 0: printf("ling"); break;
case 1: printf("yi"); break;
case 2: printf("er"); break;
case 3: printf("san"); break;
case 4: printf("si"); break;
case 5: printf("wu"); break;
case 6: printf("liu"); break;
case 7: printf("qi"); break;
case 8: printf("ba"); break;
case 9: printf("jiu"); break;
}
if(count)
{
printf(" ");
}
}
return 0;
}
求整数段和
#include
int main()
{
int A=0;
int B=0;
scanf("%d %d",&A,&B);
int sz=B-A;
int arr[40][5]={0};
int n=A;
int m=A;
int l=A;
int sum=0;
for(int i=0;i<=sz;i++)
{
sum+=n;
n++;
}
for(int j=0;j<=sz/5;j++)
{
for(int k=0;k<5;k++)
{
if(m<=B)
arr[j][k]=m;
m++;
}
}
for(int j=0;j<=sz/5;j++)
{
for(int k=0;k<5;k++)
{
if(l<=B)
printf("%5d",arr[j][k]);
l++;
}
printf("\n");
}
printf("Sum = %d",sum);
return 0;
}
N个数求和
#include
#include
int M(int a,int b)
{
if(b==0)
return a;
else
return M(b,a%b);
}
int main(void) {
int n, sum = 0;
int a, b;
scanf("%d", &n);
for (int i = 1; i <= n; ++i) {
int a1, b1;
scanf("%d/%d", &a1, &b1);
sum += a1 / b1;
a1 = a1 % b1;
if (i == 1) {
a = a1, b = b1;
} else {
int m = b * b1 / M(b, b1);
a = a * (m / b) + a1 * (m / b1);
b = m;
sum += a / b;
a = a % b;
}
while (1) {
int l = M(a, b);
if (l == 1) {
break;
}
a /= l;
b /= l;
}
}
if (sum == 0) {
if (a == 0) {
printf("0\n");
} else {
printf("%d/%d", a, b);
}
} else {
printf("%d", sum);
if (a == 0) {
printf("\n");
} else {
printf(" %d/%d", a, b);
}
}
return 0;
}
比较大小
#include
int cmp_int(const void* p1,const void* p2)
{
return *(int*)p1-*(int*)p2;
}
int main()
{
int arr[3]={0};
for(int i=0;i<3;i++)
{
scanf("%d",&arr[i]);
}
qsort(arr,3,sizeof(arr[0]),cmp_int);
for(int i=0;i<3;i++)
{
if(i<2)
{
printf("%d->",arr[i]);
}
else
{
printf("%d",arr[i]);
}
}
return 0;
}
A-B
#include
#include
int main()
{
char a[100001];
char b[100001];
gets(a);
gets(b);
int c[128];
int i,j,k;
for(i=0;i<128;i++)
{
c[i]=0;
}
for(j=0;j<strlen(b);j++)
{
c[(int)b[j]]=1;
}
for(k=0;k<strlen(a);k++)
{
if(c[(int)a[k]]==0)
{
printf("%c",a[k]);
}
}
printf("\n");
return 0;
}
计算指数
#include
#include
int main()
{
int n=0;
scanf("%d",&n);
printf("2^%d = %d",n,(int)pow(2,n));
return 0;
}
计算阶乘和
#include
int Factorial(int n)
{
if(n==1)
{
return 1;
}
else{
return n*Factorial(n-1);
}
}
int main()
{
int N=0;
scanf("%d",&N);
int sum=0;
for(int i=1;i<=N;i++)
{
sum+=Factorial(i);
}
printf("%d",sum);
return 0;
}
简单题
#include
int main()
{
printf("This is a simple problem.");
return 0;
}
跟奥巴马一起画方块
#include
int main()
{
int N=0;
char ch;
scanf("%d %c",&N,&ch);
int n=0;
if(N%2==0)
{
n=N/2;
}
else if(N%2!=0)
{
n=N/2+1;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<N;j++)
{
printf("%c",ch);
}
printf("\n");
}
return 0;
}
查验身份证
#include
#include
#include
int main()
{
char x[11]={'1','0','X','9','8','7','6','5','4','3','2'};
int weight[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
int N=0;
int j=0;
int m=0;
int i=0;
char arr[100][19]={0};
char b[100][19]={0};
scanf("%d",&N);
getchar();
for(int i=0;i<N;i++)
{
gets(arr[i]);
for(j=0;j<17;j++)
{
if(arr[i][j]>'9'||arr[i][j]<'0')
{
break;
}
}
if(j==17)
{
int sum=0;
for(int x=0;x<17;x++)
{
sum+=(arr[i][x]-'0')*weight[x];
}
int k=sum%11;
if(arr[i][17]!=x[k])
{
strcpy(b[m++],arr[i]);
}
}
else{
strcpy(b[m++],arr[i]);
}
}
if(m==0)
{
printf("All passed\n");
}
else{
for(i=0;i<m;i++)
{
printf("%s\n",b[i]);
}
}
return 0;
}
到底有多二
#include
#include
int main()
{
char s[55]={0};
char ch;
int j=0;
while((ch=getchar())!='\n')
{
s[j]=ch;
j++;
}
int sz=strlen(s);
double k=1;
int count=0;
if(s[0]=='-')
{
k*=(double)1.5;
}
if(s[sz-1]%2==0)
{
k*=(double)2;
}
for(int i=0;i<sz;i++)
{
if(s[i]-'0'==2)
{
count++;
}
}
if(s[0]=='-')
{
k=k*(double)count/(double)(sz-1);
}
else
{
k=k*(double)count/(double)sz;
}
printf("%.2lf%%",k*(double)100);
return 0;
}
大笨钟
#include
int main()
{
int arr[2]={0};
scanf("%d:%d",&arr[0],&arr[1]);
if(arr[0]>=0&&arr[0]<12)
{
if(arr[0]>=0&&arr[0]<10)
{
if(arr[1]>=0&&arr[1]<10)
{
printf("Only 0%d:0%d. Too early to Dang.",arr[0],arr[1]);
}
else if(arr[1]>=10&&arr[1]<=59)
{
printf("Only 0%d:%d. Too early to Dang.",arr[0],arr[1]);
}
}
else if(arr[0]>=10&&arr[0]<=11)
{
if(arr[1]>=0&&arr[1]<10)
{
printf("Only %d:0%d. Too early to Dang.",arr[0],arr[1]);
}
else if(arr[1]>=10&&arr[1]<=59)
{
printf("Only %d:%d. Too early to Dang.",arr[0],arr[1]);
}
}
}
if(arr[0]==12)
{
if(arr[1]==0)
{
printf("Only %d:0%d. Too early to Dang.",arr[0],arr[1]);
}
else
{
printf("Dang");
}
}
else if(arr[0]>=12&&arr[0]<=23)
{
if(arr[1]==0)
{
for(int i=0;i<arr[0]-12;i++)
{
printf("Dang");
}
}
else
{
for(int i=0;i<arr[0]-11;i++)
{
printf("Dang");
}
}
}
return 0;
}
谁先倒
#include
int main()
{
int a=0;
int b=0;
int num=0;
scanf("%d %d",&a,&b);
scanf("%d",&num);
int arr[100][4]={0};
int m=0;
int n=0;
for(int i=0;i<num;i++)
{
scanf("%d %d %d %d",&arr[i][0],&arr[i][1],&arr[i][2],&arr[i][3]);
}
for(int i=0;i<num;i++)
{
if(arr[i][0]+arr[i][2]==arr[i][1]&&arr[i][0]+arr[i][2]!=arr[i][3])
{
m++;
}
else if(arr[i][0]+arr[i][2]==arr[i][3]&&arr[i][0]+arr[i][2]!=arr[i][1])
{
n++;
}
if(m>a)
{
printf("A\n");
printf("%d",n);
break;
}
if(n>b)
{
printf("B\n");
printf("%d",m);
break;
}
}
return 0;
}
帅到没朋友
#include
int main()
{
int id[100000]={0};
int n,m;
scanf("%d",&n);
for(int i = 0;i<n;i++)
{
scanf("%d",&m);
int num = 0;
for(int j = 0;j<m;j++)
{
if(m!=1)
{
scanf("%d",&num);
id[num] = 1;
}
else
scanf("%d",&num);
}
}
int flag = 0,consult = 0;
scanf("%d",&m);
for(int i = 0;i<m;i++)
{
scanf("%d",&consult);
if(id[consult]==0)
{
if(flag)
printf(" ");
printf("%05d",consult);
id[consult] = 1;
flag = 1;
}
}
if(flag==0)
printf("No one is handsome\n");
return 0;
}
重要的话说三遍
#include
int main()
{
printf("I'm gonna WIN!\n");
printf("I'm gonna WIN!\n");
printf("I'm gonna WIN!\n");
return 0;
}
奇偶分家
int main()
{
int N=0;
scanf("%d",&N);
int arr[1000]={0};
int a=0;
int b=0;
for(int i=0;i<N;i++)
{
scanf("%d",&arr[i]);
if(arr[i]%2!=0)
{
a++;
}
else if(arr[i]%2==0)
{
b++;
}
}
printf("%d %d",a,b);
return 0;
}
输出GPLT
#include
int main()
{
char s[10000]={0};
char ch;
int i=0;
while((ch=getchar())!='\n')
{
s[i]=ch;
i++;
}
int arr[4]={0,0,0,0};
for(int j=0;j<i;j++)
{
if(s[j]=='G'||s[j]=='g')
{
arr[0]++;
}
if(s[j]=='P'||s[j]=='p')
{
arr[1]++;
}
if(s[j]=='L'||s[j]=='l')
{
arr[2]++;
}
if(s[j]=='T'||s[j]=='t')
{
arr[3]++;
}
}
while(arr[0]>0||arr[1]>0||arr[2]>0||arr[3]>0)
{
if(arr[0]>0)
{
printf("G");
arr[0]--;
}
if(arr[1]>0)
{
printf("P");
arr[1]--;
}
if(arr[2]>0)
{
printf("L");
arr[2]--;
}
if(arr[3]>0)
{
printf("T");
arr[3]--;
}
}
return 0;
}
后天
#include
int main()
{
int n=0;
scanf("%d",&n);
int k=n+2;
if(k>7)
{
printf("%d",k-7);
}
else
{
printf("%d",k);
}
return 0;
}
正整数A+B
#include
#include
int main()
{
int a=0,b=0,flag=0;
char ch;
while((ch=getchar()) != '\n')
{
if(!flag)
{
if(isdigit(ch) && a!=-1)
a=a*10+(ch-'0');
else if(ch == ' ')
flag=1;
else
a=-1;
}
else
{
if(isdigit(ch) && b!=-1)
b=b*10+(ch-'0');
else
b=-1;
}
}
if(a>1000 || a<1)
a=-1;
if(b>1000 || b<1)
b=-1;
if(a!=-1 && b!=-1)
printf("%d + %d = %d",a,b,a+b);
else if(a==-1 && b!=-1)
printf("? + %d = ?",b);
else if(a!=-1 && b==-1)
printf("%d + ? = ?",a);
else if(a==-1 && b==-1)
printf("? + ? = ?");
return 0;
}
I LOVE GPLT
#include
int main()
{
printf("I\n \nL\no\nv\ne\n \nG\nP\nL\nT\n");
return 0;
}
出租
#include
#include
int main()
{
char s[11]={0};
char ch;
int i=0;
while((ch=getchar())!='\n')
{
s[i]=ch;
i++;
}
int hash[10]={0};
memset(hash,0,40);
for(int j=0;j<i;j++)
{
if(hash[s[j]-'0']==0)
{
hash[s[j]-'0']=-1;
}
}
int k=0;
int arr[10]={0};
for(int j=9;j>=0;j--)
{
if(hash[j]==-1)
{
arr[k]=j;
k++;
}
}
printf("int[] arr = new int[]{");
for(int l=0;l<k;l++)
{
if(l<k-1)
printf("%d,",arr[l]);
else
printf("%d",arr[l]);
}
printf("};");
int buf[11]={0};
int g=0;
for(int j=0;j<11;j++)
{
for(int l=0;l<k;l++)
{
if(s[j]-'0'==arr[l])
{
buf[g]=l;
g++;
break;
}
}
}
printf("\n");
printf("int[] index = new int[]{");
for(int l=0;l<11;l++)
{
if(l<10)
printf("%d,",buf[l]);
else
printf("%d",buf[l]);
}
printf("};\n");
return 0;
}
判断素数
#include
#include
int judge(int num)
{
for(int i=2;i<=sqrt(num);i++)
{
if(num%i==0)
return 1;
}
return 0;
}
int main()
{
int n=0;
scanf("%d",&n);
int arr[10]={0};
for(int i=0;i<n;i++)
{
scanf("%d",&arr[i]);
if(arr[i]==1)
{
printf("No\n");
}
else if(judge(arr[i])==1&&arr[i]!=1)
{
printf("No\n");
}
else if(judge(arr[i])==0&&arr[i]!=1)
{
printf("Yes\n");
}
}
return 0;
}
是不是太胖了
#include
int main()
{
int n=0;
scanf("%d",&n);
printf("%.1f",(n-100)*0.9*2);
return 0;
}
一帮一
#include
#include
struct Stu
{
int sex;
char name[8];
};
int main()
{
int n=0;
scanf("%d",&n);
struct Stu s[n];
int m=0;
char girl[n/2][9];
int k=0;
char boy[n/2][9];
for(int i=0;i<n;i++)
{
scanf("%d%s",&(s[i].sex),s[i].name);
if(s[i].sex==0)
{
strcpy(girl[m],s[i].name);
m++;
}
else if(s[i].sex==1)
{
strcpy(boy[k],s[i].name);
k++;
}
}
int a=0;
int b=0;
for(int i=0;i<n/2;i++)
{
if(s[i].sex==0)
{
printf("%s %s\n",girl[a],boy[m-1]);
a++;
m--;
}
else if(s[i].sex==1)
{
printf("%s %s\n",boy[b],girl[k-1]);
b++;
k--;
}
}
return 0;
}