81、求小数位数个数
#include <iostream>
#include <string.h>
using namespace std;
int main(){
int len,i;
char str[100];
while(gets(str)){
len=0;
len=strlen(str);
for(i=0;i<len;i++){
if(str[i]=='.')
break;
}
if(i==len)
cout<<"0"<<endl;
else
cout<<len-i-1<<endl;
}
return 0;
}
82、进制转换(先空着)
83、表达式求值
#include <stdio.h>
#include <string.h>
int main(){
char a[1000];
int len;
int i,j,flag;
int num,sum,count;
while(gets(a)){
len=strlen(a);
flag=0;
sum=0;
for(i=0;i<len;i++){
j=i;
num=0;
count=0;
while(a[j]>='0'&&a[j]<='9'){
num=(num*10)+(a[j]-'0');
count++;
j++;
}
if(flag==0)
sum=sum+num;
if(flag==-1)
sum=sum-num;
if(flag==1)
sum=sum+num;
if(a[j]=='+')
flag=1;
if(a[j]=='-')
flag=-1;
i=i+count;
}
printf("%d\n",sum);
}
return 0;
}
84、删除字符
#include <iostream>
#include <string.h>
using namespace std;
int main(){
char str[20];
char c;
while(gets(str)){
scanf("%c",&c);
for(int i=0;str[i]!='\0';i++){
while(str[i]==c){
for(int j=i;str[j]!='\0';j++)
str[j]=str[j+1];
}
}
for(int k=0;str[k]!='\0';k++){
cout<<str[k];
}
}
return 0;
}
85、手机短号
#include <iostream>
#include <string.h>
using namespace std;
void put(char str[]){
cout<<"6";
for(int i=6;str[i]!='\0';i++){
cout<<str[i];
}
cout<<endl;
}
int main(){
int n;
char str[12];
while(cin>>n){
getchar();
while(n--){
gets(str);
put(str);
}
cout<<endl;
}
return 0;
}
86、字符串统计
#include <iostream>
#include <string.h>
using namespace std;
int jisuan(char str[]){
int count=0;
for(int i=0;str[i]!='\0';i++){
if(str[i]>='a'&&str[i]<='z')
count++;
}
return count;
}
int main(){
int n,num;
char str[1000000];
while(cin>>n){
getchar();
while(n--){
num=0;
gets(str);
num=jisuan(str);
cout<<num<<endl;
}
cout<<endl;
}
return 0;
}
87、弟弟的作业
#include <iostream>
#include <string.h>
using namespace std;
int main(){
int i=0,count=0;
int a[100],b[100],c[100];
char op[100];
while(scanf("%d%c%d=%d",&a[i],&op[i],&b[i],&c[i])!=EOF)
{
i++;
getchar();//从输入设备接收一个字符
}
for(int j=0;j<i;j++){
if((op[j]=='+'&&a[j]+b[j]==c[j])||(op[j]=='-'&&a[j]-b[j]==c[j]))
count++;
}
cout<<count<<endl;
}
88、字符串排序
#include <iostream>
#include <string.h>
using namespace std;
void sort(char str[],int len){
char temp;
for(int i=0;i<len;i++){
//每次把最小的都挪到最前面
for(int j=i+1;j<len;j++){
if(str[i]>str[j]){
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
}
}
}
int main(){
char str[101];
int len=0;
while(gets(str)){
len=strlen(str);
sort(str,len);
printf("%s\n",str);
}
return 0;
}
89、回文问题
#include <iostream>
#include <string.h>
using namespace std;
int Ishuiwen(char str[],int len){
int i,j;
for(i=0,j=len-1;i<len/2,j>len/2;i++,j--){
if(str[i]!=str[j]){
return 0;
break;
}
}
return 1;
}
int main(){
char str[200];
int len=0;
int res;
while(gets(str)){
len=strlen(str);
res=Ishuiwen(str,len);
if(res==1)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}
90、字符串中找整数
#include <iostream>
#include <string.h>
using namespace std;
int main(){
char str[500];
int num[500];
int len,count,sum;
while(gets(str)){
len=strlen(str);
count=0;
sum=0;
str[len++]='a';//可不添加该行
for(int i=0;i<len;i++){
if(str[i]>='0'&&str[i]<='9')
sum=sum*10+str[i]-'0'; //注意使用的是ASCII
if((str[i]>='0'&&str[i]<='9')&&(str[i+1]<'0'||str[i+1]>'9')){
num[count++]=sum;
sum=0;
}
}
cout<<count;
for(int i=0;i<count;i++){
cout<<" "<<num[i];
}
cout<<endl;
}
return 0;
}