思路分析:这题它说n是小于等于1000的,那么我们现在就需要找出1--1000的幸运数
4,7,44,47,74,77,444,447,474,477,774,747,774,777。数完1--1000的幸运数后总共有14个,既然有14个幸运数可知数组可以定义为a[20]
代码:
#include<cstdio>
int n,a[20]={4,7,44,47,74,77,444,447,474,477,744,747,774,777};
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
if(n%a[i]==0){
printf("YES");
return 0;
}
}
printf("NO");
}
这道题很简单直接上代码!
a=(a1,a2,a3,a4.....an),b=(b1,b2,b3,b4.....bn)
其实点积就是相乘,不要管什么线性代数。就将a,b看成两个一维数组即可
#include<cstdio> int n,a[1010],b[1010],sum; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } for(int i=1;i<=n;i++){ scanf("%d",&b[i]); } for(int i=1;i<=n;i++){ sum=sum+a[i]*b[i]; } printf("%d",sum); return 0; }
这道题目需要我们找出最高的人数,实则就是让你找出数组中的最大值。先完成输入!
#include<cstdio>
int n,a[10010],max,m,t;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++{
scanf("%d",&a[i]);
//...........
}
变量max代表身高最高的游客。
这时我们需要进行“打擂台”的方式来找出最高身高的游客:
if(a[i]>max){ max=a[i]; m=i; }
这里可能有些人会蒙,m是用来存储数组下标的变量!这段代码是建立在上一条代码的for循环里的。
接下来就要将找到的最大值与站在最前面的游客调换位置即可。调换位置很简单,定义一个临时变量就可以了。一开始我就在代码上写了一个t。现在上码:
t=a[1]; a[1]=a[m]; a[m]=t;
最后输出:
for(int i=1;i<=n;i++{
printf("%d",a[i]);
}
return 0;
组合起来就是:
#include<cstdio> int n,a[10010],max,m,t; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++{ scanf("%d",&a[i]); if(a[i]>max){ max=a[i]; m=i; } t=a[1]; a[1]=a[m]; a[m]=t; for(int i=1;i<=n;i++){ printf("%d",a[i]); } return 0; }