郑轻OJ101~150题答案+详细解析【已更新】

如果对哪段代码有疑问或什么不懂可以的加QQ3418208634( 欢迎交流~)

如果觉得杂鱼灰太狼哪题讲的不好的欢迎指出,我去修改捏~

[之前134出现不可控bug,现已修复,并由godyu进行补全134-150]

域为三个月前不可控BUG的存在未成功修复抱歉,现在已经全部提交完毕.

//注意:题目要求只需提交inverse函数部分即可
int inverse(int n)
int m=0; //定义最终需要返回的结果,注意应赋值为0,不然m的值会随机生成
do{
int x=n%10; //把最低位提取出来
m=m*10+x; <qc>//逆序相加</qc>
n/=10; //舍弃最低位
}while(n>0); //判断是否需要继续逆序
return m; //把结果传回main函数,注意题目只需传回逆序数值,而不是相加值
}
//注意:题目要求只需提交inverse函数部分即可
int inverse(int n)

  int m=0;    //定义最终需要返回的结果,注意应赋值为0,不然m的值会随机生成
  do{
      int x=n%10;    //把最低位提取出来
      m=m*10+x;    <qc>//逆序相加</qc>
      n/=10;    //舍弃最低位
  }while(n>0);    //判断是否需要继续逆序
  return m;    //把结果传回main函数,注意题目只需传回逆序数值,而不是相加值
}
//注意:题目要求只需提交inverse函数部分即可 int inverse(int n) int m=0; //定义最终需要返回的结果,注意应赋值为0,不然m的值会随机生成 do{ int x=n%10; //把最低位提取出来 m=m*10+x; //逆序相加 n/=10; //舍弃最低位 }while(n>0); //判断是否需要继续逆序 return m; //把结果传回main函数,注意题目只需传回逆序数值,而不是相加值 }
double CancelFee(double price)
{
double change=0; //定义并把退票费初始化
double x=price*0.05; //先计算退票费用
double y=(int)(price*0.05); //保留整数部分
while(x>=1) //先把整数部分去掉看小数部分
{
x--;
}
if(x<0.25) //尾数小于0.25元的舍去
{
x=0;
}
else if(x>=0.25&&x<0.75) //不小于0.25元且小于0.75元的计为0.5元
{
x=0.5;
}
else if(x>=0.75) //不小于0.75元的进为1元
{
x=1;
}
change=x+y; //总退票费
return change;
}
double CancelFee(double price)
{
  double change=0;    //定义并把退票费初始化
  double x=price*0.05;    //先计算退票费用
  double y=(int)(price*0.05);    //保留整数部分
  while(x>=1)    //先把整数部分去掉看小数部分
  {
    x--;
  }
  
  if(x<0.25)    //尾数小于0.25元的舍去
  {
    x=0;
  }
  else if(x>=0.25&&x<0.75)    //不小于0.25元且小于0.75元的计为0.5元
  {
    x=0.5;
  }
  else if(x>=0.75)    //不小于0.75元的进为1元
  {
    x=1;
  }
  change=x+y;    //总退票费
  return change;
}
double CancelFee(double price) { double change=0; //定义并把退票费初始化 double x=price*0.05; //先计算退票费用 double y=(int)(price*0.05); //保留整数部分 while(x>=1) //先把整数部分去掉看小数部分 { x--; } if(x<0.25) //尾数小于0.25元的舍去 { x=0; } else if(x>=0.25&&x<0.75) //不小于0.25元且小于0.75元的计为0.5元 { x=0.5; } else if(x>=0.75) //不小于0.75元的进为1元 { x=1; } change=x+y; //总退票费 return change; }
#include<stdio.h>
int GP(int n)
{
if(n<60) //低于六十分没有G点
{
return 0;
}
else
return (n-50)/10; //六十分以上算出G点并返回值
}
int main()
{
int n,m,ncase;
scanf("%d",&ncase); //输入n门课程
double sum1=0,sum2=0;
while(ncase--)
{
scanf("%d %d",&m,&n); //输入学分和成绩
sum1+=GP(n)*m; //算出并累加每门课的绩点乘以该门课的学分
sum2+=m; //算出总学分
}
printf("%.1f",sum1/sum2); //输出平均学分绩点,保留一位小数
return 0;
}
#include<stdio.h>
int GP(int n)
{
  if(n<60)    //低于六十分没有G点
  {
    return 0;
  }
  else
    return (n-50)/10;    //六十分以上算出G点并返回值
}
int main()
{
  int n,m,ncase;
  scanf("%d",&ncase);    //输入n门课程
  double sum1=0,sum2=0;
  while(ncase--)
  {
    scanf("%d %d",&m,&n);    //输入学分和成绩
    sum1+=GP(n)*m;    //算出并累加每门课的绩点乘以该门课的学分
    sum2+=m;    //算出总学分
  }
  printf("%.1f",sum1/sum2);  //输出平均学分绩点,保留一位小数
  return 0;
}
#include<stdio.h> int GP(int n) { if(n<60) //低于六十分没有G点 { return 0; } else return (n-50)/10; //六十分以上算出G点并返回值 } int main() { int n,m,ncase; scanf("%d",&ncase); //输入n门课程 double sum1=0,sum2=0; while(ncase--) { scanf("%d %d",&m,&n); //输入学分和成绩 sum1+=GP(n)*m; //算出并累加每门课的绩点乘以该门课的学分 sum2+=m; //算出总学分 } printf("%.1f",sum1/sum2); //输出平均学分绩点,保留一位小数 return 0; }
#include<stdio.h>
int FacSum(int n)
{
int sum=1; //因为1是肯定有的,直接赋值1减少一次循环,优化算法
for(int i=2;i<=n/2;i++) //这里涉及到一个小技巧,因子不可能比的这个数的一半大,所以直接n/2,优化算法提高效率
{
if(n%i==0) //这里遍历一下查找因子
{
sum+=i; //找到直接相加
}
}
return sum; //把和返回
}
int main()
{
int n;
scanf("%d",&n);
int result=FacSum(n); //调用并接收函数
printf("%d",result);
}
#include<stdio.h>
int FacSum(int n)
{
  int sum=1;    //因为1是肯定有的,直接赋值1减少一次循环,优化算法
  for(int i=2;i<=n/2;i++)    //这里涉及到一个小技巧,因子不可能比的这个数的一半大,所以直接n/2,优化算法提高效率
  {
    if(n%i==0)    //这里遍历一下查找因子
    {
      sum+=i;    //找到直接相加
    }
  }
  return sum;    //把和返回
}
int main()
{
  int n;
  scanf("%d",&n);
  int result=FacSum(n);    //调用并接收函数
  printf("%d",result);
}
#include<stdio.h> int FacSum(int n) { int sum=1; //因为1是肯定有的,直接赋值1减少一次循环,优化算法 for(int i=2;i<=n/2;i++) //这里涉及到一个小技巧,因子不可能比的这个数的一半大,所以直接n/2,优化算法提高效率 { if(n%i==0) //这里遍历一下查找因子 { sum+=i; //找到直接相加 } } return sum; //把和返回 } int main() { int n; scanf("%d",&n); int result=FacSum(n); //调用并接收函数 printf("%d",result); }
#include<stdio.h>
int facsum(int n)
{
int sum=0;
if(n==2)
return 1; //2只有一个正因子1(除本身)
if(n>2)
{
for(int i=1;i<n;i++) //遍历寻找因子
{
if(n%i==0)
{
sum+=i; //找到则相加
}
}
}
return sum;
}
int main()
{
int m,n,an=0; //an为标识,用于判断输出
scanf("%d %d",&m,&n);
for(int j=m;j<=n;j++) //遍历m到n之间的数
{
int num;
num=facsum(j); //调用函数接收正因子之和
if(j==facsum(num)&&j<num) //如果俩个数正因子之和相等,且比这个数小,则为友好数对,不加后面那个判断则会输出俩次
{
printf("%d %d\n",j,num);
an=1; //标识更改
}
}
if(an==0) //找不到则输出没有答案
printf("No answer");
return 0;
}
#include<stdio.h>
int facsum(int n)
{
  int sum=0;
  if(n==2)
    return 1;    //2只有一个正因子1(除本身)
  if(n>2)
  {
    for(int i=1;i<n;i++)    //遍历寻找因子
    {
      if(n%i==0)
      {
        sum+=i;    //找到则相加
      }
    }
  }
  return sum;
}
int main()
{
  int m,n,an=0;    //an为标识,用于判断输出
  scanf("%d %d",&m,&n);
  for(int j=m;j<=n;j++)    //遍历m到n之间的数
  {
    int num;
    num=facsum(j);    //调用函数接收正因子之和
    if(j==facsum(num)&&j<num)    //如果俩个数正因子之和相等,且比这个数小,则为友好数对,不加后面那个判断则会输出俩次
    {
      printf("%d %d\n",j,num);
      an=1;    //标识更改
    }
  }
  if(an==0)    //找不到则输出没有答案
    printf("No answer");
  return 0;
}
#include<stdio.h> int facsum(int n) { int sum=0; if(n==2) return 1; //2只有一个正因子1(除本身) if(n>2) { for(int i=1;i<n;i++) //遍历寻找因子 { if(n%i==0) { sum+=i; //找到则相加 } } } return sum; } int main() { int m,n,an=0; //an为标识,用于判断输出 scanf("%d %d",&m,&n); for(int j=m;j<=n;j++) //遍历m到n之间的数 { int num; num=facsum(j); //调用函数接收正因子之和 if(j==facsum(num)&&j<num) //如果俩个数正因子之和相等,且比这个数小,则为友好数对,不加后面那个判断则会输出俩次 { printf("%d %d\n",j,num); an=1; //标识更改 } } if(an==0) //找不到则输出没有答案 printf("No answer"); return 0; }
//只需要求出这个数的逆序并判断俩数是否相等即可
#include<stdio.h>
int hws(int i)
{
int sum=0;
while(i>9)
{
sum+=i%10;
i/=10;
sum=sum*10;
}
return sum+i; //返回逆序结果
}
int main()
{
int m,n;
scanf("%d %d",&m,&n);
for(int i=m;i<=n;i++)
{
int num=hws(i);
if(i==num) //若俩数相等则为回文数
{
printf("%d ",i);
}
}
return 0;
}
//只需要求出这个数的逆序并判断俩数是否相等即可
#include<stdio.h>
int hws(int i)
{
  int sum=0;
  while(i>9)
  {
    sum+=i%10;
    i/=10;
    sum=sum*10;
  }
  return sum+i;    //返回逆序结果
}
int main()
{
  int m,n;
  scanf("%d %d",&m,&n);
  for(int i=m;i<=n;i++)
  {
    int num=hws(i);
    if(i==num)  //若俩数相等则为回文数
    {
      printf("%d ",i);
    }
  }
  return 0;
}
//只需要求出这个数的逆序并判断俩数是否相等即可 #include<stdio.h> int hws(int i) { int sum=0; while(i>9) { sum+=i%10; i/=10; sum=sum*10; } return sum+i; //返回逆序结果 } int main() { int m,n; scanf("%d %d",&m,&n); for(int i=m;i<=n;i++) { int num=hws(i); if(i==num) //若俩数相等则为回文数 { printf("%d ",i); } } return 0; }
//这题比上一题多加了一个循环判断
#include<stdio.h>
int inverse(int n)
{
int sum=0;
while(n>=10) //求出逆序数
{
sum+=n%10;
n/=10;
sum*=10;
}
return sum+n;
}
int main()
{
int n,m;
scanf("%d",&n);
while(m=inverse(n),m!=n) //m接收n的倒序数,若不相等则开始循环
{
printf("%d ",n); //输出过程值,注意有空格
n=m+n; //正序和倒序相加,开始第二轮循环
}
printf("%d",m); //输出最后的回文数
return 0;
}
//这题比上一题多加了一个循环判断
#include<stdio.h>
int inverse(int n)
{
  int sum=0;
  while(n>=10)    //求出逆序数
  {
    sum+=n%10;
    n/=10;
    sum*=10;
  }
  return sum+n;
}
int main()
{
  int n,m;
  scanf("%d",&n);
  while(m=inverse(n),m!=n)    //m接收n的倒序数,若不相等则开始循环
  {
    printf("%d ",n);    //输出过程值,注意有空格
    n=m+n;    //正序和倒序相加,开始第二轮循环
  }
  printf("%d",m);    //输出最后的回文数
  return 0;
}
//这题比上一题多加了一个循环判断 #include<stdio.h> int inverse(int n) { int sum=0; while(n>=10) //求出逆序数 { sum+=n%10; n/=10; sum*=10; } return sum+n; } int main() { int n,m; scanf("%d",&n); while(m=inverse(n),m!=n) //m接收n的倒序数,若不相等则开始循环 { printf("%d ",n); //输出过程值,注意有空格 n=m+n; //正序和倒序相加,开始第二轮循环 } printf("%d",m); //输出最后的回文数 return 0; }
//本题应找出每行空格与数字的规律
#include<stdio.h>
void PrintDigit(int m)
{
for(int i=1;i<=m;i++) //左边逐递增
{
printf("%d",i);
}
m--; //使m-1,不输出最高位
while(m>=1) //右边逐渐递减
{
printf("%d",m--);
}
}
void PrintSpace(int m) //打印空格
{
for(int i=0;i<m;i++)
{
printf(" ");
}
}
int main()
{
int m;
scanf("%d",&m);
for(int i=1;i<=m;i++) //打印上半部分
{
PrintSpace(m-i); //上半部分空格逐渐递减
PrintDigit(i); //数字逐渐增加
printf("\n"); //换行
}
for(int j=1;j<m;j++) //打印下半部分
{
PrintSpace(j); //空格逐渐递增
PrintDigit(m-j); //数字逐渐减少
if(j!=m-1) //该判断可以使最后一行不用换行
printf("\n");
}
return 0;
}
//本题应找出每行空格与数字的规律
#include<stdio.h>
void PrintDigit(int m)
{
  for(int i=1;i<=m;i++)    //左边逐递增
  {
    printf("%d",i);
  }
  m--;    //使m-1,不输出最高位
  while(m>=1)    //右边逐渐递减
  {
    printf("%d",m--);
  }
}
void PrintSpace(int m)    //打印空格
{
  for(int i=0;i<m;i++)
  {
    printf(" ");
  }
}
int main()
{
  int m;
  scanf("%d",&m);
  for(int i=1;i<=m;i++)    //打印上半部分
  {
    PrintSpace(m-i);    //上半部分空格逐渐递减
    PrintDigit(i);    //数字逐渐增加
    printf("\n");    //换行
  }
  for(int j=1;j<m;j++)    //打印下半部分
  {
    PrintSpace(j);    //空格逐渐递增
    PrintDigit(m-j);    //数字逐渐减少
    if(j!=m-1)    //该判断可以使最后一行不用换行
      printf("\n");
  }
  return 0;
}
//本题应找出每行空格与数字的规律 #include<stdio.h> void PrintDigit(int m) { for(int i=1;i<=m;i++) //左边逐递增 { printf("%d",i); } m--; //使m-1,不输出最高位 while(m>=1) //右边逐渐递减 { printf("%d",m--); } } void PrintSpace(int m) //打印空格 { for(int i=0;i<m;i++) { printf(" "); } } int main() { int m; scanf("%d",&m); for(int i=1;i<=m;i++) //打印上半部分 { PrintSpace(m-i); //上半部分空格逐渐递减 PrintDigit(i); //数字逐渐增加 printf("\n"); //换行 } for(int j=1;j<m;j++) //打印下半部分 { PrintSpace(j); //空格逐渐递增 PrintDigit(m-j); //数字逐渐减少 if(j!=m-1) //该判断可以使最后一行不用换行 printf("\n"); } return 0; }
#include<stdio.h>
int digitSum(int n)
{
int sum=0;
while(n>9) //只要是大于或等于俩位数就分离
{
sum+=n%10; //提取最低位并相加
n/=10; //除去最低位
}
return sum+n; //返回各个位上数字的和
}
int main()
{
int n,x;
scanf("%d",&n);
if(n>9)
{
x=digitSum(n); //调用函数并接收函数返回的值
while(x>9) //如果返回的值还是俩位数或以上则继续相加
{
int t=n;
n=x;
x=t;
x=digitSum(n);
}
printf("%d",x);
}
else
printf("%d",n);
return 0;
}
#include<stdio.h>
int digitSum(int n)
{
  int sum=0;
  while(n>9)    //只要是大于或等于俩位数就分离
  {
    sum+=n%10;    //提取最低位并相加
    n/=10;    //除去最低位
  }
  return sum+n;    //返回各个位上数字的和
}
int main()
{
  int n,x;
  scanf("%d",&n);
  if(n>9)
  {
    x=digitSum(n);    //调用函数并接收函数返回的值
    while(x>9)    //如果返回的值还是俩位数或以上则继续相加
    {
      int t=n;
      n=x;
      x=t;
      x=digitSum(n);
    }
    printf("%d",x);
  }
  else
    printf("%d",n);
  return 0;
}
#include<stdio.h> int digitSum(int n) { int sum=0; while(n>9) //只要是大于或等于俩位数就分离 { sum+=n%10; //提取最低位并相加 n/=10; //除去最低位 } return sum+n; //返回各个位上数字的和 } int main() { int n,x; scanf("%d",&n); if(n>9) { x=digitSum(n); //调用函数并接收函数返回的值 while(x>9) //如果返回的值还是俩位数或以上则继续相加 { int t=n; n=x; x=t; x=digitSum(n); } printf("%d",x); } else printf("%d",n); return 0; }
/*观察图中孩子与双亲的关系,如果双亲编号为i,左孩子为2*i,右孩子为2*i+1。反之,对于一个编号为i的结点,不论奇数偶数,除以2取整就是i。所以我们可以用递归让较大的数(也就是辈分低的数)向上找双亲,直到他们相遇*/
#include<stdio.h>
int common(int x,int y)
{
if(x==y) //如果相等,x的值则为共同祖先
return x;
else if(x>y)
{
return common(x / 2, y); //若x较大则让x向上走
}
else
return common(x, y / 2); //若y较大则让y向上走
}
int main()
{
int x, y,j;
scanf("%d %d", &x, &y);
j = common(x, y); //调用并接收函数传递回来的值
printf("%d", j);
}
/*观察图中孩子与双亲的关系,如果双亲编号为i,左孩子为2*i,右孩子为2*i+1。反之,对于一个编号为i的结点,不论奇数偶数,除以2取整就是i。所以我们可以用递归让较大的数(也就是辈分低的数)向上找双亲,直到他们相遇*/
#include<stdio.h>
int common(int x,int y)
{
    if(x==y)    //如果相等,x的值则为共同祖先
        return x;
    else if(x>y)
    {
        return common(x / 2, y);    //若x较大则让x向上走
    }
    else
        return common(x, y / 2);    //若y较大则让y向上走
}
int main()
{
    int x, y,j;
    scanf("%d %d", &x, &y);
    j = common(x, y);    //调用并接收函数传递回来的值
    printf("%d", j);
}
/*观察图中孩子与双亲的关系,如果双亲编号为i,左孩子为2*i,右孩子为2*i+1。反之,对于一个编号为i的结点,不论奇数偶数,除以2取整就是i。所以我们可以用递归让较大的数(也就是辈分低的数)向上找双亲,直到他们相遇*/ #include<stdio.h> int common(int x,int y) { if(x==y) //如果相等,x的值则为共同祖先 return x; else if(x>y) { return common(x / 2, y); //若x较大则让x向上走 } else return common(x, y / 2); //若y较大则让y向上走 } int main() { int x, y,j; scanf("%d %d", &x, &y); j = common(x, y); //调用并接收函数传递回来的值 printf("%d", j); }
//好好理解一下递归捏
#include<stdio.h>
void inverse(int n)
{
int num;
scanf("%d", &num); //读一个整数存入num
if(n>1) //如果n有多个数则开始递归逆序输出
{
inverse(n - 1);
printf("%d ", num);
}
if(n==1) //若只有一行则直接输出
printf("%d ", num);
}
int main()
{
int n;
scanf("%d", &n);
inverse(n); //调用函数
return 0;
}
//好好理解一下递归捏
#include<stdio.h>
void inverse(int n)
{
    int num;
    scanf("%d", &num);    //读一个整数存入num
    if(n>1)    //如果n有多个数则开始递归逆序输出
    {
        inverse(n - 1);
        printf("%d ", num);
    }
    if(n==1)    //若只有一行则直接输出
        printf("%d ", num);
}
int main()
{
    int n;
    scanf("%d", &n);
    inverse(n);    //调用函数
    return 0;
}
//好好理解一下递归捏 #include<stdio.h> void inverse(int n) { int num; scanf("%d", &num); //读一个整数存入num if(n>1) //如果n有多个数则开始递归逆序输出 { inverse(n - 1); printf("%d ", num); } if(n==1) //若只有一行则直接输出 printf("%d ", num); } int main() { int n; scanf("%d", &n); inverse(n); //调用函数 return 0; }
//特别简单,明白递归的原理,直接倒序输出就好了
#include<stdio.h>
void convert(int n)
{
if(n>0) //使用递归倒序输出余数
{
convert(n / 2);
printf("%d", n % 2);
}
}
int main()
{
int n;
scanf("%d", &n);
convert(n);
}
//特别简单,明白递归的原理,直接倒序输出就好了
#include<stdio.h>
void convert(int n)
{
    if(n>0)    //使用递归倒序输出余数
    {
        convert(n / 2);
        printf("%d", n % 2);
    }
}
int main()
{
    int n;
    scanf("%d", &n);
    convert(n);
}
//特别简单,明白递归的原理,直接倒序输出就好了 #include<stdio.h> void convert(int n) { if(n>0) //使用递归倒序输出余数 { convert(n / 2); printf("%d", n % 2); } } int main() { int n; scanf("%d", &n); convert(n); }
//题目给了斐波那契数列的求法,我们只需填充枝叶即可
#include<stdio.h>
int fib(int k)
{
if(k==1||k==2)
return 1;
else //
return fib(k - 1) + fib(k - 2);
}
int main()
{
int n;
scanf("%d", &n);
printf("%d\n", fib(n));
printf("递归调用了%d次", 2*fib(n)-1); //我们仔细观察函数,发现else的return有俩个递归,所以次数为2*fib(n)-1次
return 0;
}
//题目给了斐波那契数列的求法,我们只需填充枝叶即可
#include<stdio.h>
int fib(int k)
{
    if(k==1||k==2)
        return 1;
    else     //
        return fib(k - 1) + fib(k - 2);
}
int main()
{
    int n;
    scanf("%d", &n);
    printf("%d\n", fib(n));
    printf("递归调用了%d次", 2*fib(n)-1);    //我们仔细观察函数,发现else的return有俩个递归,所以次数为2*fib(n)-1次
    return 0;
}
//题目给了斐波那契数列的求法,我们只需填充枝叶即可 #include<stdio.h> int fib(int k) { if(k==1||k==2) return 1; else // return fib(k - 1) + fib(k - 2); } int main() { int n; scanf("%d", &n); printf("%d\n", fib(n)); printf("递归调用了%d次", 2*fib(n)-1); //我们仔细观察函数,发现else的return有俩个递归,所以次数为2*fib(n)-1次 return 0; }
//本题考察的是对数组下标的理解
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int arr[n]; //定义一个长度为n的数组
for(int i=0;i<n;i++) //数组下标从0开始数
{
scanf("%d",&arr[i]); //依次把值存进数组
}
for(int i=n-1;i>=0;i--) //数组最大下标为长度-1,然后倒序输出
{
printf("%4d",arr[i]); //占四列,右对齐
}
return 0;
}
//本题考察的是对数组下标的理解
#include<stdio.h>
int main()
{
  int n;
  scanf("%d",&n);
  
  int  arr[n];    //定义一个长度为n的数组
  for(int i=0;i<n;i++)    //数组下标从0开始数
  {
    scanf("%d",&arr[i]);    //依次把值存进数组
  }
  for(int i=n-1;i>=0;i--)    //数组最大下标为长度-1,然后倒序输出
  {
    printf("%4d",arr[i]);    //占四列,右对齐
  }
  return 0;
}
//本题考察的是对数组下标的理解 #include<stdio.h> int main() { int n; scanf("%d",&n); int arr[n]; //定义一个长度为n的数组 for(int i=0;i<n;i++) //数组下标从0开始数 { scanf("%d",&arr[i]); //依次把值存进数组 } for(int i=n-1;i>=0;i--) //数组最大下标为长度-1,然后倒序输出 { printf("%4d",arr[i]); //占四列,右对齐 } return 0; }
#include <stdio.h>
int main () {
int n, a = 0;
scanf("%d", &n);
int room[1000]; //n不大于1000,即数组的长度不大于1000
for (int i = 0; i < n; i++) //读入数组
{
scanf("%d", &room[i]);
}
int min = room[0];
for (int j = 0; j < n; j++)
{
if (min > room[j]) //一个简单的排序找出最小值
{
min = room[j];
a = j;
}
}
printf("%d %d", min, a); //输出最小值及其下标
return 0;
}
#include <stdio.h>

int main () {
    int n, a = 0;
    scanf("%d", &n);
    int room[1000];    //n不大于1000,即数组的长度不大于1000
    for (int i = 0; i < n; i++)     //读入数组
    {
        scanf("%d", &room[i]);
    }
    int min = room[0];
    for (int j = 0; j < n; j++)
    {
        if (min > room[j])    //一个简单的排序找出最小值
        {
            min = room[j];
            a = j;
        }
    }
    printf("%d %d", min, a);    //输出最小值及其下标
    return 0;
}
#include <stdio.h> int main () { int n, a = 0; scanf("%d", &n); int room[1000]; //n不大于1000,即数组的长度不大于1000 for (int i = 0; i < n; i++) //读入数组 { scanf("%d", &room[i]); } int min = room[0]; for (int j = 0; j < n; j++) { if (min > room[j]) //一个简单的排序找出最小值 { min = room[j]; a = j; } } printf("%d %d", min, a); //输出最小值及其下标 return 0; }
#include <stdio.h>
// 删除数组A中下标为i的元素
void del(int a[], int n, int i)
{
// 判断i是否超出数组范围
if (i < 0 || i >= n)
{
printf("Invalid index\n");
return;
}
// 将数组A中下标为i的元素之后的元素向前移动一位
for (int j = i; j < n - 1; j++)
{
a[j] = a[j + 1];
}
// 数组长度减1
n--;
}
// 打印数组A
void PrintArr(int a[], int n)
{
// 遍历数组A
for (int i = 0; i < n; i++)
{
printf("%d", a[i]);
if (i < n - 1)
{
printf(" ");
}
}
printf("\n");
}
int main()
{
// 输入数组长度和要删除的元素下标
int n, i;
scanf("%d", &n);
int A[n];
// 输入数组A的元素
for (int i = 0; i < n; i++)
{
scanf("%d", &A[i]);
}
scanf("%d", &i);
// 调用del函数删除数组A中下标为i的元素
del(A, n, i);
// 打印删除元素后的数组
PrintArr(A, n - 1); // 输出删除元素后的数组,跳过最后一个元素
return 0;
}
#include <stdio.h>

