完数:除本身约数和等于本身
eg:6: 1 2 3 6
1+2+3==6
代码
#include
int main(int argc, const char *argv[])
{
// 计算输入的数字是否是完数 如6 1+2+3==6
int num,sum=0;
printf("请输入一个数:");
scanf("%d",&num);
for(int i=1;i<num;i++)
{
if(num%i==0)
{
sum+=i;
}
}
if(sum==num)
{
printf("%d这个数是完数\n",num);
}
else
{
printf("%d不是完数\n",num);
}
return 0;
}
代码
#include
#include
int main(int argc, const char *argv[])
{
int n,count=0;
printf("数组中的元素个数:");
scanf("%d",&n);
int arr[n];
for(int i=0;i<n;i++)
{
printf("输入第%d个数:",i+1);
scanf("%d",&arr[i]);
}
int sum=n;
for(int i=0;i<n;i++)
{
int flag=1;
for(int j=2;j<=sqrt(arr[i]);j++)
{
if(arr[i]%j==0)
{
flag=0;
sum-=1;
break;
}
}
if(flag==1)
{
printf("%d is prime\n",arr[i]);
}
else
{
printf("%d not is prime\n",arr[i]);
}
}
printf("素数的个数是%d\n",sum);
return 0;
}
代码
{
int i,n;
printf("元素个数是:");
scanf("%d",&n);
int arr[n];
for(i=0;i<n;i++)
{
printf("输入第%d个数:",i+1);
scanf("%d",&arr[i]);
}
int max=arr[0],min=arr[0];
for(i=1;i<n;i++)
{
int count=0; //计算交换的次数
for(int j=0;j<n-i;j++)
{
if(arr[j]<arr[j+1]) //冒泡排序 从大到小
{
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
count++;
}
}
if(count==0)
{
break;
}
}
for(i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
代码
#include
int main(int argc, const char *argv[])
{
int n;
printf("数组中元素的个数:");
scanf("%d",&n);
int arr[n];
int i;
for(i=0;i<n;i++)
{
printf("输入第%d个数:",i+1);
scanf("%d",&arr[i]);
}
int max=arr[0];
for(i=0;i<n;i++)//找数组中最大的值
{
if(max<arr[i])
{
max=arr[i];
}
}
int sec=arr[0];
for(i=0;i<n;i++)
{
if(arr[i]<sec)
{
sec=arr[i];
}
}
for(i=0;i<n;i++)
{
if(arr[i]>sec&&arr[i]!=max)
{
sec=arr[i];
}
}
printf("%d\n",sec);
return 0;
}
运行结果