300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 《明解C语言》第九章字符串课后练习题

《明解C语言》第九章字符串课后练习题

时间:2023-04-23 21:04:28

相关推荐

《明解C语言》第九章字符串课后练习题

习题 9-2

#include <stdio.h>

int main() {

char str[] = "ABC";

// char str[] = "ABC\0DEF";

str[0] = '\0'; //关键语句

printf("字符串str为%s。\n",str);

return 0;

}

课本代码9-5 ---格式化显示字符串

#include <stdio.h>

int main() {

char str[] = "12345";

printf("%s\n",str);

printf("%3s\n",str);//至少显示3位

printf("%.3s\n",str); //至多显示3位

printf("%8s\n",str);

printf("%-8s\n",str);//左对齐

printf("%3.2s\n",str);// 一共5个位置,从左齐显示2个

return 0;

}

操作运行结果:

习题9-3

#include <stdio.h>

//若字符串str中含有字符c(若有多个,以先出现的为准),则返回该元素的下标值,否则返回-1。

int str_char(const char str[],char c){

int i;

for (i = 0;str[i] != '\0';i++){

if(str[i] != c){

continue;

}else

return i;

}

return -1;

}

int main(){

char st[100],c;

c = getchar();

printf("请输入字符串:");

scanf("%s",st);

printf("字符串%s中%c的位置为%d。\n",st,c,str_char(st,c));

return 0;

}

运行结果:

习题9-4

//若字符串str中含有字符c的个数,没有返回0。

int str_char(const char str[],char c){

int i,count = 0;;

for (i = 0;str[i] != '\0';i++){

if(str[i] == c){

count ++;

continue;

}

}

if(count != 0)

return count;

else

return 0;

}

int main(){

char st[100],c;

c = getchar();

printf("请输入字符串:");

scanf("%s",st);

printf("字符串%s中%c的个数为%d。\n",st,c,str_char(st,c));

return 0;

}

练习9-5

#include <stdio.h>void put_string(const char str[]){unsigned i = 0;while(str[i])printf("%c",str[i++]);}int main(){char str[100]; printf("请输入字符串:");scanf("%s",str);put_string(str);putchar('\n');return 0;}

练习9-6编写如下函数,使字符串str显示no次

#include <stdio.h>//编写如下函数,使字符串str显示no次void put_stringn(const char str[],int no){unsigned i,j;for(j = 1; j <= no;j++){i = 0;while(str[i])printf("%c",str[i++]);putchar('\n'); }} int main(){char str[100]; int no;printf("请输入字符串:");scanf("%s",str);printf("请输入打印次数:");scanf("%d",&no);put_stringn(str,no);putchar('\n');return 0;}

练习9-7,实现字符串的逆向输出

#include <stdio.h>void put_rstring(const char str[]){unsigned i = 0;while(str[i])i++;while(i>=0)putchar(str[i--]);}int main(){char str[100]; printf("请输入字符串:");scanf("%s",str);put_rstring(str);putchar('\n');return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。