#题1
#include
struct s
{
char name[10];
int age;
}
main()
{
struct s a[3] = {{"John", 19},
{"Paul", 17},
{"Marry", 18}};
int i;#改动1,新增变量i用于循环计数
for (i=0; i<3;i++)
{
#改动2,数组直接寻址操作
printf("%s, %d\n", s[i].name, s[i].age);
}
}
#题2
#include
#include
main()
{
int i = 0, findFlag=0; #改动1,变量i赋初始值0
char x;
char str[][13]={ "Pascal","Basic","Fortran", "Java", "Visual C", "Visual Basic" };
printf("请输入一个字符串:");
gets(x);
while(i<6 && !findFlag)
{
#改动2,使用库函数strncmp进行字符串比较
if (0 == strncmp(x, str[i], strlen(str[i]))
{
findFlag = 1;
}
i++;
}
if (findFlag)
{
printf("%s\n", x);
}
else
{
printf("没找到!\n");
}
}
#题3
#include
void Cpy(char s[],char c[]); #改动1,函数声明
main()
{
char str1[80],
str2[80];
printf("输入一个字符串:");
gets(str1);
Cpy(str1[], str2[]);
printf("输出一个字符串\n");
puts(str2);
}
void Cpy(char s[],char c[])
{
int i, j;
for(i=0; s[i] != '\0'; i++)
{
if(s[i]= 'a'||s[i]= 'A'||s[i]= 'e'||s[i]= 'E'||
s[i]= 'i'||s[i]= 'I'||s[i]= 'o'||s[i]= 'O'||s[i]= 'u'||s[i]= 'U')
{
c[j] = s[i]; #改动2,存放在字符串str2种
j++;
}
}
c[j]='\0';#改动3,添加字符串结尾符
}