字符串
字符串大小写转换

#include <stdio.h>
#include <stdlib.h>
#define LEN 10
int main()
{
char array[LEN];
int i=0;
gets(array);
while(array[i]!='\0')
{
if(array[i]>='A'&&array[i]<='Z')
array[i]=array[i]-'A'+'a';
i++;
}
printf("%s",array);
return 0;
}

#include <stdio.h>
#include <stdlib.h>
#define LEN 100
int main(void)
{
char one[LEN],the_other[LEN];
int i,j;
gets(one);
i=0, j=0;
while(one[i]!='\0')
{
switch(one[i])
{
case 'A':
{
the_other[j] = 'T';
j++;
}
break;
case 'T':
{
the_other[j] = 'A';
j++;
}
break;
case 'G':
{
the_other[j] = 'C';
j++;
}
break;
case 'C':
{
the_other[j] = 'G';
j++;
}
break;
default:
break;
}
i++;
}
the_other[j] = '\0';
puts(the_other);
return 0;
}
数据压缩存储

#include <stdio.h>
#include <stdlib.h>
#define LEN 100
int main()
{
int compress(char array[], int count[]);
char array[LEN];
int count[LEN];
int i;
int tail;
while(gets(array)!=NULL)
{
tail = compress(array, count);
for(i=0;i<=tail;i++)
i<tail ? printf("%d ",count[i]) : printf("%d\n",count[i]);
}
return 0;
}
int compress(char array[], int count[])
{
int i=0,j=0,tail=-1;
for(j=0;j<LEN;j++)
count[j]=0;
while(array[i]=='1'||array[i]=='0')
{
if(i==0)
{
tail++;
count[tail]++;
}
else
{
if(array[i]==array[i-1])
{
count[tail]++;
}
else
{
tail++;
count[tail]++;
}
}
i++;
}
return tail;
}
凯撒加密

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LEN 81
int main()
{
void Caesar_transform(char message[], int shift);
char message[LEN];
int shift;
printf("Enter message to be encrypted: ");
gets(message);
printf("Enter shift amount (1-25): ");
scanf("%d",&shift);
printf("Encrypted message: ");
Caesar_transform(message, shift);
printf("%s\n",message);
return 0;
}
void Caesar_transform(char message[], int shift)
{
int i=0,j,m,n;
while(message[i]!='\0')
{
if(message[i]>='A'&&message[i]<='Z')
message[i]='A'+(message[i]-'A'+shift)%26;
else if (message[i]>='a'&&message[i]<='z')
message[i]='a'+(message[i]-'a'+shift)%26;
i++;
}
}
单词逆序输出

多维数组

#include <stdlib.h>
int main()
{
int max_save[10][7]={
{
1,1,1,1,1,1,0},
{
0,1,1,0,0,0,0},
{
1,1,0,1,1,0,1},
{
1,1,1,1,0,0,1},
{
0,1,1,0,0,1,1},
{
1,0,1,1,0,1,1},
{
1,0,1,1,1,1,1},
{
1,1,1,0,0,0,0},
{
1,1,1,1,1,1,1},
{
1,1,1,1,0,1,1}};
int num,col;
scanf("%d",&num);
if(max_save[num][0]==1)
printf(" - \n");
else printf(" \n");
if(max_save[num][5]==1)
printf("| ");
else printf(" ");
if(max_save[num][1]==1)
printf("|\n");
else printf(" \n");
if(max_save[num][6]==1)
printf(" - \n");
else printf(" \n");
if(max_save[num][4]==1)
printf("| ");
else printf(" ");
if(max_save[num][2]==1)
printf("|\n");
else printf(" \n");
if(max_save[num][3]==1)
printf(" - ");
else printf(" ");
return 0;
}

#include <stdio.h>
#include <stdlib.h>
#define N 5
int main(void)
{
void transfor(int a[][N]);
int array[N][N],i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&array[i][j]);
transfor(array);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
j!=N-1?printf("%d ",array[i][j]):printf("%d\n",array[i][j]);
return 0;
}
void transfor(int a[][N])
{
int b[N][N],i,j;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
b[i][j]=a[j][i];
}
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
a[i][j]=b[i][j];
}
}
}

#include <stdio.h>
#include <stdlib.h>
#define R 3
#define C 5
#define N (R>C?R:C)
int main(void)
{
void transfor(int a[][N]);
int array[N][N],i,j;
for(i=0;i<R;i++)
for(j=0;j<C;j++)
scanf("%d",&array[i][j]);
transfor(array);
for(i=0;i<C;i++)
for(j=0;j<R;j++)
j!=R-1?printf("%d ",array[i][j]):printf("%d\n",array[i][j]);
return 0;
}
void transfor(int a[][N])
{
int i,j,b[N][N];
for(i=0;i<C;i++)
{
for(j=0;j<R;j++)
{
b[i][j]=a[j][i];
}
}
memset(a,0,sizeof(a));
for(i=0;i<C;i++)
{
for(j=0;j<R;j++)
{
a[i][j]=b[i][j];
}
}
}
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int data;
struct node *next;
};
void input(struct node*p)
{
scanf("%d",&p->data);
}
void createhead(struct node*head,int n)
{
int i;
struct node*pnew;
if(head==NULL) return;
for(i=0;i<n;i++)
{
pnew=(struct node*)malloc(sizeof(struct node))