// 删除数组A中下标为i的元素
void del(int a[], int n, int i)
{
  // 判断i是否超出数组范围
  if (i < 0 || i >= n)
  {
    printf("Invalid index\n");
    return;
  }
  // 将数组A中下标为i的元素之后的元素向前移动一位
  for (int j = i; j < n - 1; j++)
  {
    a[j] = a[j + 1];
  }
  // 数组长度减1
  n--;
}

// 打印数组A
void PrintArr(int a[], int n)
{
  // 遍历数组A
  for (int i = 0; i < n; i++)
  {
    printf("%d", a[i]);
    if (i < n - 1)
    {
      printf(" ");
    }
  }
  printf("\n");
}

int main()
{
  // 输入数组长度和要删除的元素下标
  int n, i;
  scanf("%d", &n);
  int A[n];
  // 输入数组A的元素
  for (int i = 0; i < n; i++)
  {
    scanf("%d", &A[i]);
  }
  scanf("%d", &i);
  // 调用del函数删除数组A中下标为i的元素
  del(A, n, i);
  // 打印删除元素后的数组
  PrintArr(A, n - 1); // 输出删除元素后的数组,跳过最后一个元素
  return 0;
}
#include <stdio.h> // 删除数组A中下标为i的元素 void del(int a[], int n, int i) { // 判断i是否超出数组范围 if (i < 0 || i >= n) { printf("Invalid index\n"); return; } // 将数组A中下标为i的元素之后的元素向前移动一位 for (int j = i; j < n - 1; j++) { a[j] = a[j + 1]; } // 数组长度减1 n--; } // 打印数组A void PrintArr(int a[], int n) { // 遍历数组A for (int i = 0; i < n; i++) { printf("%d", a[i]); if (i < n - 1) { printf(" "); } } printf("\n"); } int main() { // 输入数组长度和要删除的元素下标 int n, i; scanf("%d", &n); int A[n]; // 输入数组A的元素 for (int i = 0; i < n; i++) { scanf("%d", &A[i]); } scanf("%d", &i); // 调用del函数删除数组A中下标为i的元素 del(A, n, i); // 打印删除元素后的数组 PrintArr(A, n - 1); // 输出删除元素后的数组,跳过最后一个元素 return 0; }
#include<stdio.h>
//函数find用于查找数组a中元素x的位置
int find(int a[],int *n,int x)
{
int t=-1;
//遍历数组a,查找元素x的位置
for(int i=0;i<*n;i++)
{
if(x==a[i])
{
t=i;
return t;
break;
}
}
return t;
}
//函数del用于删除数组a中元素x的位置
void del(int a[],int *n,int x)
{
//从x位置开始,将数组a中后面的元素向前移动一位
for(int j=x-1;j<*n-1;j++)
{
a[j]=a[j+1];
}
(*n)--;
}
//函数PrintArr用于打印数组a
void PrintArr(int a[],int n)
{
//遍历数组a,打印每一个元素
for(int i=0;i<n;i++)
{
printf("%4d",a[i]);
}
printf("\n");
}
int main()
{
int t;
int n,x;
//输入数组a的长度
scanf("%d",&n);
//定义一个长度为n的数组a
int a[n];
//输入数组a的每一个元素
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
//输入要查找的元素x
scanf("%d",&x);
//调用函数find,查找元素x的位置
t=find(a,&n,x);
//如果元素x不存在,则输出Not Found
if(t==-1)
{
printf("Not Found");
}
//如果元素x存在,则调用函数del,删除元素x的位置,并打印新的数组a
else
{
del(a,&n,x);
PrintArr(a,n);
}
return 0;
}
#include<stdio.h>
//函数find用于查找数组a中元素x的位置
int find(int a[],int *n,int x)
{
  int t=-1;
  //遍历数组a,查找元素x的位置
  for(int i=0;i<*n;i++)
  {
    if(x==a[i])
    {
      t=i;
      return t;
      break;
    }
  }
  return t;
}
//函数del用于删除数组a中元素x的位置
void del(int a[],int *n,int x)
{  
  //从x位置开始,将数组a中后面的元素向前移动一位
  for(int j=x-1;j<*n-1;j++)
  {
    a[j]=a[j+1];
  }
  (*n)--;
}
//函数PrintArr用于打印数组a
void PrintArr(int a[],int n)
{
  //遍历数组a,打印每一个元素
  for(int i=0;i<n;i++)
  {
    printf("%4d",a[i]);
  }
  printf("\n");
}
int main()
{
  int t;
  int n,x;
  //输入数组a的长度
  scanf("%d",&n);
  //定义一个长度为n的数组a
  int a[n];
  //输入数组a的每一个元素
  for(int i=0;i<n;i++)
  {
    scanf("%d",&a[i]);
  }
  //输入要查找的元素x
  scanf("%d",&x);
  //调用函数find,查找元素x的位置
  t=find(a,&n,x);
  //如果元素x不存在,则输出Not Found
  if(t==-1)
  {
    printf("Not Found");
  }
  //如果元素x存在,则调用函数del,删除元素x的位置,并打印新的数组a
  else
  {
    del(a,&n,x);
    PrintArr(a,n);
  }
  return 0;
}
#include<stdio.h> //函数find用于查找数组a中元素x的位置 int find(int a[],int *n,int x) { int t=-1; //遍历数组a,查找元素x的位置 for(int i=0;i<*n;i++) { if(x==a[i]) { t=i; return t; break; } } return t; } //函数del用于删除数组a中元素x的位置 void del(int a[],int *n,int x) { //从x位置开始,将数组a中后面的元素向前移动一位 for(int j=x-1;j<*n-1;j++) { a[j]=a[j+1]; } (*n)--; } //函数PrintArr用于打印数组a void PrintArr(int a[],int n) { //遍历数组a,打印每一个元素 for(int i=0;i<n;i++) { printf("%4d",a[i]); } printf("\n"); } int main() { int t; int n,x; //输入数组a的长度 scanf("%d",&n); //定义一个长度为n的数组a int a[n]; //输入数组a的每一个元素 for(int i=0;i<n;i++) { scanf("%d",&a[i]); } //输入要查找的元素x scanf("%d",&x); //调用函数find,查找元素x的位置 t=find(a,&n,x); //如果元素x不存在,则输出Not Found if(t==-1) { printf("Not Found"); } //如果元素x存在,则调用函数del,删除元素x的位置,并打印新的数组a else { del(a,&n,x); PrintArr(a,n); } return 0; }
#include<stdio.h>
void insert(int a[],int n,int num)
{
//将num插入到a数组中
a[n]=num;
n++;
//冒泡排序
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
void PrintArr(int a[],int n)
{
//打印数组
for(int i=0;i<n+1;i++)
{
printf("%d",a[i]);
if(i<n)
{
printf(" ");
}
}
}
int main()
{
//输入数组大小
int n;
scanf("%d",&n);
//初始化数组
int a[n];
//输入数组元素
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
//输入插入的元素
int num;
scanf("%d",&num);
//插入元素
insert(a,n,num);
//打印数组
PrintArr(a,n);
return 0;
}
#include<stdio.h>
void insert(int a[],int n,int num)
{
  //将num插入到a数组中
  a[n]=num;
  n++;
  //冒泡排序
  for(int i=0;i<n-1;i++)
  {
    for(int j=0;j<n-1-i;j++)
    {
      if(a[j]>a[j+1])
      {
        int t=a[j];
        a[j]=a[j+1];
        a[j+1]=t;
      }
    }
  }
}
void PrintArr(int a[],int n)
{
  //打印数组
  for(int i=0;i<n+1;i++)
  {
    printf("%d",a[i]);
    if(i<n)
    {
      printf(" ");
    }
  }
}
int main()
{
  //输入数组大小
  int n;
  scanf("%d",&n);
  //初始化数组
  int a[n];
  //输入数组元素
  for(int i=0;i<n;i++)
  {
    scanf("%d",&a[i]);
  }
  //输入插入的元素
  int num;
  scanf("%d",&num);
  //插入元素
  insert(a,n,num);
  //打印数组
  PrintArr(a,n);
  return 0;
}
#include<stdio.h> void insert(int a[],int n,int num) { //将num插入到a数组中 a[n]=num; n++; //冒泡排序 for(int i=0;i<n-1;i++) { for(int j=0;j<n-1-i;j++) { if(a[j]>a[j+1]) { int t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } } void PrintArr(int a[],int n) { //打印数组 for(int i=0;i<n+1;i++) { printf("%d",a[i]); if(i<n) { printf(" "); } } } int main() { //输入数组大小 int n; scanf("%d",&n); //初始化数组 int a[n]; //输入数组元素 for(int i=0;i<n;i++) { scanf("%d",&a[i]); } //输入插入的元素 int num; scanf("%d",&num); //插入元素 insert(a,n,num); //打印数组 PrintArr(a,n); return 0; }
#include<stdio.h>
void sort(int a[],int n)
{
//冒泡排序
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
void PrintArr(int a[],int n)
{
//输出数组
for(int i=0;i<n;i++)
{
printf("%d",a[i]);
if(i<n-1)
{
printf(" ");
}
}
}
int main()
{
//输入数组长度
int n;
scanf("%d",&n);
int a[n];
//输入数组元素
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
//调用冒泡排序函数
sort(a,n);
//输出排序后的数组
PrintArr(a,n);
return 0;
}
#include<stdio.h>
void sort(int a[],int n)
{
  //冒泡排序
  for(int i=0;i<n-1;i++)
  {
    for(int j=0;j<n-1-i;j++)
    {
      if(a[j]>a[j+1])
      {
        int t=a[j];
        a[j]=a[j+1];
        a[j+1]=t;
      }
    }
  }
}
void PrintArr(int a[],int n)
{
  //输出数组
  for(int i=0;i<n;i++)
  {
    printf("%d",a[i]);
    if(i<n-1)
    {
      printf(" ");
    }
  }
}
int main()
{
  //输入数组长度
  int n;
  scanf("%d",&n);
  int a[n];
  //输入数组元素
  for(int i=0;i<n;i++)
  {
    scanf("%d",&a[i]);
  }
  //调用冒泡排序函数
  sort(a,n);
  //输出排序后的数组
  PrintArr(a,n);
  return 0;
}
#include<stdio.h> void sort(int a[],int n) { //冒泡排序 for(int i=0;i<n-1;i++) { for(int j=0;j<n-1-i;j++) { if(a[j]>a[j+1]) { int t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } } void PrintArr(int a[],int n) { //输出数组 for(int i=0;i<n;i++) { printf("%d",a[i]); if(i<n-1) { printf(" "); } } } int main() { //输入数组长度 int n; scanf("%d",&n); int a[n]; //输入数组元素 for(int i=0;i<n;i++) { scanf("%d",&a[i]); } //调用冒泡排序函数 sort(a,n); //输出排序后的数组 PrintArr(a,n); return 0; }
#include<stdio.h>
int MinIndex(int a[],int n)
{
int min = a[0],down=0; //最小值和下标初始为第一个
for (int i = 0; i < n;i++)
{
if(a[i]<min) //如果遍历出来的数比最小值小
{
min = a[i]; //替换最小值
down = i; //记录下标
}
}
return down;
}
int MaxIndex(int a[],int n)
{
int max = a[0], down = n - 1; //最大值和下标初始为最后一个
for (int i = 0; i < n; i++)
{
if (a[i] > max) // 如果遍历出来的数比最大值大
{
max = a[i]; //替换最大值
down = i; //记录下标
}
}
return down;
}
void PrintArr(int a[],int n) //打印函数
{
for (int i = 0; i < n ;i++)
{
printf("%d", a[i]);
if(i<n-1)
{
printf(" ");
}
}
}
int main()
{
int n,x,y,t;
int a[15];
scanf("%d", &n);
for (int i = 0; i < n;i++)
{
scanf("%d", &a[i]);
}
x=MinIndex(a, n); //最小值和第一个交换
t = a[0];
a[0] = a[x];
a[x] = t;
y=MaxIndex(a, n); //最大值与最后一个交换
t = a[n - 1];
a[n - 1] = a[y];
a[y] = t;
PrintArr(a, n);
return 0;
}
#include<stdio.h>
int MinIndex(int a[],int n)
{
    int min = a[0],down=0;    //最小值和下标初始为第一个
    for (int i = 0; i < n;i++)
    {
        if(a[i]<min)    //如果遍历出来的数比最小值小
        {
            min = a[i];    //替换最小值
            down = i;    //记录下标
        }
    }
    return down;
}
int MaxIndex(int a[],int n)
{
    int max = a[0], down = n - 1;     //最大值和下标初始为最后一个
    for (int i = 0; i < n; i++)
    {
        if (a[i] > max)     // 如果遍历出来的数比最大值大
        {
            max = a[i];    //替换最大值
            down = i;    //记录下标
        }
    }
    return down;
}
void PrintArr(int a[],int n)    //打印函数
{
    for (int i = 0; i < n ;i++)
    {
        printf("%d", a[i]);
        if(i<n-1)
        {
            printf(" ");
        }
    }
}
int main()
{
    int n,x,y,t;
    int a[15];
    scanf("%d", &n);
    for (int i = 0; i < n;i++)
    {
        scanf("%d", &a[i]);
    }
    x=MinIndex(a, n);    //最小值和第一个交换
    t = a[0];
    a[0] = a[x];
    a[x] = t;
    y=MaxIndex(a, n);    //最大值与最后一个交换
    t = a[n - 1];
    a[n - 1] = a[y];
    a[y] = t;
    PrintArr(a, n);
    return 0;
}
#include<stdio.h> int MinIndex(int a[],int n) { int min = a[0],down=0; //最小值和下标初始为第一个 for (int i = 0; i < n;i++) { if(a[i]<min) //如果遍历出来的数比最小值小 { min = a[i]; //替换最小值 down = i; //记录下标 } } return down; } int MaxIndex(int a[],int n) { int max = a[0], down = n - 1; //最大值和下标初始为最后一个 for (int i = 0; i < n; i++) { if (a[i] > max) // 如果遍历出来的数比最大值大 { max = a[i]; //替换最大值 down = i; //记录下标 } } return down; } void PrintArr(int a[],int n) //打印函数 { for (int i = 0; i < n ;i++) { printf("%d", a[i]); if(i<n-1) { printf(" "); } } } int main() { int n,x,y,t; int a[15]; scanf("%d", &n); for (int i = 0; i < n;i++) { scanf("%d", &a[i]); } x=MinIndex(a, n); //最小值和第一个交换 t = a[0]; a[0] = a[x]; a[x] = t; y=MaxIndex(a, n); //最大值与最后一个交换 t = a[n - 1]; a[n - 1] = a[y]; a[y] = t; PrintArr(a, n); return 0; }
#include <stdio.h>
// 检查矩阵是否为上三角矩阵
int IsUpperTriMatrix(int a[][10], int n)
{
// 遍历矩阵的每一行
for (int i = 1; i < n; i++)
{
// 遍历当前行的每一列
for (int j = 0; j < i; j++)
{
// 如果当前列的元素不为0,则说明矩阵不是上三角矩阵
if (a[i][j] != 0)
{
return 0;
}
}
}
// 如果遍历完矩阵的每一行,说明矩阵是上三角矩阵
return 1;
}
int main()
{
// 读取矩阵的行数
int n, i, j;
scanf("%d", &n);
// 初始化一个n*n的矩阵
int a[10][10];
// 读取矩阵的每一个元素
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &a[i][j]);
}
}
// 调用函数检查矩阵是否为上三角矩阵
if (IsUpperTriMatrix(a, n))
{
printf("YES\n");
}
else
{
printf("NO\n");
}
return 0;
}
#include <stdio.h>

