第六章
字符数组
#include<string.h>
1.输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
// 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
#include <stdio.h>
//#include <string.h>
int main(){
char string[100],c; // 定义字符数组 数组长度为100
int i,num=0,word=0;
gets(string); // 输入一个字符串给字符数组string
for(i=0;(c=string[i])!='\0';i++){ // 只要不是'\0'就继续执行循环
if(c==' ') word=0; // 如果是空格字符,使word置0
else if(word==0){ // 如果本字符不是空格字符,并且前一个是空格字符,那么
word=1; // word 置为 1, 也就是说这就是一个新单词
num++; //
}
}
printf("There are %d words in this line.\n", num);
return 0;
}
前面是空格,当下不是空格 取新单词
当下c word是前一个 01 01 01 01
2.三个字符串求最大者
#include<stdio.h>
#include<string.h>
int main()
{
char str[3][20];
char string[20];
int i;
for(i=0;i<3;i++)
{
gets(str[i]);//循环输入三行字符
}
if(strcmp(str[0],str[1])>0) //第一行元素大于第二行的
strcpy(string,str[0]);//直接将第一行的字符赋给string
else
strcpy(string,str[1]);//否则将第二行的字符赋给string
if(strcmp(str[2],string)>0)
strcpy(string,str[2]);
printf("%s",string);
}
#include<stdio.h>
#include<string.h>
int main()
{
char str[3][20];
char string[20];
int i;
for(i=0
getsif(strcmp
strcpy
elseif
printf
}
3.函数调用实现how do you do
#include<stdio.h>
int main()
{
void print_star();
void print_message();
print_star();
print_message();
print_star();
return 0;
}
void print_star()
{
printf("******************\n");
}
void print_message()
{
printf("How do you do!\n");
}
递归