明解C语言 入门篇 第九章答案
练习9-1
/*
将字符串存储在数组中并显示(其2:初始化)
*/ #include <stdio.h> int main(void)
{
char str[] = "ABC\0DEF"; printf("字符串str为\"%s\"。\n", str); /* 显示 */ return ;
}
练习9-2
/*
将字符串存储在数组中并显示(其2:初始化)
*/ #include <stdio.h> int main(void)
{
char str[] = "ABC";
*str = ; printf("字符串str为\"%s\"。\n", str); /* 显示 */ return ;
}
练习9-3
#include<stdio.h>
#define NUM 3 int main(void)
{
int i;
char s[NUM][];
for (i = ; i < NUM; i++)
{
printf("s[%d]:", i);
scanf("%s", s[i]);
if (strcmp(s[i], "$$$$$") == )
break;
}
for (i = ; i < NUM; i++)
{
if (strcmp(s[i], "$$$$$") == )
break;
else
printf("s[%d] = \"%s\"\n", i, s[i]);
} return ; }
练习9-4
#include<stdio.h>
void null_string(char s[]) {
*s = ;
}
int main() {
char s[] = "asd";
null_string(s);
printf("%s", s);
}
练习9-5
#include<stdio.h>
#define num 128 int str_char(const char s[], int c) {
int i;
for (i = ; i < num; i++) {
if (*s++ == 'c') {
return i;
}
}
return -; } int main() {
char c = 'c';
char x[num];
printf("请输入字符串:");
scanf("%s", x); printf("%s", x);
putchar('\n');
printf("%d", str_char(x, c)); }
练习9-6
#include<stdio.h>
#define num 128 int str_chnum(const char s[], int c) {
int i;
int cnt = ;
for (i = ; i < num; i++) {
if (*s++ == 'c') {
cnt++;
}
}
return cnt; } int main() {
char c = 'c';
char x[num];
printf("请输入字符串:");
scanf("%s", x); printf("%s", x);
putchar('\n');
printf("%d", str_chnum(x, c)); }
练习9-7
#include<stdio.h>
#define num 128 void put_stringn(const char s[], int n) {
int i=;
int j;
for (j = ; j < n; j++) {
while (s[i]) {
putchar(s[i++]);
}
i = ;
}
}
int main() { char x[num];
int n;
printf("请输入字符串:"); scanf("%s", x); printf("%s", x);
printf("显示次数:");
scanf("%d", &n);
putchar('\n'); put_stringn(x, n); }
练习9-8
#include<stdio.h>
#define num 128 void put_stringr(const char s[]) {
int g = strlen(s);
int i;
char m[num];
for (i = ; i < g; i++) {
m[i] = s[g -i- ];
putchar(m[i]);
} }
int main() { char x[num];
printf("请输入字符串:");
scanf("%s", x);
printf("%s", x);
putchar('\n');
put_stringr(x); }
练习9-9
#include<stdio.h>
#define num 128 void rev_string(char s[]) {
int i;
int g = strlen(s);
for (i = ; i < (g/); i++) {
int tem = s[i];
s[i] = s[g - i - ];
s[g - i - ] =tem; }
int j = ;
while (s[j])
{
putchar(s[j++]); }
}
int main() { char x[num];
printf("请输入字符串:");
scanf("%s", x);
printf("%s", x);
putchar('\n');
rev_string(x); }
练习9-10
#include <stdio.h>
#define num 128
void del_digit( char s[]) {
int i=;
while(s[i] != '\0') {
if (s[i] >= '' && s[i] <= '') {
s[i++];
}
else
{
putchar(s[i]);
i++;
}
}
} int main() {
char s[num];
printf("输入字符串:");
scanf("%s", s);
printf("%s\n", s);
del_digit(s); }
练习9-11
#include <stdio.h>
#define num 5
#define number 6
/*--- 显示字符串数组 ---*/
void put_strary(const char* s[number], int n)
{
int i;
for (i = ; i < n; i++) {
if (strcmp(s[i], "$$$$$") == ) {
break;
}
printf("s[%d] = \"%s\"\n", i, s[i]); }
} int main(void)
{
char* cs[number] = { "Turbo", "NA", "DOHC","$$$$$","EWGEWGE" }; put_strary(cs, num); return ;
}
练习9-12
#include <stdio.h>
void rev_string(char s[][], int n) {
int i, j;
for (i = ; i < n; i++) {
int j = ;
int g = strlen(s[i]);
printf("s[%d]=\"", i);
while (s[i][j])
{
putchar(s[i][(g - (j++) - )]);
}puts("\"");
}
}
int main() {
int n;
printf("将字符串逆向显示的个数:");
scanf("%d", &n);
char s[][] = { "asdg","abc","cba","gfdaa" };
rev_string(s,n);
}
明解C语言 入门篇 第九章答案的更多相关文章
- 明解C语言 入门篇 第二章答案
练习2-1 #include <stdio.h> int main() { int x; int y; int percent; puts("请输入两个整数"); pr ...
- 明解C语言 入门篇 第一章答案
练习1-1 #include <stdio.h> int main() { int a; a = 15; int b; b = 37; int c; c = a - b; printf(& ...
- 明解C语言 入门篇 第八章答案
练习8-1 #include<stdio.h> #define diff(x,y)(x-y) int main() { int x; int y; printf("x=" ...
- 明解C语言 中级篇 第二章答案
练习2-1 /* 倒计时后显示程序运行时间 */ #include <time.h> #include <stdio.h> /*--- 等待x毫秒 ---*/ int slee ...
- 明解C语言 中级篇 第一章答案
练习1-1 #include <stdio.h> #include<stdlib.h> int main() { srand(time()); ; printf("您 ...
- 明解C语言 入门篇 第十章答案
练习10-1 #include <stdio.h> void adjust_point(int*n) { ) *n = ; ) *n = 0; } int main() { int x; ...
- 明解C语言 入门篇 第五章答案
练习5-1 /* 依次把1.2.3.4.5 赋值给数组的每个元素并显示(使用for语句) */ #include <stdio.h> int main(void) { int i; ]; ...
- 明解C语言 入门篇 第四章答案
练习4-1 #include <stdio.h> int main(void) { int no; int x; do{ printf("请输入一个整数:"); sca ...
- 明解C语言 入门篇 第三章答案
练习3-1 #include <stdio.h> int main() { int x; int y; puts("请输入两个整数."); printf("整 ...
随机推荐
- 使用T4模板同时生成多个类文件
代码: <#@ template language="C#" debug="false" hostspecific="true"#&g ...
- TCP SYN flood洪水攻击原理和防御破解
简介 TCP协议要经过三次握手才能建立连接: 于是出现了对于握手过程进行的攻击.攻击者发送大量的SYN包,服务器回应(SYN+ACK)包,但是攻击者不回应ACK包,这样的话,服务器不知道(SYN+AC ...
- 安装配置ZooKeeper及基本用法
要想学习分布式应用,ZooKeeper是一个绕不过去的基础系统.它为大型分布式计算提供开源的分布式配置服务.同步服务和命名注册. 今天先介绍系统的安装和基本使用,后续会推一些基本的Java使用代码. ...
- 怎样解决非管理员账户添加Notepad++右键菜单的批处理的问题?
bat脚本如下: @echo off color 1e title 将Notepad++增加到右键菜单(或者去关联) goto :menu :menu cls echo. echo. 1 将Notep ...
- ERP WIP 部分API应用 详解
工单创建 (create work order) PROCEDURE new_work_order(p_wip_entity_id NUMBER, p_organization_id NUMBER, ...
- 关于VS2015 发布.net mvc 网站失败的问题
问题:VS生成成功,发布失败,在“正在连接到***文件夹”处就不能继续了.. 项目开发告一段落,准备部署到服务器上进行最后测试,但是始终发布失败 生成成功,发布失败,没有任何提示信息 一开始以为是文 ...
- [TCP/IP] TCP的重发机制是怎么实现的
1)滑动窗口机制,确立收发的边界,能让发送方知道已经发送了多少(已确认).尚未确认的字节数.尚待发送的字节数:让接收方知道(已经确认收到的字节数) 2) 超时重传,tcp每发送一个报文段,就设置一次计 ...
- ios webview
//#pragma mark - UIWebView Delegate Methods -(void)webViewDidFinishLoad:(UIWebView *)webView{ //获取到w ...
- vue-router路由传参之query和params
首先简单来说明一下$router和$route的区别 //$router : 是路由操作对象,只写对象 //$route : 路由信息对象,只读对象 //操作 路由跳转 this.$router.pu ...
- JS高阶---函数的prototype
思维导图 栈堆翻译为为stack (1)原型与原型链 概念一.原型对象 验证步骤: 1.打印Data函数的原型prototype 原型属性指向原型对象 ===ES源码结构分析示意=== 2.空对象 3 ...