// 检查矩阵是否为上三角矩阵
int IsUpperTriMatrix(int a[][10], int n)
{
    // 遍历矩阵的每一行
    for (int i = 1; i < n; i++)
    {
        // 遍历当前行的每一列
        for (int j = 0; j < i; j++)
        {
            // 如果当前列的元素不为0,则说明矩阵不是上三角矩阵
            if (a[i][j] != 0)
            {
                return 0;
            }
        }
    }
    // 如果遍历完矩阵的每一行,说明矩阵是上三角矩阵
    return 1;
}

int main()
{
    // 读取矩阵的行数
    int n, i, j;
    scanf("%d", &n);
    // 初始化一个n*n的矩阵
    int a[10][10];
    // 读取矩阵的每一个元素
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf("%d", &a[i][j]);
        }
    }
    // 调用函数检查矩阵是否为上三角矩阵
    if (IsUpperTriMatrix(a, n))
    {
        printf("YES\n");
    }
    else
    {
        printf("NO\n");
    }
    return 0;
}
#include <stdio.h> // 检查矩阵是否为上三角矩阵 int IsUpperTriMatrix(int a[][10], int n) { // 遍历矩阵的每一行 for (int i = 1; i < n; i++) { // 遍历当前行的每一列 for (int j = 0; j < i; j++) { // 如果当前列的元素不为0,则说明矩阵不是上三角矩阵 if (a[i][j] != 0) { return 0; } } } // 如果遍历完矩阵的每一行,说明矩阵是上三角矩阵 return 1; } int main() { // 读取矩阵的行数 int n, i, j; scanf("%d", &n); // 初始化一个n*n的矩阵 int a[10][10]; // 读取矩阵的每一个元素 for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf("%d", &a[i][j]); } } // 调用函数检查矩阵是否为上三角矩阵 if (IsUpperTriMatrix(a, n)) { printf("YES\n"); } else { printf("NO\n"); } return 0; }
#include <stdio.h>
int boolf(int a[][100], int n)
{
// 定义两个标志变量,用于记录异常的行和列
int flag1 = 0, flag2 = 0, x, y;
// 遍历每一行,检查每一行的和是否为奇数
for (int i = 0; i < n ; i++)
{
int sum = 0;
// 计算每一行的和
for (int j = 0; j < n ; j++)
{
sum += a[i][j];
}
// 如果和为奇数,则记录异常的行
if (sum % 2 != 0)
{
flag1++;
x = i;
}
}
// 遍历每一列,检查每一列的和是否为奇数
for (int i = 0; i < n ; i++)
{
int sum = 0;
// 计算每一列的和
for (int j = 0; j < n ; j++)
{
sum += a[j][i];
}
// 如果和为奇数,则记录异常的列
if (sum % 2 != 0)
{
flag2++;
y = i;
}
}
// 如果异常的行和列都为0,则说明没有异常,输出OK
if (flag1 == 0 && flag2 == 0)
{
printf("OK");
}
// 如果异常的行和列只有一个,则说明只修改一个位置,输出修改位置的行列坐标
else if (flag1 == 1 && flag2 == 1)
{
printf("Change bit(%d,%d)", x, y);
}
// 如果异常的行和列有两个,则说明整张图片异常,输出corrupt
else
printf("Corrupt");
}
int main()
{
// 定义一个变量,用于存储图片的行数
int n;
// 定义一个二维数组,用于存储图片的像素值
int a[100][100];
// 读取图片的行数
scanf("%d", &n);
// 读取图片的像素值
for (int i = 0; i < n ; i++)
{
for (int j = 0; j < n ; j++)
{
scanf("%d", &a[i][j]);
}
}
// 调用boolf函数,检查图片是否异常
boolf(a, n);
return 0;
}
#include <stdio.h>

int boolf(int a[][100], int n)
{
    // 定义两个标志变量,用于记录异常的行和列
    int flag1 = 0, flag2 = 0, x, y;
    // 遍历每一行,检查每一行的和是否为奇数
    for (int i = 0; i < n ; i++)
    {
        int sum = 0;
        // 计算每一行的和
        for (int j = 0; j < n ; j++)
        {
            sum += a[i][j];
        }
        // 如果和为奇数,则记录异常的行
        if (sum % 2 != 0)
        {
            flag1++;
            x = i;
        }
    }
    // 遍历每一列,检查每一列的和是否为奇数
    for (int i = 0; i < n ; i++)
    {
        int sum = 0;
        // 计算每一列的和
        for (int j = 0; j < n ; j++)
        {
            sum += a[j][i];
        }
        // 如果和为奇数,则记录异常的列
        if (sum % 2 != 0)
        {
            flag2++;
            y = i;
        }
    }
    // 如果异常的行和列都为0,则说明没有异常,输出OK
    if (flag1 == 0 && flag2 == 0)
    {
        printf("OK");
    }
    // 如果异常的行和列只有一个,则说明只修改一个位置,输出修改位置的行列坐标
    else if (flag1 == 1 && flag2 == 1)
    {
        printf("Change bit(%d,%d)", x, y);
    }
    // 如果异常的行和列有两个,则说明整张图片异常,输出corrupt
    else
        printf("Corrupt");
}

