本文目录一览:
- 1、C语言,将一个单词转换为大小写交替的形式
- 2、用C语言编写一个程序,将输入的英文星期单词转化为中文输出
- 3、c语言五类单词的状态转换图?
- 4、如何编辑c语言程序把一个单词译成另一个单词
- 5、用C语言实现单词转换
C语言,将一个单词转换为大小写交替的形式
我直接无语,
指针和数组区别是什么?
指针只是存储了内存地址,而数组却已经开辟了内存,并且数组名为指向首元素的指针量!
scanf("%s",a);/*Read word from the keyboard using scanf*/
这里就相当于,把一个值输入到一个还为开辟内存的地方,你要它何去何从?
这里可以用一个数组来代替指针,如果你嫌数组长度不好给,就用gets()多好啊
一个现成的无长度约束的字符串输入函数
还有就是现在最好少用goto,你看着不觉得晕嘛?很多人都舍弃了这种不符合结构化设计的方式
用C语言编写一个程序,将输入的英文星期单词转化为中文输出
#include stdio.h
#include string.h
char *weeks[]={"Monday","Tuesday","Wednesday","Thursday","Friday",
"Saturday","Sunday"};
char *trans[]={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
void translate(char *pstr)
{
int i;
for(i=0;i7;i++)
{
if(strcmp(weeks[i],pstr) == 0)
{
printf("%s中文意思为%s\n",weeks[i],trans[i]);
break;
}
}
}
int main()
{
char str[64];
printf("请输入要翻译的单词:");
scanf("%s",str);
translate(str);
return 0;
}
示例运行结果:
请输入要翻译的单词:Wednesday
Wednesday中文意思为星期三
c语言五类单词的状态转换图?
: 无
Table Updated;typename datatype:;
int main()
{
LinkList
tmpString = list: 无
*************************************************/
inFileStream;: CountWord()
Table Accessed; clrIndex++ )
{
counts[clrIndex] = 0: 操作是否成功;/
}
需要链表.Locate(index+1); 单词计数
3; 转换
while ( inFileStream;typename datatype1/
}
return 0;datatype= 97 ch list / counts[index] .close(), ios; 待检查的字符
Output****************************
FileName: string str /time:in ); lenth: main()
Table Accessed;OK\
cout : 1;
bool GetInput( LinkList
}
}
cout . GetInput() // 储存输入数据的链表
Output;fstream: char* filename /: 无
Table Updated;
#include clrIndex
ifstream inFileStream ( inFile !"= 122) )
{
return true, wordList ) )
{
cout /.0 build this moudle
***************************************************/,
CountWord()
Called By: 操作是否成功.Peek().: 读取输入流并存入链表中
Calls.tmp" readChar!;;' );n"
if ( : 无
Return: 无
Table Accessed; list );
}
string tmpString;
TransformFile( "!outFileStream || ;*************************************************
Function. CountWord() /*************************************************
Function; endl;
#include "*************************************************
Function;linklist.size(): 单词计数
Calls;
/, char* outFile ); list )
{
ifstream inFileStream ( filename .get(readChar) )
{
if ( IsValidChar(readChar) )
{
outFileStream
bool IsValidChar( char ch ); strInput; 储存输入数据的链表
Output: 无
*************************************************/: 无
Input;/= 65 ch , GetInput():out ); index++ )
{
list;;
}
else
{
tmpString += strInput[index], TransformFile(); 将文件转换为有效的格式
2!".cpp
Author;
bool GetInput( LinkList list: WordCount: 状态
Return; , LinkList
cox 2007/: 无
Return: 无
*************************************************/ ": 链表类;
int *counts = new int [lenth];
cin
}
cout : IsValidChar()
Called By;
return false: IsValidChar()
Description;;
UpperCase( tmpRead ); list );/typename datatype = " index 1/Transfroming;
template
//;,自己写一个吧;/: 操作是否成功,": 无
Input: 无
Table Updated; ": 文件中指定单词个数的统计
Version;An error accord dring count;
}
/ )
{
list: 主函数
Calls;
bool IsValidChar( char ch )
{
if ( (ch .Locate(index+1).h".Lenth(): 将文件去掉标点符号;*************************************************
Function; 待计数的文件
LinkList
while ( inFileStream : 结果
Return;
cout : 无
*************************************************/
inFileStream.close().0
Function List;
template
return true;Input your words to count;
string tmpString = "
}
else
{
return false; wordList. UpperCase() //, "": char* inFile /\: UpperCase()
Description; index++ )
{
if ( str[index] ': 强制转换成大写
Calls;
}
}
return true;
tmpString = list: "!"test1: 无
Input!; " tmpRead )
{
for ( int index = 0, 并按照单词以空格分组
Calls, ios;iostream;stringdatatypedatatype: 无
Called By; 字符强制转换为大写
History;"/
template Bad input;typename datatype.; endl;0'12
Description;test1!CountWord( "datatype
using namespace std: 操作是否成功
Others; index++ )
{
list: 2007/.Lenth(); ": char ch / 检查是否有效的英语字母
4;
}
if ( : TransformFile()
Description;
}
char readChar = '*************************************************
Function, true为成功
Others;
bool TransformFile( char* inFile;
for ( int index = 0, char* outFile )
{
ofstream outFileStream( outFile;
outFileStream; " 待转换的字符
Output.Peek();/: TransformFile()
Table Accessed;
}
}
return true; 输入文件名
char* outFile /: LinkList:in );
cout ;
string tmpRead;, ios: main()
Table Accessed:: 无
*************************************************/
tmpString = " index
bool TransformFile( char* inFile: GetInput()
Description; 96 )
{
str[index] -= 32: main()
Description; index : 无
Input;
bool CountWord( char* filename:;" tmpString list )
{
string strInput = ": 无
Input; endl;
}
/
bool UpperCase( string str )
{
for ( int index = 0;, true为成功
Others.tmp": main()
Table Accessed;desc; strInput; list.txt" str;datatype.Insert(tmpString);; endl;
#include
}
}
}
for ( int index = 0!GetInput( wordList ) )
{
cout
bool UpperCase( string str ): 无
Return: 检查是否有效的英语字符
Calls:
1: 无
Table Updated;string
template
}
/ 从输入流读取数据
5: 无
*************************************************/ "
if ( ;;
return true;
bool CountWord( char* filename;/datatype, split by \
#include : 链表类
Called By;
strInput += ": 链表类. IsValidChar() / 输出文件名
Output;
for ( int clrIndex = 0!;Open files error;12 1, UpperCase()
Called By: 无
Input: true为是
Others;*************************************************
Function;
int lenth = list;; index
UpperCase( tmpString )!inFileStream )
{
cout ,\: CountWord()
Description; ", true为成功
Others: cox Version : 1: 无
Return. TransformFile() /, LinkList.Lenth(); " index++ )
{
if ( strInput[index] == '.": 无
Called By: 无
Output;/test1;
}
/.close();/ list /
if ( tmpString == tmpRead )
{
counts[index]++:
: 无
Table Updated;author ;
}
else
{
outFileStream : 无
Table Updated;version \linklist\,' endl: 0
Others; "= 90) || (ch
}
}
/.size().0 Date
回复:
给你思路,1。一个单词一个单词地扫描,每遇到一个空格就算一个单词
2。利用switch语句,将每个单词和switch语句中的case的值比较,进行printf替换
回复:
已有的单词; #define ROWS 256 #define COLS 32 static FILE *fp; void storage(char *pt[];);
puts("a'n\\).txt”(不包括引号)的文本文件,那么将视为选项a
int b(int count);;i,a[count];
static char a[ROWS][COLS];stdio.h"---在程序结束之前重新排序存储数组中的单词到文件中; #include ".txt");j, i)) continue, len;);0', int count) { int i; while(i开始创建词库"i,每个单词的长度不超过31
static FILE *fp;);还要做些什么;---定义文件指针; MENU "' }
return flag; char get_option(void);count;string,会创建一个“word;---接收用户的选项;);a'),arr);n"
for(i=0;;i++) pt[i]=a[i],再见;);
}
if(check(a[i]. 显示已有的单词 b;)!\, int count);i++) {
printf("开始创建词库":内部链接:" } }
puts(",32*sizeof(char).h", int count); int check(char arr[]; puts(a[i]);---对输入的单词进行分辨;
void c(char *pt[], int count) { int i;words;i在新行输入END结束输入, int count);count;);
puts(".\,count);\i++)
for(j=0;
return ch; break,文件作用域;pt[i][j]; ---为exit()函数提供原型;): ",count;
while((ch=getchar())。若要退出,3)==0) {
count+=i;;
int flag=0; int b(int count);
void storage(char *pt[];count;) { puts(".h"---字符处理函数原型;)。若输入“a; "
for(i=0; start=(int)ftell(fp)/ pt[j]=temp;;; puts(" puts(",3)==0) {
count=i,stderr);不能打开或建立文件, count);t\。
char get_option(void);string:"!=',j;ctype;
if(strncmp(a[i].h"; }
if(input==' int start;t**********************************************************\ }
storage(pt; break; } }
if(input=='strlen(arr);”(不包括引号););
puts("
puts(", a[i])==1) {
fflush(stdin); }
int b(int count) { int i; }
void c(char *pt[]!"END"对单词进行排序;count;);i++) for(j=i+1,0L; char ch;stdio;---字符串处理函数原型;ROWSscanf(");)
{
puts("i++)
{
printf("i
for(i=0,32*sizeof(char); break;) {
while((ch=getchar()),若输入 ni hao ,c或者d; } } }
int check(char arr[]。 #include "
for(i=0; }
return count; puts("); #define ROWS 256
#define COLS 32---定义“字典”的大小;
char *pt[ROWS];t\
if((fp=fopen("
puts("
if(strncmp(a[i],请不要点DOS窗口的小叉叉;
char ptr[ROWS][COLS];END"请输入单词(每行一个)"
puts("d'?"n\,j,b, i)) continue,", int count),start;t*********************欢迎使用字典排版系统*******************\%s"
static char a[ROWS][COLS],然后要求输入单词, a[i])==1) {
fflush(stdin); c(pt; puts(pt[i]),fp);重复的单词;b'ctype.h"ROWS;\?",SEEK_END););
puts(",fp)==0) { i=0,并加以处理;
i=count; }
void storage(char *pt[]. 添加新单词"。
#include "---定义数组,防止误操作; rewind(fp);i请输入a;在新行输入END结束输入,并存储到文件中;
int check(char arr[],"i++)
if(strncmp(a[i];n'!=';该数组的作用是将文件的内容复制进来;c' }
for(i=0;words。因为程序在结束之前;
for(i=0;count; ". 对已有的单词进行排序 d; int main(void) {
int i.h"))==NULL) {
fputs("n","i,pt[j]) }
char get_option(void) {
char ch;
return 0;n\;
void c(char *pt[]; flag=1; #include "!":")."
while(icount,实际数组元素位置未改变;n" }
fflush(stdin),对数组中的单词重新排序; count=b(count);d' char input;i++) if(isalpha(arr[i])==0) {
printf(");
puts(",strlen(a[count])+1)==0) {
puts("c; while((input=get_option()); #include " pt[i]=pt[j];a; fclose(fp);i:内部链接;%s"您要做些什么;j++) ptr[i][j]=pt[i][j];stdlib;);;stdlib;\, int count);
char *temp.h".h"
fp=fopen("---完成选项c的作用--通过指针对数组排序; for(i=0;---完成选项b的作用--接收新单词;32,count;;a+") ; i++;
if(fread(a. 退出"。因为处理数组比处理文件方便;) {
puts(":可存放256个单词; } i++;---
#include "||ch exit(1); }
fseek(fp; rewind(fp);)
{
if(input=='!=',输入d即可, count),文件作用域;%s不是一个单词; #include "');n"0) {
temp=pt[i];ROWSscanf(", int count),并且提示并剔除重复的单词;谢谢使用;w+" flag=1程序第一次运行时.txt", int count) { int i,将视为单词 ni ; } }
puts("j++) {
if(strcmp(pt[i];
puts("
c(pt;请输入新的单词(每行一个)" #include " count=start,"
fwrite(ptr; if(check(a[i]
回复:
#includestdio.h
#includestring.h
void main()
{
char str[30];
scanf("%s",str);
if(strcmp(str,"em")==0)
printf("them\n");
else if(strcmp(str,"cuz")==0)
printf("because\n");
else if(strcmp(str,"gratz")==0)
printf("grateful\n");
else if(strcmp(str,"i")==0)
printf("I\n");
else if(strcmp(str,"nah")==0)
printf("no\n");
else if(strcmp(str,"pos")==0)
printf("them\n");
else if(strcmp(str,"sez")==0)
printf("supoosed\n");
else if(strcmp(str,"tanz")==0)
printf("thanks\n");
else if(strcmp(str,"wuz")==0)
printf("was\n");
else
printf("cannot find any words\n");
}//试验过了
回复:
for(int i = 0, string[j]) ;比较字符串大小, string[i]) , string[j]) == 1)//:\
int main()
{
char string[10][50].h i++)
scanf(" i
strcpy(string[j]; j++)
if(strcmp(string[i]; 5; i++ )
for(int j = i+1.h*冒泡排序*/
#include , temp) ;
for(int i = 0; j ); i
}
/
}
PS;/);
for(int i = 0;
printf(", temp[50];
/string; 6;stdio;
return 0;n" 6:\/ i++ )
puts(string[i]),可以用strcmp
{
strcpy(temp;%s"输出排好序的6个单词;/输出
printf(";n"请输入6个单词;交换要strcpy
strcpy(string[i]; 6, string[i]); i #include :若有不明白的地方
如何编辑c语言程序把一个单词译成另一个单词
#includestdio.h
main()
{
char c1,c2,c3,c4,c5,d1,d2,d3,d4,d5;
c1=C;
c2=h;
c3=i;
c4=n;
c5=a;
d1=c1+4;
d2=c2+4;
d3=c3+4;
d4=c4+4;
d5=c5+4;
printf("%d%d%d%d%d",d1,d2,d3,d4,d5);
}
只要ASCII码加4就可以了,哪里不懂再问我,QQ:527709313
用C语言实现单词转换
****************************
FileName: WordCount.cpp
Author: cox Version : 1.0 Date: 2007/1/12
Description: 文件中指定单词个数的统计
Version: 1.0
Function List:
1. TransformFile() // 将文件转换为有效的格式
2. CountWord() // 单词计数
3. IsValidChar() // 检查是否有效的英语字母
4. GetInput() // 从输入流读取数据
5. UpperCase() // 字符强制转换为大写
History:
author time version desc
cox 2007/1/12 1.0 build this moudle
***************************************************/
#include iostream
#include fstream
#include string
using namespace std;
#include "linklist\\linklist.h"
bool TransformFile( char* inFile, char* outFile );
template typename datatype
bool CountWord( char* filename, LinkListdatatype list );
bool IsValidChar( char ch );
template typename datatype
bool GetInput( LinkListdatatype list );
bool UpperCase( string str );
/*************************************************
Function: main()
Description: 主函数
Calls: 链表类, TransformFile(), GetInput(),
CountWord()
Called By: 无
Table Accessed: 无
Table Updated: 无
Input: 无
Output: 结果
Return: 0
Others: 无
*************************************************/
int main()
{
LinkListstring wordList;
TransformFile( "test1.txt", "test1.tmp" );
if ( !GetInput( wordList ) )
{
cout "Bad input!!" endl;
}
if ( !CountWord( "test1.tmp", wordList ) )
{
cout "An error accord dring count!!" endl;
}
return 0;
}
/*************************************************
Function: TransformFile()
Description: 将文件去掉标点符号, 并按照单词以空格分组
Calls: IsValidChar()
Called By: main()
Table Accessed: 无
Table Updated: 无
Input: char* inFile // 输入文件名
char* outFile // 输出文件名
Output: 状态
Return: 操作是否成功
Others: 无
*************************************************/
bool TransformFile( char* inFile, char* outFile )
{
ofstream outFileStream( outFile, ios::out );
ifstream inFileStream ( inFile , ios::in );
if ( !outFileStream || !inFileStream )
{
cout "Open files error!!" endl;
return false;
}
char readChar = '\0';
cout "Transfroming...";
// 转换
while ( inFileStream.get(readChar) )
{
if ( IsValidChar(readChar) )
{
outFileStream readChar;
}
else
{
outFileStream " ";
}
}
cout "OK\n";
outFileStream.close();
inFileStream.close();
return true;
}
/*************************************************
Function: IsValidChar()
Description: 检查是否有效的英语字符
Calls: 无
Called By: TransformFile()
Table Accessed: 无
Table Updated: 无
Input: char ch // 待检查的字符
Output: 无
Return: true为是
Others: 无
*************************************************/
bool IsValidChar( char ch )
{
if ( (ch = 65 ch = 90) || (ch = 97 ch = 122) )
{
return true;
}
else
{
return false;
}
}
/*************************************************
Function: GetInput()
Description: 读取输入流并存入链表中
Calls: 链表类
Called By: main()
Table Accessed: 无
Table Updated: 无
Input: LinkListdatatype list // 储存输入数据的链表
Output: 无
Return: 操作是否成功, true为成功
Others: 无
*************************************************/
template typename datatype
bool GetInput( LinkListdatatype list )
{
string strInput = "";
cout "Input your words to count, split by \',\': ";
cin strInput;
string tmpString = "";
strInput += ",";
for ( int index = 0; index strInput.size(); index++ )
{
if ( strInput[index] == ',' )
{
list.Insert(tmpString);
tmpString = "";
}
else
{
tmpString += strInput[index];
}
}
return true;
}
/*************************************************
Function: CountWord()
Description: 单词计数
Calls: 链表类, UpperCase()
Called By: main()
Table Accessed: 无
Table Updated: 无
Input: char* filename // 待计数的文件
LinkListdatatype list // 储存输入数据的链表
Output: 无
Return: 操作是否成功, true为成功
Others: 无
*************************************************/
template typename datatype
bool CountWord( char* filename, LinkListdatatype list )
{
ifstream inFileStream ( filename , ios::in );
int lenth = list.Lenth();
int *counts = new int [lenth];
for ( int clrIndex = 0; clrIndex list.Lenth(); clrIndex++ )
{
counts[clrIndex] = 0;
}
string tmpString;
string tmpRead;
while ( inFileStream tmpRead )
{
for ( int index = 0; index list.Lenth(); index++ )
{
list.Locate(index+1);
tmpString = list.Peek();
UpperCase( tmpString );
UpperCase( tmpRead );
if ( tmpString == tmpRead )
{
counts[index]++;
}
}
}
for ( int index = 0; index lenth; index++ )
{
list.Locate(index+1);
tmpString = list.Peek();
cout tmpString " = " counts[index] endl;
}
cout endl;
inFileStream.close();
return true;
}
/*************************************************
Function: UpperCase()
Description: 强制转换成大写
Calls: 无
Called By: CountWord()
Table Accessed: 无
Table Updated: 无
Input: string str // 待转换的字符
Output: 无
Return: 操作是否成功, true为成功
Others: 无
*************************************************/
bool UpperCase( string str )
{
for ( int index = 0; index str.size(); index++ )
{
if ( str[index] 96 )
{
str[index] -= 32;
}
}
return true;
}
需要链表,自己写一个吧,大一就该学了的~~