每日三百行代码 第十四天
补交,因为3/19参加了学校的比赛。
#include<stdio.h>
int main()
{
int i,j=1,x=0,y=0,rest,N;
char C;
scanf("%d %c",&N,&C);
while(2*j*j-1<=N)//计算层数
{
j++;
}
j--;
y=2*j-1;
rest=N-2*j*j+1;//剩下字符的数量
while(y>0)//输出沙漏上半部分
{
for(i=0;i<x;i++)
printf(" ");
for(i=0;i<y;i++)
printf("%c",C);
printf("\n");
x++;
y-=2;
}
x--;
y+=2;
while(x>0)//输出沙漏下半部分
{
x--;
y+=2;
for(i=0;i<x;i++)
printf(" ");
for(i=0;i<y;i++)
printf("%c",C);
printf("\n");
}
printf("%d",rest);
return 0;
}
#include <stdio.h>
typedef long long ll;
int main()
{
ll n, sum, m, Maxlen, b;
scanf("%lld", &n);
m = sqrt(n);
Maxlen = 0;
b = 0;
for(int i = 2; i <= m; i ++)
{
sum = 1;
for(int j = i; sum * j <= n; j ++)
{
sum *= j;
if(n % sum == 0 && (j - i + 1) > Maxlen)
{
Maxlen = j - i + 1;
b = i;
}
}
}
if(b == 0) //n 是素数
{
printf("1\n%lld\n",n);
}
else
{
printf("%d\n",Maxlen);
for(int i = b; i < Maxlen + b; i ++)
{
if(i == b) printf("%d", i);
else printf("*%d",i);
}
printf("\n");
}
return 0;
}
#include <stdio.h>
int gcd(long long int p, long long int q)
{
if (p%q == 0)
{
return q;
}
else
return gcd(q, p%q);
}
int main()
{
long long int a, b,suma = 0, sumb = 1,m;
int n, i;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%lld/%lld", &a, &b);
suma *= b;//分子乘以第二个分式的分母
suma = (suma + a*sumb);//分子的和
sumb *= b;//分母通分
m = gcd(suma, sumb);//约去公约数`在这里插入代码片`
suma /= m;
sumb /= m;
}
if (suma&&(suma/sumb==0))
printf("%lld/%lld\n", suma, sumb);
else if (suma%sumb==0)
printf("%lld\n", suma / sumb);
else
{
printf("%lld %lld/%lld\n",suma/sumb,suma%sumb,sumb);
}
}
#include<stdio.h>
#include<string.h>
int main()
{
char a[10001],b[10001];
int i,j=0;
int num=0;
gets(a);
gets(b);
while(a[j])
{
for(i=0;i<strlen(b);i++)
{
if(a[j]==b[i])
{
num++;
}
}
if(num==0)
{
printf("%c",a[j]);
}
j++;
num=0;
}
return 0;
}
#include<stdio.h>
int main()
{
int Person[100000]={
0};
int N,n,m,K,i,j,sum=0;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
scanf("%d",&n);
for(j=1;j<=n;j++)
{
scanf("%d",&m);
if(n!=1)
Person[m]=1;
}
}
scanf("%d",&K);
for(i=1;i<=K;i++)
{
scanf("%d",&m);
if(Person[m]==0)
{
if(sum!=0)
printf(" ");
printf("%05d",m);
Person[m]=-1; //更新对应数组的值,避免重复输出
sum++;
}
}
if(sum==0)
printf("No one is handsome");
printf("\n");
return 0;
}
#include <stdio.h>
int main()
{
char a[10005],ch;
int i, j, x = 0, b = 0, c = 0, d = 0;
gets(a);
for (i = 0; i < strlen(a); i++)
{
if (a[i] == 'G'||a[i] == 'g')
{
x++;
}
else if (a[i] == 'P' || a[i] == 'p')
{
b++;
}
else if (a[i] == 'l' || a[i] == 'L')
{
c++;
}
else if (a[i] == 'T' || a[i] == 't')
{
d++;
}
}
while (x > 0 || b > 0 || c > 0 || d > 0)
{
if (x>0)
{
printf("G"); x--;
}
if (b>0)
{
printf("P"); b--;
}
if (c>0)
{
printf("L"); c--;
}
if (d>0)
{
printf("T"); d--;
}
}
}
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char s[101];
scanf("%s",s);
int book[101]={
0};
int arr[101];
int index[101];
int all=0;
for(int i=0;s[i]!='\0';i++){
if(book[s[i]-'0']==0){
arr[all++]=s[i]-'0';
}
book[s[i]-'0']=1;
}
int t;
for(int i=0;i<all;i++){
for(int j=i;j<all;j++){
if(arr[i]<arr[j]){
t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
}
for(int i=0;s[i]!='\0';i++){
for(int j=0;j<all;j++){
if(s[i]-'0'==arr[j]){
index[i]=j;
break;
}
}
}
printf("int[] arr = new int[]{");
for(int i=0;i<all-1;i++){
printf("%d",arr[i]);
printf(",");
}
printf("%d};",arr[all-1]);
printf("\n");
printf("int[] index = new int[]{");
for(int i=0;i<10;i++){
printf("%d",index[i]);
printf(",");
}
printf("%d};",index[10]);
}
#include <stdio.h>
#include <string.h>
int main()
{
int N,i,lenth;
char c;
char a[40000];
scanf("%d %c",&N,&c);
getchar();
gets(a);
lenth = strlen(a);
if(lenth >= N)
{
for(i=lenth-N;i<lenth;i++)
{
putchar(a[i]);
}
}
else
{
for(i=0;i<N-lenth;i++)
{
putchar(c);
}
puts(a);
}
return 0;
}
#include<stdio.h>
int main()
{
int m[1000]={
0},a,b,c,d,e=999,N,n;
scanf("%d",&N);
for(a=0;a<N;a++)
{
scanf("%d",&n);
for(b=0;b<n;b++)
{
scanf("%d",&c);
m[c-1]++;
}
}
for(d=999;d>0;d--)
if(m[e]<m[d-1])
e=d-1;
printf("%d %d",e+1,m[e]);
return 0;
}
#include<string.h>
#include <stdio.h>
int main()
{
int n;
char a[100][100],b[1050];
int i, j,m,t=0;
scanf("%d\n", &n);
gets(b);
m = strlen(b) / n;
if (m*n != strlen(b))
{
//不能整除m多一列
m++;
}
for (j = m - 1; j >= 0; j--)//倒序
{
for (i = 0; i < n; i++)//顺序
{
if (b[t] != '\0')//是否为空格
{
a[i][j] = b[t];
t++;
}
else
{
a[i][j] = ' ';
}
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
printf("%c", a[i][j]);
}
printf("\n");
}
return 0;
}
#include<stdio.h>
int main(){
int s=1,n,num=0,k=0;
scanf("%d",&n);
while(1){
if(s/n!=0)k=1;//判断首位是否为零,如果为零不需要输出
num++;//每次循环加一位
if(k)printf("%d",s/n);
s=s%n;
if(s==0)break;
s=s*10+1;
}
printf(" %d",num);
}
#include <stdio.h>
int main()
{
int stu[100][10][10];//高校某个队的第某个人的位置用三维数组;
int max=0;//记录一下最大的高校的队伍数量
int n;
int a,b,i,j,k,l;
int d[100];//每个高校队伍的数量
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&d[i]);
if(d[i]>max){
max = d[i];//高校最高的数量
}
}
l = 0;//
int GX=-1;//高校编号
for(i=0;i<max;i++){
for(j=0;j<10;j++){
for(k=0;k<n;k++){
if(i<d[k]){
//如果小于这个高校的队伍数量
if(GX==k){
l+=2;
}else{
l+=1;
}
stu[k][i][j] = l;
GX = k;
}
}
}
}
for(i=0;i<n;i++){
printf("#%d\n",i+1);
for(j=0;j<d[i];j++){
for(k=0;k<10;k++){
printf("%d",stu[i][j][k]);
if(k!=9){
printf(" ");
}
}
printf("\n");
}
}
return 0;
}
#include<stdio.h>
#include<math.h>
struct people{
int num;
char name[10];
}p[10005],pmin;
int main(){
int i,n,sum=0;
double half;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s %d",p[i].name ,&p[i].num);
sum=sum+p[i].num;
}
half=sum*1.0/n*0.5;
pmin=p[0];
for(i=0;i<n;i++){
if(fabs(pmin.num-half)>fabs(p[i].num-half)){
pmin=p[i];
}
}
printf("%.0f %s",half,pmin.name);
return 0;
}
#include<stdio.h>
#include<string.h>
int judge(char a[][101],int row){
int j=0;
char temp[]={
"ong,"};
char t[]={
"ong."};
if(strstr(a[row],temp)){
if(strstr(a[row],t)){
return 1;
}
}
return 0;
}
int main(){
char input[21][101]={
0};
int n=0,i=0;
scanf("%d",&n);
getchar();
for(i=0;i<n;i++){
gets(input[i]);
}
for(i=0;i<n;i++){
if(judge(input,i)){
int j=0;
int cnt=strlen(input[i]);
int blank=0;
char insert[]={
"qiao ben zhong."};
for(j=cnt-1;;j--){
if(input[i][j]==' '){
blank++;
}
if(input[i][j]==','){
blank++;
}
if(blank==3){
j++;
break;
}
}
strcpy(input[i]+j,insert);
printf("%s\n",input[i]);
}
else{
printf("Skipped\n");
}
}
return 0;
}