int main()
{
    // 定义一个变量,用于存储图片的行数
    int n;
    // 定义一个二维数组,用于存储图片的像素值
    int a[100][100];
    // 读取图片的行数
    scanf("%d", &n);
    // 读取图片的像素值
    for (int i = 0; i < n ; i++)
    {
        for (int j = 0; j < n ; j++)
        {
            scanf("%d", &a[i][j]);
        }
    }
    // 调用boolf函数,检查图片是否异常
    boolf(a, n);
    return 0;
}
#include <stdio.h> int boolf(int a[][100], int n) { // 定义两个标志变量,用于记录异常的行和列 int flag1 = 0, flag2 = 0, x, y; // 遍历每一行,检查每一行的和是否为奇数 for (int i = 0; i < n ; i++) { int sum = 0; // 计算每一行的和 for (int j = 0; j < n ; j++) { sum += a[i][j]; } // 如果和为奇数,则记录异常的行 if (sum % 2 != 0) { flag1++; x = i; } } // 遍历每一列,检查每一列的和是否为奇数 for (int i = 0; i < n ; i++) { int sum = 0; // 计算每一列的和 for (int j = 0; j < n ; j++) { sum += a[j][i]; } // 如果和为奇数,则记录异常的列 if (sum % 2 != 0) { flag2++; y = i; } } // 如果异常的行和列都为0,则说明没有异常,输出OK if (flag1 == 0 && flag2 == 0) { printf("OK"); } // 如果异常的行和列只有一个,则说明只修改一个位置,输出修改位置的行列坐标 else if (flag1 == 1 && flag2 == 1) { printf("Change bit(%d,%d)", x, y); } // 如果异常的行和列有两个,则说明整张图片异常,输出corrupt else printf("Corrupt"); } int main() { // 定义一个变量,用于存储图片的行数 int n; // 定义一个二维数组,用于存储图片的像素值 int a[100][100]; // 读取图片的行数 scanf("%d", &n); // 读取图片的像素值 for (int i = 0; i < n ; i++) { for (int j = 0; j < n ; j++) { scanf("%d", &a[i][j]); } } // 调用boolf函数,检查图片是否异常 boolf(a, n); return 0; }
#include<stdio.h>
int main()
{
//定义变量
int m, p, n;
int arr[15][15];
int brr[15][15];
int crr[15][15];
//输入变量
scanf("%d %d %d", &m, &p, &n);
//输入arr
for (int i = 0; i < m;i++)
{
for (int j = 0; j < p;j++)
{
scanf("%d", &arr[i][j]);
}
}
//输入brr
for (int i = 0; i < p;i++)
{
for (int j = 0; j < n;j++)
{
scanf("%d", &brr[i][j]);
}
}
//计算crr
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
crr[i][j] = 0;
for (int k = 0; k < p; k++)
{
crr[i][j] += arr[i][k] * brr[k][j];
}
}
}
//输出crr
for (int i = 0; i < m; i++)
{
printf("%d", crr[i][0]);
for (int j = 1; j < n; j++)
{
printf(" %d", crr[i][j]);
}
printf("\n");
}
return 0;
}
#include<stdio.h>
int main()
{
    //定义变量
    int m, p, n;
    int arr[15][15];
    int brr[15][15];
    int crr[15][15];
    //输入变量
    scanf("%d %d %d", &m, &p, &n);
    //输入arr
    for (int i = 0; i < m;i++)
    {
        for (int j = 0; j < p;j++)
        {
            scanf("%d", &arr[i][j]);
        }
    }
    //输入brr
    for (int i = 0; i < p;i++)
    {
        for (int j = 0; j < n;j++)
        {
            scanf("%d", &brr[i][j]);
        }
    }
    //计算crr
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
        {
            crr[i][j] = 0;
            for (int k = 0; k < p; k++)
            {
                crr[i][j] += arr[i][k] * brr[k][j];
            }
        }
    }
    //输出crr
    for (int i = 0; i < m; i++)
    {
        printf("%d", crr[i][0]);
        for (int j = 1; j < n; j++)
        {
            printf(" %d", crr[i][j]);
        }
        printf("\n");
    }
    return 0;
}
#include<stdio.h> int main() { //定义变量 int m, p, n; int arr[15][15]; int brr[15][15]; int crr[15][15]; //输入变量 scanf("%d %d %d", &m, &p, &n); //输入arr for (int i = 0; i < m;i++) { for (int j = 0; j < p;j++) { scanf("%d", &arr[i][j]); } } //输入brr for (int i = 0; i < p;i++) { for (int j = 0; j < n;j++) { scanf("%d", &brr[i][j]); } } //计算crr for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { crr[i][j] = 0; for (int k = 0; k < p; k++) { crr[i][j] += arr[i][k] * brr[k][j]; } } } //输出crr for (int i = 0; i < m; i++) { printf("%d", crr[i][0]); for (int j = 1; j < n; j++) { printf(" %d", crr[i][j]); } printf("\n"); } return 0; }
#include<stdio.h>
int main()
{
//定义两个整型变量m和n
int m, n;
//定义一个二维数组a,大小为m*n
double a[1005][15];
//输入m和n
scanf("%d %d", &m, &n);
//循环m次,每次循环输入a[i][j]
for (int i = 0; i < m;i++)
{
for (int j = 0; j < n;j++)
{
scanf("%lf", &a[i][j]);
}
}
//循环n次,每次循环计算每一列的平均值
for (int i = 0; i < n;i++)
{
double sum = 0;
//循环m次,每次循环累加a[j][i]
for (int j = 0; j < m;j++)
{
sum += a[j][i];
}
//计算每一列的平均值
double avg = sum / m;
//输出平均值,保留两位小数
printf("%.2lf", avg);
//如果不是最后一行,输出空格
if(i!=n-1)
{
printf(" ");
}
}
return 0;
}
#include<stdio.h>
int main()
{
    //定义两个整型变量m和n
    int m, n;
    //定义一个二维数组a,大小为m*n
    double a[1005][15];
    //输入m和n
    scanf("%d %d", &m, &n);
    //循环m次,每次循环输入a[i][j]
    for (int i = 0; i < m;i++)
    {
        for (int j = 0; j < n;j++)
        {
            scanf("%lf", &a[i][j]);
        }
    }
    //循环n次,每次循环计算每一列的平均值
    for (int i = 0; i < n;i++)
    {
        double sum = 0;
        //循环m次,每次循环累加a[j][i]
        for (int j = 0; j < m;j++)
        {
            sum += a[j][i];
        }
        //计算每一列的平均值
        double avg = sum / m;
        //输出平均值,保留两位小数
        printf("%.2lf", avg);
        //如果不是最后一行,输出空格
        if(i!=n-1)
        {
            printf(" ");
        }
    }
        return 0;
}
#include<stdio.h> int main() { //定义两个整型变量m和n int m, n; //定义一个二维数组a,大小为m*n double a[1005][15]; //输入m和n scanf("%d %d", &m, &n); //循环m次,每次循环输入a[i][j] for (int i = 0; i < m;i++) { for (int j = 0; j < n;j++) { scanf("%lf", &a[i][j]); } } //循环n次,每次循环计算每一列的平均值 for (int i = 0; i < n;i++) { double sum = 0; //循环m次,每次循环累加a[j][i] for (int j = 0; j < m;j++) { sum += a[j][i]; } //计算每一列的平均值 double avg = sum / m; //输出平均值,保留两位小数 printf("%.2lf", avg); //如果不是最后一行,输出空格 if(i!=n-1) { printf(" "); } } return 0; }
//纯暴力手法
#include <stdio.h>
int main()
{
// 定义变量
int year, month, day, num = 0;
// 输入
scanf("%d-%d-%d", &year, &month, &day);
// 判断是否为闰年
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
// 根据月份判断
switch (month)
{
case 1:
printf("%d", day);
break;
case 2:
printf("%d", 31 + day);
break;
case 3:
printf("%d", 31 + 29 + day);
break;
case 4:
printf("%d", 31 * 2 + 29 + day);
break;
case 5:
printf("%d", 31 * 2 + 29 + 30 + day);
break;
case 6:
printf("%d", 31 * 3 + 29 + 30 + day);
break;
case 7:
printf("%d", 31 * 3 + 29 + 30 * 2 + day);
break;
case 8:
printf("%d", 31 * 4 + 29 + 30 * 2 + day);
break;
case 9:
printf("%d", 31 * 5 + 29 + 30 * 2 + day);
break;
case 10:
printf("%d", 31 * 5 + 29 + 30 * 3 + day);
break;
case 11:
printf("%d", 31 * 6 + 29 + 30 * 3 + day);
break;
case 12:
printf("%d", 31 * 6 + 29 + 30 * 4 + day);
break;
}
}
// 不是闰年
else
{
// 根据月份判断
switch (month)
{
case 1:
printf("%d", day);
break;
case 2:
printf("%d", 31 + day);
break;
case 3:
printf("%d", 31 + 28 + day);
break;
case 4:
printf("%d", 31 * 2 + 28 + day);
break;
case 5:
printf("%d", 31 * 2 + 28 + 30 + day);
break;
case 6:
printf("%d", 31 * 3 + 28 + 30 + day);
break;
case 7:
printf("%d", 31 * 3 + 28 + 30 * 2 + day);
break;
case 8:
printf("%d", 31 * 4 + 28 + 30 * 2 + day);
break;
case 9:
printf("%d", 31 * 5 + 28 + 30 * 2 + day);
break;
case 10:
printf("%d", 31 * 5 + 28 + 30 * 3 + day);
break;
case 11:
printf("%d", 31 * 6 + 28 + 30 * 3 + day);
break;
case 12:
printf("%d", 31 * 6 + 28 + 30 * 4 + day);
break;
}
}
return 0;
}
//纯暴力手法
#include <stdio.h>
int main()
{
    // 定义变量
    int year, month, day, num = 0;
    // 输入
    scanf("%d-%d-%d", &year, &month, &day);
    // 判断是否为闰年
    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
    {
        // 根据月份判断
        switch (month)
        {
        case 1:
            printf("%d", day);
            break;
        case 2:
            printf("%d", 31 + day);
            break;
        case 3:
            printf("%d", 31 + 29 + day);
            break;
        case 4:
            printf("%d", 31 * 2 + 29 + day);
            break;
        case 5:
            printf("%d", 31 * 2 + 29 + 30 + day);
            break;
        case 6:
            printf("%d", 31 * 3 + 29 + 30 + day);
            break;
        case 7:
            printf("%d", 31 * 3 + 29 + 30 * 2 + day);
            break;
        case 8:
            printf("%d", 31 * 4 + 29 + 30 * 2 + day);
            break;
        case 9:
            printf("%d", 31 * 5 + 29 + 30 * 2 + day);
            break;
        case 10:
            printf("%d", 31 * 5 + 29 + 30 * 3 + day);
            break;
        case 11:
            printf("%d", 31 * 6 + 29 + 30 * 3 + day);
            break;
        case 12:
            printf("%d", 31 * 6 + 29 + 30 * 4 + day);
            break;
        }
    }
    // 不是闰年
    else
    {
        // 根据月份判断
        switch (month)
        {
        case 1:
            printf("%d", day);
            break;
        case 2:
            printf("%d", 31 + day);
            break;
        case 3:
            printf("%d", 31 + 28 + day);
            break;
        case 4:
            printf("%d", 31 * 2 + 28 + day);
            break;
        case 5:
            printf("%d", 31 * 2 + 28 + 30 + day);
            break;
        case 6:
            printf("%d", 31 * 3 + 28 + 30 + day);
            break;
        case 7:
            printf("%d", 31 * 3 + 28 + 30 * 2 + day);
            break;
        case 8:
            printf("%d", 31 * 4 + 28 + 30 * 2 + day);
            break;
        case 9:
            printf("%d", 31 * 5 + 28 + 30 * 2 + day);
            break;
        case 10:
            printf("%d", 31 * 5 + 28 + 30 * 3 + day);
            break;
        case 11:
            printf("%d", 31 * 6 + 28 + 30 * 3 + day);
            break;
        case 12:
            printf("%d", 31 * 6 + 28 + 30 * 4 + day);
            break;
        }
    }
    return 0;
}
//纯暴力手法 #include <stdio.h> int main() { // 定义变量 int year, month, day, num = 0; // 输入 scanf("%d-%d-%d", &year, &month, &day); // 判断是否为闰年 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { // 根据月份判断 switch (month) { case 1: printf("%d", day); break; case 2: printf("%d", 31 + day); break; case 3: printf("%d", 31 + 29 + day); break; case 4: printf("%d", 31 * 2 + 29 + day); break; case 5: printf("%d", 31 * 2 + 29 + 30 + day); break; case 6: printf("%d", 31 * 3 + 29 + 30 + day); break; case 7: printf("%d", 31 * 3 + 29 + 30 * 2 + day); break; case 8: printf("%d", 31 * 4 + 29 + 30 * 2 + day); break; case 9: printf("%d", 31 * 5 + 29 + 30 * 2 + day); break; case 10: printf("%d", 31 * 5 + 29 + 30 * 3 + day); break; case 11: printf("%d", 31 * 6 + 29 + 30 * 3 + day); break; case 12: printf("%d", 31 * 6 + 29 + 30 * 4 + day); break; } } // 不是闰年 else { // 根据月份判断 switch (month) { case 1: printf("%d", day); break; case 2: printf("%d", 31 + day); break; case 3: printf("%d", 31 + 28 + day); break; case 4: printf("%d", 31 * 2 + 28 + day); break; case 5: printf("%d", 31 * 2 + 28 + 30 + day); break; case 6: printf("%d", 31 * 3 + 28 + 30 + day); break; case 7: printf("%d", 31 * 3 + 28 + 30 * 2 + day); break; case 8: printf("%d", 31 * 4 + 28 + 30 * 2 + day); break; case 9: printf("%d", 31 * 5 + 28 + 30 * 2 + day); break; case 10: printf("%d", 31 * 5 + 28 + 30 * 3 + day); break; case 11: printf("%d", 31 * 6 + 28 + 30 * 3 + day); break; case 12: printf("%d", 31 * 6 + 28 + 30 * 4 + day); break; } } return 0; }
#include<stdio.h>
int main()
{
//定义一个变量n
int n;
//定义一个二维数组a,初始值为1
int a[35][35]={1};
//输入n
scanf("%d",&n);
//循环n次
for (int i = 0; i < n;i++)
{
//循环i次
for (int j = 0; j < i + 1;j++)
{
//如果i等于0或者j等于0,则a[i][0]等于1
if(i==0||j==0)
{
a[i][0] = 1;
}
//如果i大于0且j不等于0,则a[i][j]等于a[i - 1][j - 1] + a[i - 1][j]
if(i>0&&j!=0)
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
//输出a[i][j]
printf("%d", a[i][j]);
//如果j小于n-1,则输出空格
if(j<n-1)
printf(" ");
//如果j等于i,则换行
if(j==i)
{
printf("\n");
}
}
}
return 0;
}
#include<stdio.h>
int main()
{
    //定义一个变量n
    int n;
    //定义一个二维数组a,初始值为1
    int a[35][35]={1};
    //输入n
    scanf("%d",&n);
    //循环n次
    for (int i = 0; i < n;i++)
    {
        //循环i次
        for (int j = 0; j < i + 1;j++)
        {
            //如果i等于0或者j等于0,则a[i][0]等于1
            if(i==0||j==0)
            {
                a[i][0] = 1;
            }
            //如果i大于0且j不等于0,则a[i][j]等于a[i - 1][j - 1] + a[i - 1][j]
            if(i>0&&j!=0)
            {
                a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
            }
            //输出a[i][j]
            printf("%d", a[i][j]);
            //如果j小于n-1,则输出空格
            if(j<n-1)
                printf(" ");
            //如果j等于i,则换行
            if(j==i)
            {
                printf("\n");
            }
        }
    }
        return 0;
}
#include<stdio.h> int main() { //定义一个变量n int n; //定义一个二维数组a,初始值为1 int a[35][35]={1}; //输入n scanf("%d",&n); //循环n次 for (int i = 0; i < n;i++) { //循环i次 for (int j = 0; j < i + 1;j++) { //如果i等于0或者j等于0,则a[i][0]等于1 if(i==0||j==0) { a[i][0] = 1; } //如果i大于0且j不等于0,则a[i][j]等于a[i - 1][j - 1] + a[i - 1][j] if(i>0&&j!=0) { a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; } //输出a[i][j] printf("%d", a[i][j]); //如果j小于n-1,则输出空格 if(j<n-1) printf(" "); //如果j等于i,则换行 if(j==i) { printf("\n"); } } } return 0; }
#include <stdio.h>
int main()
{
// 定义一个字符数组
char a[105];
// 定义一个整型数组,用于存储每个字母出现的次数
int s[27] = {0}, i = 0, m = 0, j;
// 读取字符串,并将其中的大写字母转换为小写字母
while ((a[i] = getchar()) != '\n')
{
if (a[i] >= 'A' && a[i] <= 'Z')
a[i] = a[i] + 32;
// 计算每个字母出现的次数
j = a[i] - 'a';
s[j] += 1;
i++;
}
// 遍历数组,找到出现次数最多的字母
for (i = 0; i < 26; i++)
{
if (s[m] < s[i])
{
m = i;
}
}
// 输出出现次数最多的字母
printf("%c", m + 'a');
return 0;
}
#include <stdio.h>
int main()
{
    // 定义一个字符数组
    char a[105];
    // 定义一个整型数组,用于存储每个字母出现的次数
    int s[27] = {0}, i = 0, m = 0, j;
    // 读取字符串,并将其中的大写字母转换为小写字母
    while ((a[i] = getchar()) != '\n')
    {
        if (a[i] >= 'A' && a[i] <= 'Z')
            a[i] = a[i] + 32;
        // 计算每个字母出现的次数
        j = a[i] - 'a';
        s[j] += 1;
        i++;
    }
    // 遍历数组,找到出现次数最多的字母
    for (i = 0; i < 26; i++)
    {
        if (s[m] < s[i])
        {
            m = i;
        }
    }
    // 输出出现次数最多的字母
    printf("%c", m + 'a');
    return 0;
}
#include <stdio.h> int main() { // 定义一个字符数组 char a[105]; // 定义一个整型数组,用于存储每个字母出现的次数 int s[27] = {0}, i = 0, m = 0, j; // 读取字符串,并将其中的大写字母转换为小写字母 while ((a[i] = getchar()) != '\n') { if (a[i] >= 'A' && a[i] <= 'Z') a[i] = a[i] + 32; // 计算每个字母出现的次数 j = a[i] - 'a'; s[j] += 1; i++; } // 遍历数组,找到出现次数最多的字母 for (i = 0; i < 26; i++) { if (s[m] < s[i]) { m = i; } } // 输出出现次数最多的字母 printf("%c", m + 'a'); return 0; }
#include <stdio.h>
int main()
{
// 定义变量n和t
int n, t;
// 定义变量ch
char ch;
// 输入变量n
scanf("%d", &n);
// 跳过换行符
getchar();
// 循环n次
for (int i = 0; i < n; i++)
{
// 初始化t为0
t = 0;
// 循环读取字符,直到遇到换行符
while ((ch= getchar()) != '\n')
{
// 如果字符大于等于0且小于等于9,t加1
if (ch>= '0' && ch <= '9')
{
t++;
}
}
// 输出t
printf("%d\n", t);
}
return 0;
}
#include <stdio.h>
int main()
{
    // 定义变量n和t
    int n, t;
    // 定义变量ch
    char ch;
    // 输入变量n
    scanf("%d", &n);
    // 跳过换行符
    getchar();
    // 循环n次
    for (int i = 0; i < n; i++)
    {
        // 初始化t为0
        t = 0;
        // 循环读取字符,直到遇到换行符
        while ((ch= getchar()) != '\n')
        {
            // 如果字符大于等于0且小于等于9,t加1
            if (ch>= '0' && ch <= '9')
            {
                t++;
            }
        }
        // 输出t
        printf("%d\n", t);
    }
    return 0;
}
#include <stdio.h> int main() { // 定义变量n和t int n, t; // 定义变量ch char ch; // 输入变量n scanf("%d", &n); // 跳过换行符 getchar(); // 循环n次 for (int i = 0; i < n; i++) { // 初始化t为0 t = 0; // 循环读取字符,直到遇到换行符 while ((ch= getchar()) != '\n') { // 如果字符大于等于0且小于等于9,t加1 if (ch>= '0' && ch <= '9') { t++; } } // 输出t printf("%d\n", t); } return 0; }
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main () {
// 定义变量
int count = 0, len;
char ch[1001];
// 读取一行字符串
fgets(ch, sizeof(ch), stdin);
// 计算字符串长度
len = strlen(ch);
// 如果字符串最后是换行符,则去掉换行符
if (ch[len-1] == '\n') {
ch[len-1] = '\0'; // 移除末尾的换行符
len--;
}
// 计算空格数量
for (int i = 0; i < len; i++) {
// 判断字符串中每个字符的前一个字符是否是字母或数字,且当前字符是否是空格
if (isalnum(ch[i-1]) && ch[i] == ' '){
count++;
}
}
// 判断字符串最后一个字符是否是字母或数字
if (isalnum(ch[len-1])){
count++;
}
// 输出空格数量
printf ("%d",count);
return 0;
}
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main () {
  // 定义变量
  int count = 0, len;
  char ch[1001];
  // 读取一行字符串
  fgets(ch, sizeof(ch), stdin);
  // 计算字符串长度
  len  = strlen(ch);
  
  // 如果字符串最后是换行符,则去掉换行符
  if (ch[len-1] == '\n') {
    ch[len-1] = '\0'; // 移除末尾的换行符
    len--; 
  }
  
  // 计算空格数量
  for (int i = 0; i < len; i++) {
    // 判断字符串中每个字符的前一个字符是否是字母或数字,且当前字符是否是空格
    if (isalnum(ch[i-1]) && ch[i] == ' '){
      count++;
    }
  }
  
  // 判断字符串最后一个字符是否是字母或数字
  if (isalnum(ch[len-1])){
    count++;
  }
  
  // 输出空格数量
  printf ("%d",count);
  return 0;
}
#include <stdio.h> #include <string.h> #include <ctype.h> int main () { // 定义变量 int count = 0, len; char ch[1001]; // 读取一行字符串 fgets(ch, sizeof(ch), stdin); // 计算字符串长度 len = strlen(ch); // 如果字符串最后是换行符,则去掉换行符 if (ch[len-1] == '\n') { ch[len-1] = '\0'; // 移除末尾的换行符 len--; } // 计算空格数量 for (int i = 0; i < len; i++) { // 判断字符串中每个字符的前一个字符是否是字母或数字,且当前字符是否是空格 if (isalnum(ch[i-1]) && ch[i] == ' '){ count++; } } // 判断字符串最后一个字符是否是字母或数字 if (isalnum(ch[len-1])){ count++; } // 输出空格数量 printf ("%d",count); return 0; }
#include <stdio.h>
int main()
{
char arr[101];
int sum=0;
gets(arr);
int i=0;
for(i=0;arr[i]!='\0';i++)
{
if(arr[i]>='0'&&arr[i]<='9'){
sum=sum*10+arr[i]-'0';
}
}
sum=sum*2;
printf("%d",sum);
}
#include <stdio.h>
int main()
{
  char arr[101];
  int sum=0;
  gets(arr);
  int i=0;
  for(i=0;arr[i]!='\0';i++)
  {
    if(arr[i]>='0'&&arr[i]<='9'){
      sum=sum*10+arr[i]-'0';
    }
   } 
   sum=sum*2;
   printf("%d",sum);
 } 
