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++)
{
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;
}