CINTA学前作业一:课前准备
任务包括如下:
1、建立自己的个人博客,根据自己 的喜好和习惯进行选择。
2、完成以下C语言代码,贴在自己的博客,并返回链接给我。
a、写一个插入排序的函数,即输入一个数组,完成排序;
b、完成一个函数,输入值为整数,输出该值的二进制。
c、完成一个判断整数是否素数的函数,即,输入一个整数,判断其是否素数。
3、编辑一个数学公式:a的立方 + b的立方 = c的立方
a:用插入排序法对数组进行重新排序
要求:
写一个插入排序的函数,即输入一个数组,完成排序;
代码:
#include<stdio.h>
#include <stdlib.h>
int sort_array(int s[],int n); //插入排序函数
void main()
{
printf("输入一个数组!(输入0停止)\n");
int *array;
array =(int*)malloc(100); //定义一个动态数组
int m=1,n=1; //n为数组长度
int x=0;
while(m)
{
x++;
scanf("%d",&m);
if(m==0) break;
array[x]=m;
n++;
}
sort_array(array, n-1);
printf("\n 插入数据排序后顺序:\n"); //插入后的顺序
for(int i=1;i<n;i++)
printf("%5d",array[i]);
printf("\n");
free(array); //释放一维指针
}
int sort_array(int s[],int n)
{
int i,j;
for(i=2;i<=n;i++)
{
s[0]=s[i];
j=i-1;
while(s[0]<s[j])
{
s[j+1]=s[j];
j--;
}
s[j+1]=s[0];
}
return 0;
}
b:二进制转化
要求:
完成一个函数,输入值为整数,输出该值的二进制。
代码:
#include<stdio.h>
int change(int n) ;
void main()
{
int n;
printf("输入要转换的整数:");
scanf("%d",&n);
printf("%d",change(n));
printf("\n");
}
int change (int n)
{
if(n<2) return n;
else return change(n/2)*10+n%2;
}
c:素数的判断
要求:
完成一个判断整数是否素数的函数,即,输入一个整数,判断其是否素数。
代码:
#include<stdio.h>
int judge(int x);
void main()
{
int n,m;
printf("输入要判断的整数\n");
scanf("%d",&n);
m=judge(n);
if(m==1) printf("该数不是素数!\n");
else printf("该数是素数!\n");
}
int judge(int x)
{
for(int i=2;i<11;i++)
{
if(x%i==0 && i!=x ||x==1)
{
return 1;
break;
}
if(i==10) return 0;
}
}
3.编辑公式
要求:
编辑一个数学公式:a的立方 + b的立方 = c的立方
公式:
a³+b³=c³