东北林业的作业
课内实验
1 字符串
大写变小写5807
碱基配对5813
数据压缩存储5810
#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; //count数组的有效最末下标
while(scanf("%s",array)!=-1)
{
tail = compress(array, count);
for(i=0;i<tail;i++)
i<tail-1 ? printf("%d ",count[i]) : printf("%d\n",count[i]);
}
return 0;
}
int compress(char array[], int count[])
{
//start
int i,j=0;
for(i=0;i<100;i++)
count[i]=0;
char f=array[0];
i=0;
while(array[i]!='\0')
{if(array[i]!=f)
{j++;f=array[i];}
count[j]++;i++;
}
return j+1;
//end
}
凯撒加密 5811
```c
if(message[i]>='A'&&message[i]<='Z')
message[i]=(message[i]-'A'+shift)%26+'A';
else if(message[i]>='a'&&message[i]<='z')
message[i]=(message[i]-'a'+shift)%26+'a';
单词逆序输出
5812
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{char a[100],ch;
int i=0,word=0,f=1;
printf("Enter a sentence: ");
while(1)
{
a[i]=getchar();
if(a[i]=='?'||a[i]=='!'||a[i]=='.')
{ch=a[i];break;}
if(a[i]!=' '&&f==1)
{word++;f=0;}
if(a[i]==' '&&f==0)
f=1;i++;}
ch=a[i];
a[i]='\0';
printf("Reversal of sentence: ");
f=0;
while(i!=-1)
{
if(a[i]==' '||a[i]=='\0')
{
a[i]='\0';
if(f==1)
{
f=0;
if(word>1)
printf("%s ",a+i+1);
else
printf("%s",a+i+1);
word--;
}
}
else{if(f==0) f=1;}
if(i==0&&a[i]!='\0')
printf("%s",a);
i--;
}
printf("%c\n",ch);
return 0;
}
多维数组
七段显示 5809
二方阵转置 5814 , 5815
哪个颜色气球最多 5816
分词输出 5808