重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于成都网站设计、网站建设、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!
#include string.h
int main()
{
int i = 0;
int len = 0;
char ch;
char buf[256] = {0};
char nor[26] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char enc[26] = {'s','u','w','y','a','c','e','g','i','k','m','o','q','r','t','v','x','z','b','d','f','h','j','l','n','p'};
printf("Encode or Decode: ");
scanf("%c",ch);
printf("please input your string: ");
fflush(stdin);
gets(buf);
len = strlen(buf);
switch (ch)
{
case 'e':
case 'E':
for (i=0;ilen;i++)
{
buf[i] = enc[buf[i] - 'a'];
}
break;
case 'd':
case 'D':
for (i=0;ilen;i++)
{
buf[i] = nor[i];
}
break;
default:
printf("wrong input!\n");
}
printf("%s\n",buf);
return 0;
}
同意楼上!
if (command == "encode") 出错!
分析:
首先,输出encode后,encode确实存入到数组command[6]中了。
但是,command是该数组的首地址,即变量command[0]的地址。它是个常数。
一个常数==字符串是永远不成立的。即,command == "encode" 不成立。
我知道,你的意思是command所代表的数组里存放的字符串==“encode”,但是C语言不是这么规定的。所以,只能利用字符串比较函数strcmp(). PS:全称string compare。
strcmp(字符串1,字符串2),如果两个字符串相等,则其返回值为0.
所以,if语句改为:if (strcmp(command, "encode") == 0), 程序就能正常运行了。
另外,strcmp函数在头文件string.h中,故要#include string.h
C语言出现expected identifier or '('是出现了编写错误,Error Message:Compilation failed with errors:q2/frac.c:32:1: expected identifier or '('
在这段程序中:void fr_reduce(struct frac *a) {int g = gcd((*a).num, (*a).denom);(*a).num = ((*a).num / g);(*a).denom = ((*a).denom / g);if((*a).denom 0){(*a).denom = -(*a).denom;}}
问题出在:{int s;s=a+b;return(s);}前面缺了函数首部,应为:int sum(int a,int b){int s;s=a+b;return(s);}
扩展资料:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
参考资料:百度百科-c语言
// Encode.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#define N 6
void show(int x[],int n);
void encode(int x[],int n,int y[]);
void swap(int *x,int *y);
int getNum(int x);
int _tmain(int argc, _TCHAR* argv[])
{
int x[]={13,25,135,246,1357,2468};
int y[6]={0};
encode(x,N,y);
show(x,N);
show(y,N);
getchar();
return 0;
}
void encode(int x[],int n,int y[])
{
for(int i=0;in;i++)
y[i]= getNum(x[i]);
}
int getNum(int x)
{
int len=0;
int t[]={1,2,3,4,5,6,7,8,9};
int m[9]={0};
int i=0,p=0;
int temp = x;
i=0;
while(temp!=0)
{
m[i]=temp%10;
i++;
len++;
temp=temp/10;
}
for(int i=0;ilen;i++)
{
m[i]=(m[i]+t[i])%10;
}
swap(m[0],m[len-1]);
int count = 1,sum = 0;
for(int i=0;ilen;i++)
{
m[i]=m[i]*count;
sum=sum+m[i];
count = count*10;
}
return sum;
}
void show(int x[],int n)
{
for(int i=0;in;i++)
printf("%d\t",x[i]);
printf("\n");
}
void swap(int *x,int *y)
{
int t=*x;
*x=*y;
*y=t;
}