必威体育Betway必威体育官网
当前位置:首页 > IT技术

7.14

时间:2019-08-21 09:43:20来源:IT技术作者:seo实验室小编阅读:64次「手机版」
 

7.14

1、求最大值

#include<stdio.h>

#include<string.h>

#include<ctype.h>

#define maxn 5000+10

char buf[maxn],s[maxn];

int a[maxn];

int main()

{

int repeat,i,k,n,m,max;

scanf("%d",&repeat);

if(repeat>0&&repeat<10)//题目条件一开始忘了加,判定错误

{

while(repeat--)

{

scanf("%d",&n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

max=a[0];//最大值设定

//printf("%d",max);

for(i=0;i<n;i++)

{

   if(a[i]>=max)

    max=a[i];

}

printf("%d\n",max);

}

}

return 0;

}

2、判定素数

#include<stdio.h>

int main()

{

int repeat,i,p,is;

scanf("%d",&repeat);

if(repeat>0&&repeat<10)

{

for(i=0;i<repeat;i++)

{

int n;

while(scanf("%d",&n)==1)

{

  if(n==1)

  {printf("NO\n");break;}//1不是素数,一开始就判定他是错误的

  for(p=2,is=1;(p*p)<=n;p++)//这里判定素数的方法是开平方来判断,一旦出现除1和本身的其他因子,马上判定非素数

  {

      if(n%p==0)

      {

          is=0;

      }

  }

  if(is==1)

    {printf("YES\n");}

    else

 {

     printf("NO\n");

 }

}

}

}

return 0;

}

3、求整数的位数及各位数之和

#include<stdio.h>

int main()//显示错误为wrong answer肯定是显示出现了问题,但是结果与例子一模一样?!?!

{

int repeat,i;

scanf("%d\n",&repeat);

if(repeat>0&&repeat<10)

{

for(i=0;i<repeat;i++)

{

//memset(a,0,sizeof(a));

long long int n;

scanf("%lld\n",&n);

int sum=0,num=0;

if(n<0)

{

    n=-n;

}

while(n>0)

{

sum=sum+n%10;

n=n/10;

num++;

}

printf("number=%d,sum=%d\n",num,sum);

}

}

return 0;

}

这是正确的c++版本,但我不明白为什么要-48

#include <stdio.h>

#include <string.h>

int main()

{

char s[2000];

int n;

scanf("%d",&n);

for (int p=0;p<n;p++)

{

scanf("%s",s);

int i=0,sum=0,number;

while (s[i]=='0' || s[i]=='-' || s[i]=='+') i++;

number=strlen(s)-i;

for (int j=i;j<strlen(s);j++) sum+=s[j]-48;

printf("number=%d,sum=%d.\n",number,sum);

}

return 0;

}

4、

、、

#include<stdio.h>

int main()

{

int repeat,i,t;

scanf("%d",&repeat);

double l=2.0,m=1.0;

if(repeat>0&&repeat<10)

{

for(i=0;i<repeat;i++)

{

//memset(a,0,sizeof(a));

int n;

scanf("%d",&n);

//int l=2,m=1;

double sum=l/m;

if(n==1)

printf("%.2lf\n",sum);

else if(n>1)

{

   for(i=1;i<n;i++)

   {

      t=l;

       l=t+m;

       m=t;

       sum+=l/m;

   }

   printf("%.2lf\n",sum);

}

else if(n<0)

break;

}

}

return 0;

}

正确

#include<stdio.h>

int main()

{

int repeat,i,j,t,a[20];

scanf("%d",&repeat);

 for(i=0;i<repeat;i++)

{

int n;

scanf("%d",&a[i]);

}

for(j=0;j<repeat;j++)

{

double sum=0;

double l=2,m=1;

    for(i=0;i<a[j];i++)

   {

       sum+=l/m;

       t=l;

       l=l+m;

       m=t;

   }

   printf("%.2lf\n",sum);

}

return 0;

}

5、#include<stdio.h>

int main()

{

int ri,repeat;

int i,n;

long int a,sn,tn;

scanf("%d",&repeat);

for(ri=1;ri<=repeat;ri++)

{

scanf("%ld%d",&a,&n);

tn=a;

sn=0;

for(i=1;i<=n;i++)

{  

sn+=tn;

tn=10*tn+a;

}

printf("%ld\n",sn);

}

return 0;

}

#include<stdio.h>

int main()

{

int repeat,i,j,k,a,b,n,t=1,sum=0;

scanf("%d",&repeat);

if(repeat>0&&repeat<10)

{

for(i=0;i<repeat;i++)

{

int n;

scanf("%d %d",&a,&n);

b=a;

if((a>0&&a<10)&&(n>0&&n<10))

{

 for(j=0;j<n;j++)

{

   sum+=a;

   b=10*b+a;

}

printf("%d\n",sum);

}

}

}

return 0;

}

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读