在此框架内填写
#include <stdio.h>
#include <string.h>
#define MAXS 10
void Shift( char s[] );
void GetString( char s[] ); /* 实现细节在此不表 */
int main()
{
char s[MAXS];
GetString(s);
Shift(s);
printf("%s\n", s);
return 0;
}
//函数,输入字符串,返回字符串前三字母。
public function getStoreName($str){
$one = mb_substr($str, 0, 1, 'utf-8');
$two = mb_substr($str, 1, 2, 'utf-8');
$three = mb_substr($str, 2, 3, 'utf-8');
if(preg_match('/^[\x7f-\xff]+$/', $one)){
$one = getFirstCharter($one);
}
if(preg_match('/^[\x7f-\xff]+$/', $two)){
$two = getFirstCharter($two);
}
if(preg_match('/^[\x7f-\xff]+$/', $three)){
$three = getFirstCharter($three);
}
return $one.$two.$three;
}
扩展资料:
写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出。
代码块:
方法1:
#include <stdio.h>
#include <string.h>
char ycopy(char x[], char y[]); //定义复制函数。
main()
{
char a[20], b[20];
gets(a); //输入字符串。
b[20]=ycopy(a, b); //调用复制函数。
puts(b); //输出复制后的字符串。
return 0;
}
//元音复制函数。
char ycopy(char x[], char y[])
{
int m, i, j;
m=strlen(x);
for (i=0, j=0; i<m; i++){
if (x[i]=='a'||x[i]=='A')
y[j++]=x[i];
else if (x[i]=='e'||x[i]=='E')
y[j++]=x[i];
else if (x[i]=='i'||x[i]=='I')
y[j++]=x[i];
else if (x[i]=='o'||x[i]=='O')
y[j++]=x[i];
else if (x[i]=='u'||x[i]=='U')
y[j++]=x[i];
}
y[j] = '\0';
return y[j];
}
方法2:
#include <stdio.h>
#include <string.h>
void input(char st[]); //定义输入函数。
void output(char st[]); //定义输出函数。
void letter(char x[], char y[]); //定义元音复制函数。
int main()
{
char s1[20], s2[10];
input(s1); //调用输入函数。
letter(s1, s2); //调用元音复制函数。
output(s2); //调用输出函数。
return 0;
}
//输入函数。
void input(char st[])
{
printf("Please enter string: ");
gets(st);
}
//元音复制函数。
void letter(char x[], char y[])
{
int n=strlen(x);
for (int i=0, j=0; i<n;
(x[i]=='a'||x[i]=='e'||x[i]=='i'||x[i]=='o'||x[i]=='u'||x[i]=='A'||x[i]=='E'||x[i]=='I'||x[i]=='O'||x[i]=='U') ? y[j++]=x[i++] : i++);
y[j]='\0';
}
//输出函数。
void output(char st[])
{
printf("The final string: %s\n", st);
}
调试不对(~_~;)
void GetString( char s[] ); /* 实现细节在此不表 */
这个看说明 应该系统提供才对. 你调试的时候没这个函数.
可以在结尾加上
void GetString( char s[] )
{
gets(s);
}
不过如果是自动验证系统,应该不需要自己定义这个函数的