#include <stdio.h> int main() { char arr[101]; int sum=0; gets(arr); int i=0; for(i=0;arr[i]!='\0';i++) { if(arr[i]>='0'&&arr[i]<='9'){ sum=sum*10+arr[i]-'0'; } } sum=sum*2; printf("%d",sum); }
#include <stdio.h>
#include <stdlib.h>
int main()
{
double w,p,sum=0;
while(~scanf("%*s%lf%lf",&w,&p))
//与!=EOF等价
{
sum=sum+w*p;
}
printf("%.1f\n",sum);
return 0;
}
#include <stdio.h> 
#include <stdlib.h> 
 
int main()
{
    double w,p,sum=0;
    while(~scanf("%*s%lf%lf",&w,&p))
        //与!=EOF等价
    {
        sum=sum+w*p;
    }
    printf("%.1f\n",sum);
    return 0;
}
#include <stdio.h> #include <stdlib.h> int main() { double w,p,sum=0; while(~scanf("%*s%lf%lf",&w,&p)) //与!=EOF等价 { sum=sum+w*p; } printf("%.1f\n",sum); return 0; }

#include <stdio.h>
#include <string.h>
int main()
{
char a[100];
gets(a);
int i;
for(i=0;a[i]!='\0';i++)
{
if(a[i]==' '&&a[i+1]!=' ')
{
if(a[i+1]>='a'&&a[i+1]<='z')
a[i+1]=a[i+1]-32;
}
}
if(a[0]>='a'&&a[0]<='z')
a[0]=a[0]-32;
puts(a);
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
    char a[100];
    gets(a);
    int i;
    for(i=0;a[i]!='\0';i++)
    {
        if(a[i]==' '&&a[i+1]!=' ')
        {
            if(a[i+1]>='a'&&a[i+1]<='z')
                a[i+1]=a[i+1]-32;
        }
    }
    if(a[0]>='a'&&a[0]<='z')
        a[0]=a[0]-32;
    puts(a);
    return 0;
 
}
#include <stdio.h> #include <string.h> int main() { char a[100]; gets(a); int i; for(i=0;a[i]!='\0';i++) { if(a[i]==' '&&a[i+1]!=' ') { if(a[i+1]>='a'&&a[i+1]<='z') a[i+1]=a[i+1]-32; } } if(a[0]>='a'&&a[0]<='z') a[0]=a[0]-32; puts(a); return 0; }
#include <stdio.h>
#include <string.h>
int main()
{ int i;
int j;
char arr[1000];
gets(arr);
int sum[1000]={0};
int x=strlen(arr);
char max=arr[1];
for(i=0;i<x;i++){
if(arr[i]>max)
{
max=arr[i];
}
}
for(i=0;i<x;i++){
if(max==arr[i]){
printf("%c(max)", arr[i]);}
else{
printf("%c", arr[i]);}
}
return 0;
}
#include <stdio.h>
#include <string.h> 
int main()
{    int i;
     int j;
  char arr[1000];
  gets(arr);
  int sum[1000]={0};
  int x=strlen(arr);
    char max=arr[1];
  for(i=0;i<x;i++){
    if(arr[i]>max)
    {   
      max=arr[i];
    }
    }
 
    for(i=0;i<x;i++){
     if(max==arr[i]){
     
            printf("%c(max)", arr[i]);}
        else{
    
            printf("%c", arr[i]);}
  }
  
  return 0;
  
  
 }
