串中查察羡世找最长单词,假定字符串中只含字母和空格,空格用来分隔不同的单词。
直接编译,程序执行结果如下图所示:
题目02:编写一个int string_len(char *s),返回字符串s的字符长度(不包括\0)。
直接编译,程序执行结果如下图所示:
扩展资料:C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编败肢译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理派毕器(单片机或称MCU)以及超级电脑等作业平台。#include<stdio.h>
#define
MAXCHAR
101
//最大允许字符串长度
int
char_to_num(char
ch)//返回字符对应的数字
char
num_to_char(int
num)
//返回数字对应得字符
long
source_to_decimal(char
temp[],int
source)//返回由原数转换成
十进制数
int
decimal_to_object(char
temp[],long
decimal_num,int
object)
//返回转换成目标数制后字符数组的长度
void
output(char
temp[],int
length)
//将字符数败皮组逆序打印
void
main()
{
int
source
//存储原数制
int
length
//存储转换成目标数制后的字符数组长度
int
object
//存储目标数制
char
temp[MAXCHAR]
//存储待转换的数值和转换后的数值
long
decimal_num
//搜渗存储转换成的十进制数
int
flag
=
1
//存储是否退出程序的标志
while(flag)
//利用输入的flag值控制循环是否结束
{
printf("转换前的数是:")
scanf("%s",temp)
printf("转换前的数值是:")
scanf("%d",&source)
printf("转换后的数值是:")
scanf("%d",&object)
printf("转换后的数是:")
decimal_num
=
source_to_decimal(temp,source)
length
=
decimal_to_object(temp,decimal_num,object)
output(temp,length)
printf("继续请输入1,否则输入0:
")
scanf("%d",&flag)
}
}
int
char_to_num(char
ch)
{
if(ch>='0'&&
ch<='9')
//将数字字符转换成数字
return
ch-'0'
else
return
ch-'A'+10
//将字母字符转换成数字
}
char
num_to_char(int
num)
{
if(num>=0
&&
num<=9)
return
(char)(num+'0'-0)
//将0~9之间的数字转换成字符
else
return
(char)(num+'A'-10)
//将大于10的数字转换成字符
}
long
source_to_decimal(char
temp[],int
source)
{
long
decimal_num=0
//存储展开之后的和
int
i
int
length
for(i=0temp[i]!=''i++)
length
=
i
for(i=0i<=length-1i++)
//累加
decimal_num
=
(decimal_num*source)+char_to_num(temp[i])
return
decimal_num
}
int
decimal_to_object(char
temp[],long
decimal_num,int
object)
{
int
i
=
0
while(decimal_num)
{
temp[i]
=
num_to_char(decimal_num%object)
//求出余数并转换成字符
decimal_num
=
decimal_num/object
//用十进制数除以基数
i++
}
temp[i]=''
return
i
}
void
output(char
temp[],int
length)
{
int
i
for(i=length-1i>=0i--)
//
输出temp数组中察漏差的值
printf("%c",temp[i])
printf("
")
}
评论列表(0条)