2021-03-29(第一次竞赛测验)

判断给定的三位数是否 水仙花 数。所谓 水仙花 数是指其值等于它本身 每位数字立方和的数。例 153 就是一个 水仙花 数。 153=1+125+27
输入
一个整数。
数据规模和约定
一个三位的整数,是水仙花数输出"YES",否则输出" N·O"


#include<stdio.h>

#include<math.h>

int main(){

int n,i,j,sum=0;

scanf("%d",&n);

i=n;

while(i>0){

j=i%10;

i=i/10;

sum+=pow(j,3);

}

if(sum==n){

printf("YES\n");

}

else{

printf("NO\n");

}

return 0;

}

输入10个整数,求它们的平均值,并输出大于平均值的数据的个数。


#include<stdio.h>
int main()
{
double a[10];
double p,sum=0;
int i,j=0;
for(i=0;i<10;i++)
{
scanf("%lf",&a[i]);
}
for(i=0;i<10;i++)
{
sum+=a[i];
}
p=sum/10;
for(i=0;i<10;i++)
{
if(a[i]>p)
{
j++;
}
}
printf("%d\n",j);
return 0;
}

编制程序,输入n个整数(n从键盘输入,n>0),输出它们的偶数和。


#include<stdio.h>

int main()

{

int i,n,a[100],sum=0;

scanf("%d",&n);

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

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

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

{

if(a[i]%2==0) sum=sum+a[i];

}

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

return 0;



}

#include<stdio.h>
int main()
{
    int a[20],j=0;    //a[20]:存储数据    j:负数个数统计
    double sum=0;     //所有正数的和
    for(int i=0;i<20;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]>=0)
        {
             sum=sum+(double)a[i];      
        }
        else
        {
            j++;
        }
    }
    printf("%d\n%.2lf\n",j,sum/(20-j));
    return 0;
}

用简单素数筛选法求N以内的素数。


解题思路:
1.素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
(也就是只有 1 和它本身能整除)
2.利用两个for循环来判断素数。

注意事项:
1.注意for添加花括号。
2.注意输出问题。

#include<stdio.h>
int main()
{
    int i,j;
    int N,a;
    scanf("%d",&N);
    for(i=2;i<=N;i++)        //因为 1 不是素数,所以 i 要从 2 开始
    {
        a=0;                // a 要赋值 0 否则会出错
        for(j=2;j<i;j++)    //第二个循环判断 i 能否能被其它数整除
        {
            if(i%j==0)        //如果 i 能被其它数整除,a 就自增
            a++;    
        }
        if(a==0)            //判断 a=0 如果这个数除了本身和 1 没有数能整除它就输出
            printf("%d\n",i);//输出这边注意要换行
    }
    return 0;
}
[========]
还有其他写法

#include<stdio.h>
#include<math.h>
int prime(int p)
{
    int i,n;
    n=sqrt(p);//这句能使素数判断得更快,因为只求到了 n 的平方根
    if(p==0 || p==1)    return 0;//这句跟下面那句加不加都对
    if(p==2)            return 1;//但在题目没有从 2 开始是就需要加这两句
    for(i=2;i<=n;i++)
        if(p%i==0)        return 0;
    return 1;    
} 
int main()
{
    int i,n;
    scanf("%d",&n);
    for(i=2;i<=n;i++)
        if(prime(i))
            printf("%d\n",i);
    return 0;        
}

//小白方法
int N;
scanf("%d",&N);
for(i=2;i<=N;i++)
{
      for(j=2;j<=i;j++)
{
      if(i%j==0)
{
      break;
}
}
    if(i==j)
{
        printf("%d\n",i);
}
}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 4,554评论 0 1
  • 本次整理试题来源于:zqxLonely,再次感谢老师。 原文链接:https://bingyishow.top/T...
    jeason22阅读 10,221评论 0 1
  • 基础 读程序,总结程序的功能 1.计算2的20次方的值(将1左移20位)。 2.统计1到100中能被3或7整除,但...
    barriers阅读 3,526评论 0 0
  • 基础 读程序,总结程序的功能: 执行数字2的20次方 统计数字(1~100)中,能被3整除或者被7整除,但不能同时...
    Gary134阅读 1,837评论 0 0
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 9,153评论 0 2

友情链接更多精彩内容