#include <stdio.h> #include <string.h> int main() { int i; int j; char arr[1000]; gets(arr); int sum[1000]={0}; int x=strlen(arr); char max=arr[1]; for(i=0;i<x;i++){ if(arr[i]>max) { max=arr[i]; } } for(i=0;i<x;i++){ if(max==arr[i]){ printf("%c(max)", arr[i]);} else{ printf("%c", arr[i]);} } return 0; }
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char a[51];
int i=0;
int count=0;
gets(a);
int x=strlen(a);
if((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z')||(a[0]=='_'))
{
for(i=0;i<x;i++)
{
if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')||(a[i]=='_')||(a[i]>='0'&&a[i]<='9'))
{
count++;
}
}
if(count==x)
{
printf("yes");
}
else{
printf("no");
}
}
else{
printf("no");
}
return 0;
}
#include <stdio.h>  
#include <stdlib.h>  
#include <string.h>
int main() {  
  char a[51];
  int i=0;
  int count=0;
  gets(a);
  int x=strlen(a); 
 if((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z')||(a[0]=='_'))
     {
       for(i=0;i<x;i++)
       {
         if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')||(a[i]=='_')||(a[i]>='0'&&a[i]<='9'))
         {  
           count++;
           
       }
     }
  if(count==x)
{
  printf("yes");
}
  else{
  printf("no");
}     
  
}
else{
  printf("no");
}

  return 0;
}
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char a[51]; int i=0; int count=0; gets(a); int x=strlen(a); if((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z')||(a[0]=='_')) { for(i=0;i<x;i++) { if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')||(a[i]=='_')||(a[i]>='0'&&a[i]<='9')) { count++; } } if(count==x) { printf("yes"); } else{ printf("no"); } } else{ printf("no"); } return 0; }
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int n;
int i=0;
char min[1001],max[1001];
scanf("%d",&n);
getchar();
gets(max);
strcpy(min,max);
for(i=1;i<n;i++)
{
gets(max);
if(strlen(max)<strlen(min)){
strcpy(min,max);
}
}
puts(min);
return 0;
}
#include <stdio.h>  
#include <stdlib.h>  
#include <string.h>
int main()
{
  int n;
  int i=0;
  char min[1001],max[1001];
  scanf("%d",&n);
  getchar();
  gets(max);
  strcpy(min,max);
  for(i=1;i<n;i++)
  {
    gets(max);
    if(strlen(max)<strlen(min)){
      strcpy(min,max);
    }
    
  }
     puts(min);
     return 0;
  
  
  
  
}
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int n; int i=0; char min[1001],max[1001]; scanf("%d",&n); getchar(); gets(max); strcpy(min,max); for(i=1;i<n;i++) { gets(max); if(strlen(max)<strlen(min)){ strcpy(min,max); } } puts(min); return 0; }
#include <stdio.h>
#include <string.h>
int main()
{
int t,n;
scanf("%d",&t);
int i,j;
char a[1000];
for(i=0;i<t;i++)
{
scanf("%s%d",a,&n);
for(j=0;a[j]!='\0';j++)
{
if(a[j]=='.')
{
break;
}
}
if((j+n)<strlen(a))
{
printf("%c\n",a[j+n]);
}
else printf("0\n");
}
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
  int t,n;
  scanf("%d",&t);
  int i,j;
  char a[1000];
  for(i=0;i<t;i++)
  {
    scanf("%s%d",a,&n);
    for(j=0;a[j]!='\0';j++)
    {
      if(a[j]=='.')
      {
        break;
      }
    }
    if((j+n)<strlen(a))
    {
      printf("%c\n",a[j+n]);
    }
    else printf("0\n");
  }
  return 0;
}
#include <stdio.h> #include <string.h> int main() { int t,n; scanf("%d",&t); int i,j; char a[1000]; for(i=0;i<t;i++) { scanf("%s%d",a,&n); for(j=0;a[j]!='\0';j++) { if(a[j]=='.') { break; } } if((j+n)<strlen(a)) { printf("%c\n",a[j+n]); } else printf("0\n"); } return 0; }

python

n=int(input())
for x in range(n):
a,b=input().split()
a=a.split('.')
if(int(b)<=len(a[1])):
print(a[1][int(b)-1])
else:
print(0)
n=int(input())
for x  in range(n):
    a,b=input().split()
    a=a.split('.')
    if(int(b)<=len(a[1])):
        print(a[1][int(b)-1])
    else:
        print(0)
n=int(input()) for x in range(n): a,b=input().split() a=a.split('.') if(int(b)<=len(a[1])): print(a[1][int(b)-1]) else: print(0)
#include <stdio.h>
void convert(int n, char str[]);
int main()
{
int n;
char str[100001];
convert(n,str);
return 0;
}
void convert(int n, char str[]){
int t=0;
int i=0;
int g;
int h=0;
scanf("%d",&n);
while(n!=0)
{
str[h++]=n%2;
n=n/2;
t++;
}
for(i=t-1;i>=0;i--){
if(str[i]!=0)
{
g=i;
break;
}
}
for(i=g-1;g>=0;g--){
printf("%d",str[g]);
}
}
#include <stdio.h>
void convert(int n, char str[]);
int main()
{
  int n;
  char str[100001];
  convert(n,str);
  return 0;

}
void convert(int n, char str[]){
  int t=0;
  int i=0;
  int g;
  int h=0;
   scanf("%d",&n);
   while(n!=0)
   { 
    str[h++]=n%2;
     n=n/2;
     t++;
   }
   for(i=t-1;i>=0;i--){
     if(str[i]!=0)
     {
       g=i;
       break;
     }
   }
    for(i=g-1;g>=0;g--){
    printf("%d",str[g]);
  
}
}
#include <stdio.h> void convert(int n, char str[]); int main() { int n; char str[100001]; convert(n,str); return 0; } void convert(int n, char str[]){ int t=0; int i=0; int g; int h=0; scanf("%d",&n); while(n!=0) { str[h++]=n%2; n=n/2; t++; } for(i=t-1;i>=0;i--){ if(str[i]!=0) { g=i; break; } } for(i=g-1;g>=0;g--){ printf("%d",str[g]); } }
#include <stdio.h>
#include<string.h>
#include <math.h>
int bToD(char str[]);
void c(int brr[],int n);
void swap(int* g,int* h);
int main()
{
char str[31];
int a[3];
int i=0;
for(i=0;i<3;i++)
{
scanf("%s",str);
a[i]=bToD(str);
}
c(a, 3);
for(i=0;i<3;i++)
{
printf("%d ", a[i]);
}
return 0;
}
void c(int brr[],int n){
int i,j;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(brr[i]>brr[j]){
swap(&brr[i],&brr[j]);
}
}
}
}
void swap(int* g,int* h){
int t= *g;
*g=*h;
*h = t;
}
int bToD(char str[]){
int x=strlen(str);
int sum=0;
for(int i=0;i<x;i++)
{
if(str[i]=='1'){
sum=sum+pow(2,x-i-1);
}
else{
sum=sum+0;
}
}
return sum;
}
#include <stdio.h>
#include<string.h>
#include <math.h>
int bToD(char str[]);
void c(int brr[],int n);
void swap(int* g,int* h);
int main()
{    
    char str[31];
  int  a[3];
  int i=0;
  for(i=0;i<3;i++)
  {
    scanf("%s",str);
    a[i]=bToD(str);  
    
  }  
  c(a, 3);
  for(i=0;i<3;i++)
  {
      printf("%d ", a[i]);
  }
  return 0;
}
void c(int brr[],int n){
  int i,j;
  for(i=0;i<n;i++)
  {
    for(j=i+1;j<n;j++)
    {
      if(brr[i]>brr[j]){
        swap(&brr[i],&brr[j]);
      }
    }
  }
}
void swap(int* g,int* h){
  int t= *g;
  *g=*h;
  *h = t; 
}
 int bToD(char str[]){
  int x=strlen(str);
  int sum=0;
  for(int i=0;i<x;i++)
  {
      if(str[i]=='1'){
        sum=sum+pow(2,x-i-1);
    }
    else{
      sum=sum+0;
    }
    
      
  }
  return sum;
}
#include <stdio.h> #include<string.h> #include <math.h> int bToD(char str[]); void c(int brr[],int n); void swap(int* g,int* h); int main() { char str[31]; int a[3]; int i=0; for(i=0;i<3;i++) { scanf("%s",str); a[i]=bToD(str); } c(a, 3); for(i=0;i<3;i++) { printf("%d ", a[i]); } return 0; } void c(int brr[],int n){ int i,j; for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(brr[i]>brr[j]){ swap(&brr[i],&brr[j]); } } } } void swap(int* g,int* h){ int t= *g; *g=*h; *h = t; } int bToD(char str[]){ int x=strlen(str); int sum=0; for(int i=0;i<x;i++) { if(str[i]=='1'){ sum=sum+pow(2,x-i-1); } else{ sum=sum+0; } } return sum; }

答案2:(来自徐佬)

#include <stdio.h>
#include <string.h>
int bToD(char str[])
{
int num=0;
int j;
for(j=0;j<strlen(str);j++)
{
num=num*2+(str[j]-'0');
}
return num;
}
int main()
{
char str[1000000];
int a[3];
for(int i=0;i<3;i++)
{
scanf("%s",str);
a[i]=bToD(str);
}
int t;
if(a[0]>a[1])
{
t=a[0];
a[0]=a[1];
a[1]=t;
}
if(a[2]>a[1])
{
t=a[2];
a[2]=a[1];
a[1]=t;
}
if(a[0]>a[2])
{
t=a[0];
a[0]=a[2];
a[2]=t;
}
printf("%d %d %d",a[0],a[2],a[1]);
return 0;
}
#include <stdio.h>
#include <string.h>
int bToD(char str[])
{
  int num=0;
  int j;
  for(j=0;j<strlen(str);j++)
  {
    num=num*2+(str[j]-'0');
  }
  return num;
}
int main()
{
  char str[1000000];
  int a[3];
  for(int i=0;i<3;i++)
  {
    scanf("%s",str);
    a[i]=bToD(str);
  }
  int t;
  if(a[0]>a[1])
  {
    t=a[0];
    a[0]=a[1];
    a[1]=t;
  }
  if(a[2]>a[1])
  {
    t=a[2];
    a[2]=a[1];
    a[1]=t;
  }
  if(a[0]>a[2])
  {
    t=a[0];
    a[0]=a[2];
    a[2]=t;
  }
  printf("%d %d %d",a[0],a[2],a[1]);
  return 0;
}
#include <stdio.h> #include <string.h> int bToD(char str[]) { int num=0; int j; for(j=0;j<strlen(str);j++) { num=num*2+(str[j]-'0'); } return num; } int main() { char str[1000000]; int a[3]; for(int i=0;i<3;i++) { scanf("%s",str); a[i]=bToD(str); } int t; if(a[0]>a[1]) { t=a[0]; a[0]=a[1]; a[1]=t; } if(a[2]>a[1]) { t=a[2]; a[2]=a[1]; a[1]=t; } if(a[0]>a[2]) { t=a[0]; a[0]=a[2]; a[2]=t; } printf("%d %d %d",a[0],a[2],a[1]); return 0; }
#include <stdio.h>
#include <string.h>
// 函数原型声明
int KToD(char str[], int k);
// 最大值多进制
int main() {
char str[10000];
int n, k, i;
int t, max = 0;
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf("%s %d", str, &k);
t = KToD(str, k);
if(max< t)
max = t;
}
printf("%d", max);
return 0;
}
int KToD(char str[], int k){
int i, sum = 0;
for(i = 0; str[i] != '\0'; i++){
sum = sum * k + (str[i] - '0');
}
return sum;
}
#include <stdio.h>
#include <string.h>

// 函数原型声明 
int KToD(char str[], int k);
 
// 最大值多进制 
int main() {
  char str[10000];
  int n, k, i;
  int t, max = 0;

  scanf("%d", &n);
  
  for(i = 0; i < n; i++){
    scanf("%s %d", str, &k);
  
    t = KToD(str, k);
  
    if(max< t)
      max = t;
  }
  printf("%d", max);
  return 0;
}
int KToD(char str[], int k){
  int i, sum = 0;
  for(i = 0; str[i] != '\0'; i++){
    sum = sum * k + (str[i] - '0');
  }
  return sum;
}
#include <stdio.h> #include <string.h> // 函数原型声明 int KToD(char str[], int k); // 最大值多进制 int main() { char str[10000]; int n, k, i; int t, max = 0; scanf("%d", &n); for(i = 0; i < n; i++){ scanf("%s %d", str, &k); t = KToD(str, k); if(max< t) max = t; } printf("%d", max); return 0; } int KToD(char str[], int k){ int i, sum = 0; for(i = 0; str[i] != '\0'; i++){ sum = sum * k + (str[i] - '0'); } return sum; }
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void dToK(int n, int k, char str[])
{
int i=0,len;
while(n>0)
{
str[i]=n%k+'0';
n=n/k;
i++;
}
str[i]='\0';
len=strlen(str);
for(i=len-1;i>=0;i--)
printf("%c",str[i]);
printf("\n");
}
int main()
{
int n;
scanf("%d",&n);
char str[1000];
dToK(n,2,str);
dToK(n,3,str);
dToK(n,7,str);
dToK(n,8,str);
return 0;
}
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h>
 
