10:插入一个数,排序仍然成立
#include<stdio.h>
#include<string.h>
int main(){
int i,j,num;
int tmp,tmp2;
int a[10]={1,2,3,4,5,6};
printf("input num\n");
scanf("%d",&num);
if(num>=a[5]){
a[6]=num;
}else{
for(i=0;i<6;i++){
if(a[i]>num){
tmp=a[i];
a[i]=num;
for(j=i+1;j<7;j++){
tmp2=a[j];
a[j]=tmp;
tmp=tmp2;
}
}
}
}
for(i=0;i<7;i++){
printf("%d ",a[i]);
}
}
11:数组排序
#include<stdio.h>
#include<string.h>
int main(){
int a[10]={12,21,35,65,45,2,89,92,75,99};
int i,j,tmp;
//简单排序
// for(i=0;i<9;i++){
// for(j=i+1;j<10;j++){
// if(a[i]>a[j]){
// tmp=a[i];
// a[i]=a[j];
// a[j]=tmp;
// }
// }
// }
// for(int i=0;i<10;i++){
// printf("%d ",a[i]);
// }
//冒泡排序
for(i=0;i<10;i++){
for(j=0;j<10-i-1;j++){
if(a[j]>a[j+1]){
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
for(int i=0;i<10;i++){
printf("%d ",a[i]);
}
}
12:求两个数的最大公约数和最小公倍数
#include<stdio.h>
#include<string.h>
int main(){
int a,b;
int x,y;
printf("input a\n");
scanf("%d",&a);
printf("input b\n");
scanf("%d",&b);
x=a*b;
y=a%b;
while(y!=0){
a=b;
b=y;
y=a%b;
}
printf("最大公约数: %d 最小公倍数%d",b,x/b) ;
}
13:将一个正整数分解质因数
#include<stdio.h>
#include<string.h>
int main(){
int a=90;
int i;
for(i=2;i<=a;i++){
while(a%i==0){
printf("%d ",i);
a=a/i;
if(a!=1){
printf("*");
}
}
}
}
14.打印菱形
#include<stdio.h>
int main(){
int i,j;
for(i=1;i<5;i++){
for(j=1;j<=4-i;j++){
printf(" ");
}
for(j=1;j<=2*i-1;j++){
printf("*");
}
printf("\n");
}
for(i=3;i>0;i--){
for(j=1;j<=4-i;j++){
printf(" ");
}
for(j=1;j<=2*i-1;j++){
printf("*");
}
printf("\n");
}
}