实验十二参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
char s[80];
gets(s);
printf("%s=",s);
printf("%ld\n",add(s));
return 0;
}
12_2.
#include<stdio.h>
int match(char *pat, char *str)/*void */
{
char *p=pat,*q=str;
for(i=0;s[i];i++)
if(isalpha(s[i])){
ch=(s[i]>='A'&&s[i]<='Z')?s[i]+32:s[i];
freq[ch-'a']++;
}
for(i=0;i<26;i++)
if(freq[i])printf("%c:%d ",i+'a',freq[i]);
return 0;
if(*p!='\0'||*q!='\0') i=0;
return i;
}
intmain(void)
{
char a[10],b[10];
int yesno;
gets(a);
gets(b);
yesno=match(a,b);/*match(a[10],b[10]);*/
printf("%s %s %s\n",a,yesno? "match":"unmatch",b);
position=findsub(s,t);
if(position==-1) return 0;
k=strlen(t);
strcpy(tempstr,s+position+k);
s[position]='\0';
strcat(s,g);
tail=strlen(s);
strcat(s,tempstr);
puts(s);
return 0;
}
int fun(char a[])
{
int i,j=0,count=0;
for(i=0;a[i];i++)
if(!isdigit(a[i]))
a[j++]=a[i];
else count++;
a[j]='\0';
return count;
}
12_5.
#include<stdio.h>
return 1+replace_str(s+tail,t,g);
}
int findsub(char *a,char *b)
{
int i,j,k;
for(i=0;a[i]!='\0';i++){
for(j=i,k=0; a[j]==b[k]&&k<strlen(b);j++,k++);
if(b[k]=='\0') return i;
int i=1;/*i=0 */
while((*p!='\0')&&(*q!='\0'))
if(*p==*q||*p=='?') p++,q++;
else if(*p=='*'){
p++;
while(*q!=*p && *q!='\0')q++;
}
else {i=0; break; }/*{ }*/
实验十二
12_1..
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int stoi(char *s,int *i)/*void */
{
long n=0;
while(isdigit(s[*i]))
n=n*10+s[(*i)++]-'0';/*'0'*/
int findsub(char *a,char *b);
int main(void)
{
Baidu Nhomakorabeachar s[100],t[20],g[20];
int count;
clrscr();
printf("s:");
gets(s);
printf("t:");
gets(t);
printf("g:");
gets(g);
return n;
}
long add(char *s)
{
int i=0,*pi=&i;/*=&i*/
char op;
long a=0,b=0,c;
a=stoi(s,pi);
op=s[i++];
b=stoi(s,pi);
switch(op){
case '+':return a+b;
case '-':return a-b;
#include<conio.h>
#include<string.h>
#include<ctype.h>
void FindLWord(char *a,char *b);
int main(void)
{
char s[100],str_long[20]="";
clrscr();
gets(s);
FindLWord(s,str_long);
count=replace_str(s,t,g);
printf("%s, count=%d",s,count);
return 0;
}
int replace_str(char *s,char *t,char *g)
{
char tempstr[100];
int position,k,tail;
if(strlen(s)==0) return 0;
return 0;
}
12_3.
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
int isident(char s[]);
int main(void)
{
char s[100],ch;
int freq[26]={0},i=0;
clrscr();
gets(s);
case '*':return a*b;
case '/':if(b==0) {printf("div!0");exit(0);}/*{}*/
else return a/b; /*else*/
default: printf("operator error!");exit(0);
}
}
int main(void)
word=1;
}else if(word==1){
temp[k]='\0';
word=0;
if(strlen(temp)>strlen(b)) strcpy(b,temp);
}
}
12_7.
#include<stdio.h>
#include<conio.h>
#include<string.h>
int replace_str(char *s,char *t,char *g);
#include<conio.h>
#include<ctype.h>
void fun(char xx[]);
int main(void)
{
char s[100];
clrscr();
gets(s);
fun(s);
puts(s);
return 0;
}
void fun(char xx[])
{
int i,count=0;
}
12_4.
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
int fun(char a[]);
int main(void)
{
char s[100],ch;
int n;
clrscr();
gets(s);
n=fun(s);
printf("%d:",n);
puts(str_long);
return 0;
}
void FindLWord(char *a,char *b)
{
char temp[20];
int word=0,k=0,i,j;
for(i=0;i<=strlen(a);i++)
if(isalpha(a[i])){
if(word==0) k=0;
temp[k++]=a[i];
for(i=0;xx[i];i++)
if(isdigit(xx[i])) count++;
for(i=strlen(xx);i>=0;i--){
xx[i+count]=xx[i];
if(isdigit(xx[i])){
xx[i+count-1]='$';
count--;
}
}
}
12_6.
#include<stdio.h>
}
return -1;
}
相关文档
最新文档