void dToK(int n, int k, char str[])
{ 
    int i=0,len;
    while(n>0)
    {
        str[i]=n%k+'0';
        n=n/k;
        i++;
    }
    str[i]='\0';
    len=strlen(str);
    for(i=len-1;i>=0;i--)
    printf("%c",str[i]);
    printf("\n");
}
int main()
{
    int n;
    scanf("%d",&n);
    char str[1000];
    dToK(n,2,str);
    dToK(n,3,str);
    dToK(n,7,str);
    dToK(n,8,str);
    return 0;
}
#include <stdio.h> #include <stdlib.h> #include <string.h> void dToK(int n, int k, char str[]) { int i=0,len; while(n>0) { str[i]=n%k+'0'; n=n/k; i++; } str[i]='\0'; len=strlen(str); for(i=len-1;i>=0;i--) printf("%c",str[i]); printf("\n"); } int main() { int n; scanf("%d",&n); char str[1000]; dToK(n,2,str); dToK(n,3,str); dToK(n,7,str); dToK(n,8,str); return 0; }
#include <stdio.h>
#include <string.h>
int main()
{
int i;
char ch[10];
gets(ch);
int sum=0;
int x=strlen(ch);
for(i=0;i<x;i++){
if(ch[i]>'4'){
ch[i]--;
}
sum=sum*9+ch[i]-'0';
}
printf("%d",sum);
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{     
    int i;
    char ch[10];
    gets(ch); 
    int sum=0;
    int x=strlen(ch);
    for(i=0;i<x;i++){
      if(ch[i]>'4'){
        ch[i]--;
    }
    sum=sum*9+ch[i]-'0';
  }
  printf("%d",sum);
  return 0;
 } 
#include <stdio.h> #include <string.h> int main() { int i; char ch[10]; gets(ch); int sum=0; int x=strlen(ch); for(i=0;i<x;i++){ if(ch[i]>'4'){ ch[i]--; } sum=sum*9+ch[i]-'0'; } printf("%d",sum); return 0; }
#include <stdio.h>
int main()
{
int n;
int t=0;
int sum=0;
int max=0,i=0;
int x=0;
int q=0;
int h=0;
scanf("%d",&n);
for(i=0;i<n;i++){
max=sum=0;
scanf("%d",&t);
for(h=0;h<t;h++){
scanf("%d",&q);
sum=sum+q;
if(q>max){
max=q;
}
}
if(sum-max>=max-1){
printf("Yes\n");
}
else{
printf("No\n");
}
}
return 0;
}
#include <stdio.h>
int main()
{
  int n;
  int t=0;
  int sum=0;
  int max=0,i=0;
  int x=0;
  int q=0;
  int h=0;
  scanf("%d",&n);
  for(i=0;i<n;i++){
    max=sum=0;
    scanf("%d",&t);
    for(h=0;h<t;h++){
      scanf("%d",&q);
      sum=sum+q;
      if(q>max){
        max=q;
      }
    
    }
      if(sum-max>=max-1){
        printf("Yes\n");
      }
      else{
        printf("No\n");
      }
  }
  
  return 0;
}
#include <stdio.h> int main() { int n; int t=0; int sum=0; int max=0,i=0; int x=0; int q=0; int h=0; scanf("%d",&n); for(i=0;i<n;i++){ max=sum=0; scanf("%d",&t); for(h=0;h<t;h++){ scanf("%d",&q); sum=sum+q; if(q>max){ max=q; } } if(sum-max>=max-1){ printf("Yes\n"); } else{ printf("No\n"); } } return 0; }
#include <stdio.h>
int main()
{
int a[101],b[101];
int m,n;
int i,j,flog;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<m;i++)
{
scanf("%d",&b[i]);
}
for(i=0;i<n;i++)
{
if(a[i]==b[0])
{
flog=i;
for(j=0;j<m;j++)
{
if(a[i+j]!=b[j])
{
break;
}
}
}
}
if(j==m)
{
printf("%d\n",flog);
}
else printf("No Answer\n");
return 0;
}
#include <stdio.h>
int main()
{
  int a[101],b[101];
  int m,n;
  int i,j,flog;
  scanf("%d %d",&n,&m);
  for(i=0;i<n;i++)
  {
    scanf("%d",&a[i]);
  }
  for(i=0;i<m;i++)
  {
    scanf("%d",&b[i]);
  }
  for(i=0;i<n;i++)
  {
    if(a[i]==b[0])
    {
      flog=i;
      for(j=0;j<m;j++)
      {
        if(a[i+j]!=b[j])
        {
          break;
        }
      }
      
    }  
  }
  if(j==m)
  {
    
    printf("%d\n",flog);
  }
  else printf("No Answer\n");
  
  return 0;
}
#include <stdio.h> int main() { int a[101],b[101]; int m,n; int i,j,flog; scanf("%d %d",&n,&m); for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(i=0;i<m;i++) { scanf("%d",&b[i]); } for(i=0;i<n;i++) { if(a[i]==b[0]) { flog=i; for(j=0;j<m;j++) { if(a[i+j]!=b[j]) { break; } } } } if(j==m) { printf("%d\n",flog); } else printf("No Answer\n"); return 0; }

python

a,b=map(int,input().split())
c=list(map(int,input().split()))
d=list(map(int,input().split()))
for i in range(a):
if c[i:i+b]==d:
print(i)
exit()
print("No Answer")
a,b=map(int,input().split())
c=list(map(int,input().split()))
d=list(map(int,input().split()))
for i in range(a):
    if c[i:i+b]==d:
        print(i)
        exit()
print("No Answer")
a,b=map(int,input().split()) c=list(map(int,input().split())) d=list(map(int,input().split())) for i in range(a): if c[i:i+b]==d: print(i) exit() print("No Answer")
#include <stdio.h>
int PanDuan(int a,int b,int c)
{
int s[10]={0};
while(a)
{
s[a%10]=1;
a/=10;
}
while(b)
{
s[b%10]=1;
b/=10;
}
while(c)
{
s[c%10]=1;
c/=10;
}
for(int i=1;i<10;i++)
{
if(s[i]==0)
return 0;
}
return 1;
}
int main()
{
int a[30];
int t;
for(int i=10;i<33;i++)
{
if(i*i>100&&i*i<1000)
a[t++]=i*i;
}
for(int i=0;i<t;i++)
for(int j=i+1;j<t;j++)
for(int k=j+1;k<t;k++)
{
if(PanDuan(a[i],a[j],a[k]))
printf("%d %d %d\n",a[i],a[j],a[k]);
}
}
#include <stdio.h>
int PanDuan(int a,int b,int c)
{
  int s[10]={0};
  while(a)
  {
    s[a%10]=1;
    a/=10;
  }
  while(b)
  {
    s[b%10]=1;
    b/=10;
  }
  while(c)
  {
    s[c%10]=1;
    c/=10;
  }
  for(int i=1;i<10;i++)
  {
    if(s[i]==0)
      return 0;
  }
  return 1;
}
int main()
{
  int a[30];
  int t;
  for(int i=10;i<33;i++)
  {
    if(i*i>100&&i*i<1000)
      a[t++]=i*i;
  }
  for(int i=0;i<t;i++)
    for(int j=i+1;j<t;j++)
      for(int k=j+1;k<t;k++)
      {
        if(PanDuan(a[i],a[j],a[k]))
          printf("%d %d %d\n",a[i],a[j],a[k]);
      }
}
#include <stdio.h> int PanDuan(int a,int b,int c) { int s[10]={0}; while(a) { s[a%10]=1; a/=10; } while(b) { s[b%10]=1; b/=10; } while(c) { s[c%10]=1; c/=10; } for(int i=1;i<10;i++) { if(s[i]==0) return 0; } return 1; } int main() { int a[30]; int t; for(int i=10;i<33;i++) { if(i*i>100&&i*i<1000) a[t++]=i*i; } for(int i=0;i<t;i++) for(int j=i+1;j<t;j++) for(int k=j+1;k<t;k++) { if(PanDuan(a[i],a[j],a[k])) printf("%d %d %d\n",a[i],a[j],a[k]); } }
#include <stdio.h>
int PanDuan(int a,int b,int c)
{
int ret=1;
int s[10]={0};
if(a*2!=b||a*3!=c)
ret=0;
while(a)
{
s[a%10]=1;
a/=10;
}
while(b)
{
s[b%10]=1;
b/=10;
}
while(c)
{
s[c%10]=1;
c/=10;
}
for(int i=1;i<10;i++)
{
if(s[i]==0)
ret=0;
}
return ret;
}
int main()
{
for(int i=100;i<333;i++)
{
if(PanDuan(i,i*2,i*3))
printf("%d %d %d\n",i,i*2,i*3);
}
}
#include <stdio.h>
int PanDuan(int a,int b,int c)
{
  int ret=1;
  int s[10]={0};
  if(a*2!=b||a*3!=c)
    ret=0;
  while(a)
  {
    s[a%10]=1;
    a/=10;
  }
  while(b)
  {
    s[b%10]=1;
    b/=10;
  }
  while(c)
  {
    s[c%10]=1;
    c/=10;
  }
  for(int i=1;i<10;i++)
  {
    if(s[i]==0)
      ret=0;
  }
  return ret;
}
int main()
{
  for(int i=100;i<333;i++)
  {
    if(PanDuan(i,i*2,i*3))
      printf("%d %d %d\n",i,i*2,i*3);
  }
}
#include <stdio.h> int PanDuan(int a,int b,int c) { int ret=1; int s[10]={0}; if(a*2!=b||a*3!=c) ret=0; while(a) { s[a%10]=1; a/=10; } while(b) { s[b%10]=1; b/=10; } while(c) { s[c%10]=1; c/=10; } for(int i=1;i<10;i++) { if(s[i]==0) ret=0; } return ret; } int main() { for(int i=100;i<333;i++) { if(PanDuan(i,i*2,i*3)) printf("%d %d %d\n",i,i*2,i*3); } }
#include<stdio.h>
#include<ctype.h>
int main()
{
char arr[1000],sum=0,flag=0;
gets(arr);
for(int i=0;arr[i]!='\0';i++)
{
if(isdigit(arr[i])&&flag==0)
{
if(arr[i]=='0'&&isdigit(arr[i+1]))//判断0123 这种
{
sum++;
flag=0;
continue;//0记一个数字 进入下一次循环
}
sum++;//判断123这种
flag=1;//改变flag防止后续被计算到内
}
if(!isdigit(arr[i]))//当当前字符不是数字字符 改变flag为0
flag=0;
}
printf("%d\n",sum);
return 0;
}
#include<stdio.h>
#include<ctype.h>
int main()
{
    char arr[1000],sum=0,flag=0;
    gets(arr);
    for(int i=0;arr[i]!='\0';i++)
    {
        if(isdigit(arr[i])&&flag==0)
        {
            if(arr[i]=='0'&&isdigit(arr[i+1]))//判断0123 这种
            {
                sum++;
                flag=0;
                continue;//0记一个数字 进入下一次循环
            }
            sum++;//判断123这种
            flag=1;//改变flag防止后续被计算到内
        }
        if(!isdigit(arr[i]))//当当前字符不是数字字符 改变flag为0
            flag=0;
    }
    printf("%d\n",sum);
    return 0;
}
#include<stdio.h> #include<ctype.h> int main() { char arr[1000],sum=0,flag=0; gets(arr); for(int i=0;arr[i]!='\0';i++) { if(isdigit(arr[i])&&flag==0) { if(arr[i]=='0'&&isdigit(arr[i+1]))//判断0123 这种 { sum++; flag=0; continue;//0记一个数字 进入下一次循环 } sum++;//判断123这种 flag=1;//改变flag防止后续被计算到内 } if(!isdigit(arr[i]))//当当前字符不是数字字符 改变flag为0 flag=0; } printf("%d\n",sum); return 0; }
------本文已结束,感谢您的阅读------
THE END
喜欢就支持一下吧
点赞8 分享
People do a lot of thinking, and sometimes, that's what kills us.
有时候是我们自己想太多才让自己如此难受
评论 抢沙发

请登录后发表评论

    暂无评论内容