un método para ordenar 11. burbuja
#include <stdio.h>
int main()
{
int i,j,temp;
int a[10]= {1,3,5,7,2,4,6,8,9,10};
for(i=0; i<9; i++)
for(j=0; j<i; j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
for(i=0; i<10; i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
El resultado:
12,3 * 4 matriz, donde el valor de la programación para obtener el valor máximo de ese elemento, y el número de línea y el número de columna en ella
#include <stdio.h>
int main()
{
int i,j,max,maxi=0,maxj=0;
int a[3][4]= {{1,2,3},{6,5,4},{9,7,8}};
max=a[0][0];
for(i=0; i<3; i++)
for(j=0; j<4; j++)
{
if(a[i][j]>max)
{
max=a[i][j];
maxi=i;
maxj=j;
}
}
printf("max=%d,maxi=%d,maxj=%d\n",max,maxi,maxj);
return 0;
}
El resultado:
13. Introduzca una línea de caracteres, las estadísticas sobre el número de palabras separadas por espacios entre las palabras
#include <stdio.h>
int main()
{
char string[81];
int i,num=0,word=0; //一开始word=0,相当于加上第一个词
char c;
gets(string);
for(i=0; (c=string[i])!='\0'; i++)
{
if(c==' ') //遇到空格时,相当于一个单词的开始
word=0;
else if(word==0) //空格的下一个字符,即本单词的第一个字符,进行num++
{
word=1;
num++;
}
}
printf("%d words",num); //num为单词个数
printf("\n");
return 0;
}
El resultado:
14. Hay tres cuerdas, que identifican el máximo de la reivindicación
#include <stdio.h>
#include <string.h>
int main()
{
char str[3][10],temp[10];
for(int i=0; i<3; i++)
gets(str[i]);
if(strcmp(str[0],str[1])>0)
strcpy(temp,str[0]);
else
strcpy(temp,str[1]);
if(strcmp(str[1],temp)>0)
strcpy(temp,str[1]);
printf("the largest string is:%s\n",temp);
return 0;
}
El resultado:
15. Introduzca 4 número entero, para encontrar el número más grande
#include <stdio.h>
int max1(int a,int b)
{
if(a>b)
return a;
else
return b;
}
int main()
{
int a,b,c,d,m;
scanf("%d %d %d %d",&a,&b,&c,&d);
m=max1(a,b);
m=max1(m,c);
m=max1(m,d);
printf("max=%d\n",m);
return 0;
}
El resultado:
16.5 estudiantes, en comparación con el cuarto de los cinco grandes de 2 años de edad, el cuarto de los terceros grandes 2 años de edad, ..., los primeros 10 años. Q quinto tanto. Recursiva.
#include <stdio.h>
int f(int n)
{
if(n==1)
return 10;
else
return f(n-1)+2;
}
int main()
{
int n;
scanf("%d",&n);
printf("第%d个学生:%d岁\n",n,f(n));
printf("\n");
return 0;
}
El resultado:
17. buscan recursiva n!
#include <stdio.h>
int main()
{
int i,n,sum=1;
scanf("%d",&n);
for(i=1; i<=n; i++)
sum=sum*i;
printf("%d!=%d\n",n,sum);
return 0;
}
#include <stdio.h>
int f(int n)
{
if(n==0||n==1)
return 1;
else
return f(n-1)*n;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d!=%d\n",n,f(n));
printf("\n");
return 0;
}
El resultado:
18. Torre de Hanoi problema
#include <stdio.h>
void hanoi(int n,char one,char two,char three)
{
if(n==1)
printf("%c-->%c\n",one,three);
else
{
hanoi(n-1,one,three,two);
printf("%c-->%c\n",one,three);
hanoi(n-1,two,one,three);
}
}
int main()
{
int m;
scanf("%d",&m);
hanoi(m,'A','B','C');
printf("\n");
return 0;
}
El resultado:
19. Selección Ordenar
#include <stdio.h>
int main()
{
int a[10]= {2,3,4,7,6,5,1,8,10,9};
int i,j,k,temp;
for(i=0; i<9; i++)
{
k=i;
for(j=i+1; j<10; j++)
{
if(a[j]<a[k])
k=j;
}
if(k!=i)
{
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
for(i=0; i<10; i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
El resultado:
20. No es una cadena, hay una serie de caracteres, una entrada de caracteres ahora, el programa requiere la cadena de caracteres eliminado.
#include <stdio.h>
void delete_string(char str[],char ch)
{
int i,j;
for(i=0,j=0; str[i]!='\0'; i++)
{
if(str[i]!=ch)
str[j++]=str[i];
}
str[j]='\0';
}
int main()
{
char str[20],ch;
gets(str);
ch=getchar();
delete_string(str,ch);
printf("%s",str);
printf("\n");
return 0;
}
El resultado: