1.思维导图
2输入一个数,计算是否是完数
#include<stdio.h>
int main()
{
int n;
printf("please input a number\n");
scanf("%d",&n);
int ys=0,i;
for(i=1;i<n;i++)
{
if(n%i==0)
{
ys+=i;
}
}
if(ys==n)
{
printf("%d是完数\n",n);
}
else
{
printf("%d不是完数n",n);
}
}
return 0;
3.循环输入个元素存到数组,计算数组中素数的个数
#include <stdio.h>
int main(int argc, const char *argv[])
{
printf("请输入数组元素的个数");
int n,i,j;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{
printf("请输入数组的元素");
scanf("%d",&a[i]);
}
int count=0,flag=1;
for(i=0;i<n;i++)
{
if(a[i]==2)
{
count++;
continue;
}
else
{
flag=1;
for(j=2;j<a[i];j++)
{
if(a[i]%j==0)
{
flag=0;
break;
}
}
if(flag==1)
{
count++;
}
}
}
printf("数组中有%d个素数\n",count);
return 0;
}
4.循环输入数组,实现冒泡降序排序,循环输出
#include <stdio.h>
int main(int argc, const char *argv[])
{
int n;
printf("请输入数组中元素的个数:");
scanf("%d",&n);
int a[n];
int i,j;
for(i=0;i<n;i++)
{
printf("请输入元素");
scanf("%d",&a[i]);
}
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(a[j]<a[j+1])
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<n;i++)
{
printf("%4d",a[i]);
}
return 0;
}
5.循环输入数组,计算第二大值
#include <stdio.h>
int main(int argc, const char *argv[])
{
int n;
printf("请输入数组的元素个数");
scanf("%d",&n);
int a[n];
int i;
for(i=0;i<n;i++)
{
printf("请输入数组的元素值");
scanf("%d",&a[i]);
}
int max=a[0],max2=a[0];
for(i=0;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
}
}
for(i=0;i<n;i++)
{
if(a[i]>max2&&a[i]!=max)
{
max2=a[i];
}
}
printf("第二大数为:%d\n",max2);
return 0;
}