![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
w3071206219
这个作者很懒,什么都没留下…
展开
-
字符串函数
字符串比大小。#includeint mylen(const char *s1,const char *s2);int main(){ char s1[]="abc"; char s2[]="Abc"; printf("%d\n",mylen(s1,s2)); } int mylen(const char *s1,const char *s2){ while((*s1==原创 2016-09-26 15:50:16 · 250 阅读 · 0 评论 -
链表
#include#include#define NULL 0#define LEN sizeof(struct student)struct student{ long num; float score; struct student *next;};int n;struct student *creat(void)//链表的创建{ struct student *hea原创 2016-09-24 08:26:40 · 328 阅读 · 0 评论 -
求闰年
#includeusing namespace std;int main(){ int year,t; cin>>year; t=(year%4==0&&!(year%100==0))||(year%100==0&&year%400==0); if(t) cout<<year<<"是闰年"<<endl; else cout<<year<<"不是闰年"<<endl原创 2016-09-08 10:09:16 · 365 阅读 · 0 评论 -
求正/负余数
题目内容:在C语言中,如果被除数为负值,则对一个正数求余的时候,求出的余数也是一个负数。在某些场合下,我们需要求出它的正余数,例如:在C语言中有(-11)%5=-1,但是有时我们希望得到的余数不是-1,而是4。请编写程序计算(-11)%5的负余数和正余数。以下为程序运行结果示例:negative: -1positive: 4输入格式:原创 2016-09-08 10:01:23 · 5994 阅读 · 0 评论 -
猜数游戏,猜100以内的数
#include#include#includeint main (){ srand(time(0)); int number=rand()%100+1; int count=0; int a=0; printf("我想好了一个1到100的数\n"); do { printf("请猜1到100的数\n"); scanf("%d",a); count++; if原创 2016-09-08 09:58:07 · 2456 阅读 · 0 评论 -
3X4的矩阵,求矩阵中最大值及行号和列号
#includeint main(){int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};int i,j,row,colum,max; max=a[0][0]; for(i=0;i<3;i++) for(j=0;j<4;j++) if(a[i][j]>max) { max=a[i]原创 2016-09-08 09:54:51 · 6900 阅读 · 1 评论 -
计算总分和平均分
小明本学期共有5门课程,分别是英语、语文、数学、历史和音乐。5科的期中考试成绩分别是86分、74分、92分、77分、82分,期末考试成绩分别是81分、87分、90分、62分、88分。已知期中和期末考试成绩分别占总成绩的30%和70%。定义相应的变量存放各科成绩,并计算出小明5门课程的总分和平均分。要求平均分输出两种形式:带2位小数的浮点数形式和不带小数的整数形式。要求总分输出带2位小数的浮点数形式原创 2016-09-08 09:47:52 · 12907 阅读 · 2 评论 -
输出逆序数
题目内容:从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3*100+2*10+1 = 321,并输出321。提示:1. 从键盘输入数据可以使用函数scanf()。例如,scanf("%d", &x); 表示从键盘输入整数并存入整形变量x中。2. 利用取绝原创 2016-09-08 09:45:58 · 4475 阅读 · 1 评论 -
跨日的换算
题目内容:UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。有效的输入范围是0到23原创 2016-09-08 09:42:56 · 1118 阅读 · 0 评论 -
逆序的三位数
题目内容:程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式:每个测试是一个3位的正整数。输出格式:输出逆序的数。输入样例:123输出样例:321#include原创 2016-09-08 09:40:32 · 1312 阅读 · 0 评论 -
数字特征值
题目内容:对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的0和1都记录下来,就形成了一个二进制数字。比如,对于342315,这个二进制数字就是001101。这里的原创 2016-09-08 09:39:06 · 278 阅读 · 0 评论 -
奇偶个数
题目内容:你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。输入格式:一系列正整数,整数的范围是(0,100000)。如果输入-1则表示输入结束。输出格式:两个整数,第一个整数表示读入数据中的奇数的个数,第二个整数表示读入数据中的偶数的个数。两个整数之间以空格原创 2016-09-08 09:38:12 · 283 阅读 · 0 评论 -
杨辉三角
杨辉三角形是形如:11 11 2 11 3 3 11 4 6 4 1的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是各行第一个数1,各行最后一个数是1,从第三行起,中间的每一个数是上一行里相邻两个数之和。#include#define N 10int main(){ int i,j原创 2016-09-08 09:31:08 · 264 阅读 · 0 评论 -
编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间。new(n)表示分配n个字节的内存空间。
new 函数的作用是分配n个连续字符的存储空间。为此,开辟一个足够大的连续空间。设置字符数组newbuf[1000],new在此范围内操作。指针变量newp开始指向存储区的首字节。每当开辟n个字符存储区,要先检查newbuf数组是否还有足够的空间。若有,则newp指向开辟区的末尾,并返回下次可用空间的开始的地址。若空间不够,返回NULL。#include#define NEWSIZE 10原创 2016-09-24 09:23:49 · 8037 阅读 · 2 评论 -
写一函数free,将上题用new函数占用的空间释放。Free(p)表示将p指向的单元以后的内存段释放
#include#define NEWSIZE 1000char newbuf[NEWSIZE];char *newp=newbuf;void free(char *p){ if(p>=newbuf&&p<newbuf+NEWSIZE) { newp=p; } }原创 2016-09-24 09:28:48 · 2783 阅读 · 0 评论 -
已有 a、b 两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按成绩升序排列。
#include#include#define NULL 0#define LEN sizeof(struct student)struct student{ long num; float score; struct student *next;};int n,sum=0;struct student lista,listb;struct student *creat(v原创 2016-09-24 10:06:10 · 8860 阅读 · 2 评论 -
单词长度
题目内容:你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4。注意,行中可能出现连续的空格。输入格式:输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。输出格式:在一行中原创 2016-09-22 15:45:35 · 483 阅读 · 0 评论 -
c语言有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串
#include#includeint copy(char *p1,char *p2,int m);int main(){ char str1[40],str2[40]; printf("输入第一个字符串:\n"); gets(str1); int m; printf("输入第m个字符开始:\n"); scanf("%d",&m); if(strlen(str1)<m)原创 2016-09-22 15:04:49 · 35927 阅读 · 7 评论 -
写一个函数,求一个字符串的长度。
#includeint length(char *p);int main(){ char number[20]; gets(number); printf("%d",length(number)); return 0;}int length(char *p){ int digit=0; while(*p!='\0') { digit++; p++;原创 2016-09-22 10:16:49 · 21244 阅读 · 2 评论 -
用指针处理输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
#includeint input(int *number);int max_min_(int *number);int output(int *number);int main(){ int number[10]; input(number); max_min_(number); output(number); return 0;}int input(int *num原创 2016-09-22 09:54:13 · 20245 阅读 · 4 评论 -
输入3个字符串,按由小到大的顺序排列。
#include#includeint swap(char *,char *);int main(){ char str1[20],str2[31],str3[20]; gets(str1); gets(str2); gets(str3); if(strcmp(str1,str2)>0) swap(str1,str2); if(strcmp(str1,str3)>0) swap原创 2016-09-22 08:50:40 · 3157 阅读 · 0 评论 -
求无符号int 的最大值
#includeint main(void){unsigned int j = 0;printf("unsigned int 类型的最大值为:%u\n",j - 1);return 0;}原创 2016-09-21 21:10:42 · 7014 阅读 · 0 评论 -
从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)
有10个学生,每个学生的数据包括学号,姓名,3门课的成绩。从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)#include#define N 5 struct Student { int num; char name[20]; int score[3]; };int input(st原创 2016-09-21 20:41:33 · 12378 阅读 · 1 评论 -
编写一个函数print,打印一个学生的成绩数组,写一个函数input,用来输入5个学生的数据的记录
1、编写一个函数print,打印一个学生的成绩数组,该书组中有五个学生的数据,每个学生的数据包括num(学号)、name(姓名)、score(3门课的成绩)、用主函数输入这些数据,用print函数输出这些记录。2、编写一个函数input,用来输入5个学生的数据的记录。#include struct Student { int num; char name[20]; int原创 2016-09-21 19:57:01 · 37258 阅读 · 0 评论 -
定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?注意闰年问题
定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?注意闰年问题#include struct Date { int year; int month; int day; };int main(){ struct Date p; scanf("%d,%d,%d",&p.year,&p.month,&p.day); int a[12]={31,28原创 2016-09-21 17:56:31 · 71086 阅读 · 8 评论 -
判断输入的一个数是素数
#includeint main(){ int i=0,x,a=1; scanf("%d",&x); for(i=2;i<x;i++) { if(x%i==0) a=0; break; } if(a==1) printf("%d是素数",x); else printf("%d不是素数",x); }原创 2016-09-08 19:25:56 · 543 阅读 · 0 评论 -
水仙花数
输出100~1000所有的水仙花数。所谓的水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如153是一水仙花数,因为153=13+53+33#include#includeint main(){ int i=100; for(i=100;i<=1000;i++) { if(i==pow(i/100,3)+pow(i%100/10,3)+pow(i%10,3)) pr原创 2016-09-08 16:27:18 · 380 阅读 · 0 评论 -
有一个已经排好序的数组,今输入一个数,要求按原来排序的规律将他插入数组中。
#includeint main(){ int a[11]={1,4,7,9,23,34,56,65,67,89}; int number,end=0,i=0,j=0,t1=0,t2=0; scanf("%d",&number); end=a[9]; if(number>end) a[10]=number; else { for(i=0;i<10;i++) if(a[原创 2016-09-08 09:34:26 · 41840 阅读 · 16 评论 -
统计字母、空格、数字和其他字符的个数。
#includeint main(){char c;int letters=0,space=0,digit=0,others=0;while((c=getchar())!='\n'){ if(c>='a'&&c='A'&&c<='Z') letters++; else if(c==' ') space++; else if(c>='0'&&c<='9') digit++;原创 2016-09-08 09:24:07 · 623 阅读 · 0 评论 -
计算分数精确值
题目内容:由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法。(0,1)之间的任何浮点数都可以表达为两个正整数的商,为了表达这样两个数的商,可以将相除的结果存放在一维数组中,数组的每个元素存放一位十进制数字。即商的第一位存放在第一个元素中,第二位存放在第二个元素中,以此类推,就可以用数组来表达一个高精度的除法结果了。如16/原创 2016-09-23 17:00:26 · 558 阅读 · 0 评论 -
元音字符复制
#include#includevoid cpy(char str1[],char str2[]);int main(){ char str1[100],str2[100]; gets(str1); cpy(str1, str2); puts(str2); return 0; }void cpy(char str1[],char str2[]){ int i,j=0;原创 2016-09-15 10:59:00 · 378 阅读 · 0 评论 -
字符连接
#include#includevoid concatenate(char str1[],char str2[],char str[]);int main(){ char str1[100],str2[100],str[200]; gets(str1); gets(str2); concatenate(str1, str2,str); puts(str); return 0;原创 2016-09-15 10:35:59 · 238 阅读 · 0 评论 -
输入字符串,反序输出
#include#includevoid inverse(char str[]);int main(){ char str[100]; printf("input string:"); scanf("%s",str); inverse(str); printf("inverse string:%s\n",str); return 0;}void inverse(char s原创 2016-09-15 10:09:49 · 1507 阅读 · 0 评论 -
求最大公约数和最大公倍数
#includeint gcd(int a,int b);//最大公约数 int lcm(int a,int b);//最小公倍数 int main(){int a,b;scanf("%d,%d",&a,&b);printf("%d,%d\n",gcd(a,b),lcm(a,b)); }int gcd(int a,int b)//辗转相除法 { int k; while(原创 2016-09-14 19:42:38 · 577 阅读 · 0 评论 -
完数
题目内容:一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。现在,你要写一个程序,读入两个正整数n和m(1提示:可以写一个函数来判断某个数是否是完数。输入格式:两个正整数,以空格分隔。输出格式:其间所有的完数,以空格原创 2016-09-13 09:48:04 · 475 阅读 · 0 评论 -
程序的灵魂--算法(二)
数据结构 +算法 = 程序算法的特性•有穷性:包含有限的操作步骤•确定性:算法中的每一个步骤都应当是确定的•有零个或多个输入:输入是指在执行算法时需要从外界取得必要的信息•有一个或多个输出:算法的目的是为了求解,“解” 就是输出 •有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果。良好算法由三种基本结构:顺序结构、选择结构、循环结构。原创 2016-09-01 11:48:57 · 298 阅读 · 0 评论 -
C程序运行(一)
原创 2016-09-01 11:30:38 · 258 阅读 · 0 评论 -
分解质因数
题目内容:每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。输入格式:一个整数,范围在[2,100000]内。输出格式:原创 2016-09-11 21:11:34 · 577 阅读 · 0 评论 -
念整数
题目内容:你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。如输入1234,则输出:yi er san si注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:fu er san si yi原创 2016-09-09 19:59:42 · 1320 阅读 · 0 评论 -
四位数字插空格
#include#includevoid insert(char str1[]);int main(){ char str1[100]; gets(str1); insert(str1); puts(str1); return 0; }void insert(char str[]){ int i; for(i=strlen(str);i>=0;i--) { s原创 2016-09-15 11:18:49 · 339 阅读 · 0 评论