if(a%i==0)
{n=0;break;}
returnn;
}
第十二题:
编写一个函数,将一个字符串中的原音字母赋值到另一个字符串中,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。
#include
intmain()
{
voidtt(chara[],charb[]);
chara[100],b[40];
printf("请输入一个字符串:
\n");
gets(a);
tt(a,b);
printf("字符串%s中元音字母有:
\n%s\n",a,b);
return0;
}
voidtt(chara[],charb[])
{
inti,j;
for(i=0,j=0;a[i]!
='\0';i++)
if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u'||a[i]=='A'||a[i]=='E'||a[i]=='I'||a[i]=='O'||a[i]=='U')
b[j++]=a[i];
b[j]='\0';
}
第十三题:
建立动态数组,输入5个学生的成绩,编写函数检查其中有无低于60分的学生成绩,要求输入和输出功能在主函数中完成。
#include
#include
intmain()
{
inttt(float*a,float*b);
float*a,*b;
inti,n;
a=(float*)malloc(5*sizeof(float));
b=(float*)malloc(5*sizeof(float));
printf("请输入五个人的成绩:
\n");
for(i=0;i<5;i++)
scanf("%f",a+i);
n=tt(a,b);
if(n==0)
printf("无低于60分的\n");
else
for(i=0;iprintf("%5.2f",*(b+i));
printf("\n");
return0;
}
inttt(float*a,float*b)
{
inti,j=0;
for(i=0;i<5;i++)
if(*(a+i)<60)
b[j++]=a[i];
returnj;
}
第十四题:
有一个一维数组score,内放10个学生成绩,用一个函数求平均成绩,并将10个成绩中不及格(小于60)的成绩和该成绩在数组中的序号输出。
#include
intmain()
{
inttt(floata[],floatb[],intc[]);
intn,c[10],i;
floata[10],b[10];
printf("请输入十个学生的成绩:
\n");
for(i=0;i<10;i++)
scanf("%f",&a[i]);
n=tt(a,b,c);
printf("不及格的数组的序号为:
\n");
for(i=0;iprintf("%d",c[i]);
printf("\n不及格的分数为:
\n");
for(i=0;iprintf("%5.2f",b[i]);
printf("\n");
return0;
}
inttt(floata[],floatb[],intc[])
{
inti,j;
for(i=0,j=0;i<10;i++)
if(a[i]<60)
{
b[j]=a[i];
c[j]=i;
j++;
}
returnj;
}
第十五题:
编程实现:
从键盘输入两个字符串,统计第二个字符串在第一个字符串中出现的次数,在主函数中调用统计函数并输出结果。
#include
intmain()
{
inttt(chara[],charb[]);
chara[100],b[30];
printf("请输入两个字符串:
\n");
gets(a);
gets(b);
printf("b在a中出现的次数为:
%d\n",tt(a,b));
return0;
}
inttt(chara[],charb[])
{
inti,c=0,d=0,j=0;
for(i=0;a[i]!
='\n';i++)
{
if(d==1&&b[j]=='\0')
{
c++;
j=0;
}
if(a[i]==b[j])
{
d=1;
j++;
}
else
{
d=0;
j=0;
}
}
if(d==1&&b[j]=='\0')
c++;
returnc;
}
第十六题:
编写一程序,实现从键盘接收一个字符串,然后删除其中的空格后并输出。
如:
输入“Iamastudent!
”,输出“Iamastudent!
”,要求用指针实现。
#include
intmain()
{
char*a,b[50];
inti,j;
printf("请输入一个字符串:
\n");
gets(b);
a=b;
for(i=0;*(a+i)!
='\0';i++)
if(*(a+i)=='')
for(j=i;*(a+j)!
='\0';j++)
*(a+j)=*(a+j+1);
printf("去掉空格后为:
\n");
puts(a);
return0;
}
第十七题:
.用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。
#include
intmain()
{
voidtt(int*a,intb);
int*a,b[10],i;
a=b;
printf("请输入十个整数:
\n");
for(i=0;i<10;i++)
scanf("%d",a++);
a=b;
tt(a,10);
printf("\n十个数从大到小顺序为:
\n");
for(i=0;i<10;i++)
printf("%d",*(a+i));
printf("\n");
return0;
}
voidtt(int*a,intb)
{
inti,j,n;
for(i=0;i<10;i++)
for(j=0;jif(a[j]{
n=a[j+1];
a[j+1]=a[j];
a[j]=n;
}
}
第十八题:
用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)
#include
intmain()
{
voidtt(int*a,intb);
int*a,b[10],i;
a=b;
printf("请输入十个整数:
\n");
for(i=0;i<10;i++)
scanf("%d",a++);
a=b;
tt(a,10);
printf("\n十个数从小到大顺序为:
\n");
for(i=0;i<10;i++)
printf("%d",*(a+i));
printf("\n");
return0;
}
voidtt(int*a,intb)
{
inti,j,n;
for(i=0;i<10;i++)
for(j=i+1;j
if(a[i]>a[j])
{
n=a[j];
a[j]=a[i];
a[i]=n;
}
}
第十九题:
编写一个函数实现字符串复制功能,不能使用strcpy函数,并在 main函数中调用,输入字符串和输出赋值完后字符串的结果都在主函数中实现。
(要求用指针作为函数参数)
#include
intmain()
{
voidtt(chara[],charb[]);
chara[50],b[50];
printf("请输出一个字符串a:
\n");
gets(a);
tt(b,a);
printf("吧a赋值给b得b为:
\n");
puts(b);
return0;
}
voidtt(chara[],charb[])
{
inti;
for(i=0;b[i]!
='\0';i++)
a[i]=b[i];
a[i]='\0';
}
第二十题:
写一函数,求一个字符串的长度。
在main函数中输入字符串,并输出其长度。
(要求用指针实现)
#include
intmain()
{
inttt(chara[]);
chara[100];
printf("请输入一个字符串:
\n");
gets(a);
printf("字符串a的长度为:
%d\n",tt(a));
return0;
}
inttt(chara[])
{
inti;
for(i=0;a[i]!
='\0';i++);
returni;
}
第二十一题:
输入一个字符串,内有数字和非数字字符,例如:
“A123x45617960?
302tab5876”,将其中连续的数字作为一个整数,依次存在到一数组a中。
例如,123放在a[0],456放在a[1]……统计共有多少个整数,并输出这些数。
(要求用指针实现)
#include
intmain()
{
inttt(char*a,int*b);
inti,n,*b,d[20];
char*a,c[100];
b=d;a=c;
printf("请输入一个字符串:
\n");
gets(a);
n=tt(a,b);
printf("一共有%d个整数它们分别为:
\n",n);
for(i=0;iprintf("%d",b[i]);
printf("\n");
return0;
}
inttt(char*a,int*b)
{
inti,n=0,m=0,p=1;
b[0]=0;
for(i=0;a[i]!
='\0';i++)
{
if(a[i]>='0'&&a[i]<='9')
{
b[m]=b[m]*p+(a[i]-'0');
p=10;
n=1;
}
elseif(n==1)
{
m++;
n=0;
p=1;
b[m]=0;
}
}
if(n==1)
m++;
returnm;
}
第二十二题:
有一篇文章,共有4行文章,每行有60个字符。
要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数。
(要求用指针实现)
#include
intmain()
{
char(*a)[60],b[4][60];
intj,i,c=0,d=0,e=0,f=0,g=0;
printf("请输入入四行文章每行60个字符:
\n");
for(i=0;i<4;i++)
gets(b[i]);
a=b;
for(i=0;i<4;i++)
for(j=0;j<60;j++)
{
if(a[i][j]>='A'&&a[i][j]<='Z')
c++;
elseif(a[i][j]>='a'&&a[i][j]<='z')
d++;
elseif(a[i][j]>='0'&&a[i][j]<='9')
e++;
elseif(a[i][j]=='')
f++;
else
g++;
}
printf("大写字母有%d个\n小写字母有%d个\n数字有%d个\n空格有%d个\n其他字符有%d个\n",c,d,e,f,g);
return0;
}
第二十三题:
编程实现从