
你程序中定义数组为int arr[5] = {1, 20, 30, 50, 90};
只申请了5个int型的空间。
但你要插入一个数,插入后就成了6个了。
如果arr数组后面的内存没有使用,那程序不会报错。但如果有使用就会报上述错误。
你可以定义的时候直接定义6个,int arr[6],或更多。
这个数表叫做杨辉三角,解此题需要知道它的性质:
对于第n行的第m个数,它等于C(n-1,m-1)。(C代表组合数,>
组合数有它的递归定义,参见>
由以上性质得到如下代码:
#include <stdioh>int C(int, int);
int main() {
int i, j;
for (i = 0; i < 7; i++) {
for (j = 0; j <= i; j++)
printf("%d ", C(i, j));
putchar('\n');
}
return 0;
}
int C(int n, int k) {
if (n == 0 || n == k || k == 0)
return 1;
else
return C(n - 1, k - 1) + C(n - 1, k);
}
#include<iostream>
using namespace std;
char s[100];
int main()
{
cin>>s;
char p=s;
int i;
for(i=0;s[i]!='\0';i++)
{
(p+i)=(s[i]-'a'+4)%26+'a';
}
cout<<s<<endl;
return 0;
}
这是用了指针的 。
/
numRefactorc
嗯,这是我写的,十分具有扩展性的!
Created on: 2011-3-15
Author: banxi1988
任意给出一个四位数,
c语言编写程序,从键盘输入一个4位数,将其各位重新拼装后输出。拼装规律为:原4位数的千位为新数的百位;
例如:输入1234,输出3142
/
#include<stdioh>
#include<stdlibh>
#include<mathh>
#define BITS 4 / 定义的多少位数?/
#define JIN 10 /用于分解数据值的进制值。/
/
从标准输入得到输入数值
/
int getBitsNum(){
int num = 0;
int bound_bottom = pow(JIN,BITS-1) - 1;
int bound_top = pow(JIN,BITS);
printf("请输入一个四位数 n ( %5d < n < %5d) : ",bound_bottom,bound_top);
scanf("%d",&num);
if(num<bound_bottom || num > bound_top)return 0;
else return num;
}
/ 打印数字数组用于测试观察!/
void printBitArray(int bitArray){
int i = 0;
for(i = 0; i < BITS; i++){
printf("%3d",(bitArray+i));
}
putchar('\n');
}
/
将数值按相应进制分解并将相应数字值保存到bitArray数组当中。
/
void toBitArray(int num,int bitArray){
//int bitArray[BITS] = {0};
int oringnal = num;
int remainder = num;
int order_m = 1;//数量级 order of magnitude
int index = 0;
while(oringnal > order_m){
bitArray[index++] = remainder % JIN;
remainder = remainder/JIN;
order_m =JIN;
}
}
/
/
int combNew(int bitArray){
int i = 0;
int order_m = 1;
int sum = 0;
int temp = 0;
temp = bitArray[3];
bitArray[3] = bitArray[2];
bitArray[2] = temp;
for(i = 0; i < BITS; i++){
sum += ((bitArray+i))order_m;
order_m =JIN;
}
return sum;
}
int main(int argc,char argv){
int num = 0;
int bitArray[BITS] = {0};
int sum_new = 0;
while((num = getBitsNum())== 0){;}
toBitArray(num,bitArray);
//printBitArray(bitArray);
sum_new = combNew(bitArray);
printf("%5d这个数,可以重组成:%5d\n",num,sum_new);
return EXIT_SUCCESS;
}
/
运行结果:
请输入一个四位数 n ( 999 < n < 10000) : 1234
1234这个数,可以重组成: 2134
/
要编软件,不是那么容易OK的。首先学会C语言
C语言是国际上广泛流行的,很有发展前途的计算机高级语言它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件
早期的 *** 作系统等系统软件主要是用汇编语言编写的(包括 UNIX *** 作系统在内)由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差为了提高可读性和可移植性,最好改用高级语言,但一般的高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行 *** 作),例如:对内存地址的 *** 作,位 *** 作等)人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点于一身于是,C语言就在这种情况下应运而生了
C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL 60 1960年出现的ALGOL 60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序1963年英国的剑桥大学推出了CPL(CombinedProgram- ming Language)语言CPL语言在ALGOL 60的基础上接近了硬件一些,但规模比较大,难以实现1967年英国剑桥大学的Matin Richards对 CPL语言作了简化,推出了BCPL(Basic Combined Programming Language)语言1970年美国贝尔实验室的 Ken Thompson以 BCPL语言为基础,又作了进一步简化,设计出了很简单的而且很接近硬件的 B语言( 取 BCPL的第一个字母),并用 B语言写第一个UNIX *** 作系统,在PDP-7上实现 1971年在PDP-11/20上实现了B语言,并写了UNIX *** 作系统但B语言过于简单,功能有限1972年至 1973年间,贝尔实验室的 DMRitchie在B语言的基础上设计出了C语言(取 BCPL的第二个字母)C语言既保持了BCPL和B语言的优点(精练,接近硬件),又克服了它们的缺点(过于简单,数据无类型等) 最初的C语言只是为描述和实现UNIX *** 作系统提供一种工作语言而设计的1973年,KThom- pson和DMritchie两人合作把UNIX的90%以上用 C改写(UNIX第5版原来的 UNIX *** 作系统是1969年由美国的贝尔实验室的 KThompson和DMRitchie开发成功的,是用汇编语言写的)
后来,C语言多次作了改进,但主要还是在贝尔实验室内部使用直到1- 975年UNIX第6版公布后 ,C语言的突出优点才引起人们普遍注意1977年出现了不依赖于具体机器的C语言编译文本《可移植C语言编译程序》,使C移植到其它机器时所做的工作大大简化了,这也推动了UNIX *** 作系统迅速地在各种机器上实现例如,VAX,AT&T等计算机系统都相继开发了UNIX随着 UNIX的日益广泛使用,C语言也迅速得到推广C语言和UNIX可以说是一对孪生兄弟,在发展过程中相辅相成1978年以后,C语言已先后移植到大,中,小,微型机上,已独立于UNIX和PDP了现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一
以1978年发表的UNIX第7版中的C编译程序为基础,Brian WKernighan和 Dennis MRitchie(合称K&R)合著了影响深远了名著《The C Programming Lan- guage》,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准C1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充 ,制定了新的标准,称为ANSI CANSI C比原来的标准C有了很大的发展K&R在1988年修改了他们的经典著作《The C Progra- mming Language》 ,按照ANSI C的标准重新写了该书1987年,ANSI C又公布了新标准--87 ANSI C 目前流行的C编译系统都是以它为基础的
回答者: xiasongdaniu - 初入江湖 二级 4-12 21:05
C语言就是一种计算机语言,编程序(C语言)其实不一定需要什么基础(硬件),计算机编程语言其实跟自然语言(中文,英文)都是差不多的,都是有一定规律的,程序写多了,你就会发现规律的
有规律之后何灵感后,首先
第一步 把高等数学包括离散数学,数值分析学好,数学是编程的基础,是编程算法的源泉,算法是编程的灵魂
如果你上面做到了就往下看
第二步 建议你先学VB,VB是可视化的编程工具,对出学者入门很都帮助
第三步 学习C语言,现在很多 *** 作系统的核心和编程语言都是C语言编写的,比如Windows,UNIX,Linex等 *** 作系统C++,JAVA等语言重要的是要把C语言的指针和数组学好,切记!如果你的C语言的功底已经够深了,就学C++或JAVA
前面都做到了吗
第四步 编程重要的不是编程语言,重要的是算法和思路,你还得学数据结构(这个是重点), *** 作系统基础,计算机系统知识,网络知识,多媒体知识,系统开发运行知识,数据库基础等等
对英语的要求不是很高,因为涉及的都是计算机英语,很简单!
汇编语言是低级语言,如果你想开发 *** 作系统就得用汇编语言.与其他的语言不同,说白了就是让机器语言(用0和1表达的语言)以单词的形式表达出来,便于理解和记忆,所以它编译速度非常快.但是学起来要比其他高级语言难得多.
总之编程不是那么简单,要付出很多很多,但是只要你有信心有恒心,就一定会成功!
学不在多,而在与精,祝你成功!!!
使用VB语言编写程序,来输出指定的图形。它的规律是使用二重循环实现的。
外循环控制总共输出几行,内循环中一般是使用一个循环控制输出几个空格,再使用一个循环控制输出几个号。最后是换行。
以上就是关于C 语言:一个已按从小到大的顺序排好的数组a,编写程序,从键盘输入一个数x按原来排序的规律将它插入数组全部的内容,包括:C 语言:一个已按从小到大的顺序排好的数组a,编写程序,从键盘输入一个数x按原来排序的规律将它插入数组、分析下列数据的规律,编写程序完成如下所示的输出(C、C#、Java 均可以)。、c++编程 求助!!! 编程序将一个字符串翻译成密码,密码规律是:用原来的字母后面第四个字母代替原等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)