学前作业
[ 2022-7-20 9:44:00 | By: pabayjy ]
 
1.写一个插入排序的函数,即输入一个数组,完成排序:
#i nclude<stdio.h>

void sort_sma(int a[], int n)
{
int i, j,t=0;
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if (a[j + 1] < a[j])
{
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
}

void sort_big(int a[], int n)
{
int i, j,t=0;
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if (a[j + 1] > a[j])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
}

int main()
{
int a[100], n = 0;
while(true)
{
printf("请输入您想排序的数组的元素个数:");
scanf("%d", &n);
printf("请输入数组的元素:");
for (int j = 0; j < n; j++)
{
scanf("%d", &a[j]);
}
printf("请输入您想排序的顺序:1.从小到大;2.从大到小");
printf("\n");
int x = 0;
scanf("%d",&x);
if (x == 1) { sort_sma(a, n); }
else if (x == 2) { sort_big(a, n); }
printf("排序后的数组为:");
for (int i = 0; i < n; i++)
{
printf("%d ",a[i]);
}
int l;
while(true)
{printf("\n%s\n","是否继续进行换算:1.是;2.否");
scanf("%d",&l);
if(l==1||l==2) break;
else if(l!=1&&l!=2) 
{printf("%s\n%s","您的输入有误!请重新输入!","是否继续进行换算:1.是;2.否");
}
}
if(l==2) break;
}
return 0;
}

2.完成一个函数,输入值为整数,输出该值的二进制:

#i nclude<stdio.h>

int main()
{
int n;
int a[100],j=0;
while(true)
{
printf("请输入一个整数:");
scanf("%d",&n);
int x=n;
while(true)
{int i=x%2;
a[j]=i;
j++;
x=x/2;
if(x==0) break;
printf("十进制的%d转换为二进制为:",n);
for(int t=j-1;t>=0;t--)
{printf("%d",a[t]);
}
j=0;
int l;
while(true)
{printf("\n%s\n","是否继续进行换算:1.是;2.否");
scanf("%d",&l);
if(l==1||l==2) break;
else if(l!=1&&l!=2) 
{printf("%s\n%s","您的输入有误!请重新输入!","是否继续进行换算:1.是;2.否");
}
}
if(l==2) break;
}
return 0;
 } 

3.完成一个判断整数是否素数的函数,即,输入一个整数,判断其是否素数:

#i nclude<stdio.h>
#i nclude<math.h>

int judge(int x)
{
    int m=0;
    int s;
    s=sqrt(x);
for(int i=2;i<=s;i++)
{if(x%i==0) m=1;
}
if(m==1) return 1;
else return 0;
}

int main()
{
int i,x,n=0;
while(true)
{printf("请选择:1.判断一个整数;2.判断一个范围内所有整数 ");
scanf("%d",&i);
if(i==1)
{
printf("请输入一个整数:");
scanf("%d",&x); 
if(judge(x)==1) printf("%d%s",x,"不是素数!");
else printf("%d%s",x,"是素数!");
}
else if(i==2)
{int fir,las,j;
printf("请输入第一个整数:");
scanf("%d",&fir);
printf("请输入最后一个整数:"); 
scanf("%d",&las);
for(j=fir;j<=las;j++)
{if(judge(j)==0) 
{printf("%d%s\n",j,"是素数!");
n++;
}
}
printf("%d到%d之间共有%d个素数",fir,las,n);
}
int l;
while(true)
{printf("\n%s\n","是否继续进行换算:1.是;2.否");
scanf("%d",&l);
if(l==1||l==2) break;
else if(l!=1&&l!=2) 
{printf("%s\n%s","您的输入有误!请重新输入!","是否继续进行换算:1.是;2.否");
}
}
if(l==2) break;
}
return 0; 
}

 
 
发表评论:
 

时 间 记 忆
<<  < 2022 - >  >>
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
最 新 评 论
最 新 日 志
最 新 留 言
搜 索
用 户 登 录
友 情 连 接


 
天涯博客欢迎您!