01:统计数字字符个数
描述
输入一行字符,统计出其中数字字符的个数。
输入
一行字符串,总长度不超过255。
输出
输出为1行,输出字符串里面数字字符的个数。
#include<stdio.h>
#include<string.h>
int main()
{
char c[256];
gets(c);
int len=strlen(c);
int sum=0;
for(int i=0;i<len;i++)
{
if(c[i]>='0'&&c[i]<='9')
{
sum++;
}
}
printf("%d",sum);
}
02:找第一个只出现一次的字符
描述
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
输入
一个字符串,长度小于100000。
输出
输出第一个仅出现一次的字符,若没有则输出no。
#include<stdio.h>
#include<string.h>
int main()
{
char c[100000];
gets(c);
int len=strlen(c);
int flagg=1;
for(int i=0;i<len;i++)
{
int flag=0;
for(int j=0;j<len;j++) //j从0开始,对每个数都有从整个数组寻找的过程
{
if(c[i]==c[j]&&i!=j)
{
flag=1;
}
}
if(!flag) //没找到一样的,说明只有一个,打印并退出循环
{
printf("%c",c[i]);
flagg=0; //flagg=0表示已找到,不打印no
break;
}
}
if(flagg)
{
printf("no");
}
}
03:基因相关性
描述
为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该比对的DNA是否具有相关性。
现比对两条长度相同的DNA序列。首先定义两条DNA序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条DNA序列是相关的,否则不相关。
输入
有三行,第一行是用来判定出两条DNA序列是否相关的阈值,随后2行是两条DNA序列(长度不大于500)。
输出
若两条DNA序列相关,则输出“yes”,否则输出“no”。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
double key;
scanf("%lf",&key);
char c1[500];
char c2[500];
getchar();
gets(c1);
gets(c2);
int len=strlen(c1);
int count=0;
for(int i=0;i<len;i++)
{
if(c1[i]==c2[i])
{
count++;
}
} //遍历数组,找出相等的对数
double s=count*1.0/len; //算出占比
if(s>=key)
{
printf("yes");
}
else
{
printf("no");
}
}