XD_C语言经典编程
XD_C语言经典编程
zzamx
这个作者很懒,什么都没留下…
展开
-
C语言--指针--【程序44】题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n, //当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)
一般写法#include<stdio.h>void even(int n){ int i; float sum=0; for(i=2;i<=n;i=i+2) { sum+=(float)1/i; } printf("%.2f",sum);}void odd(int n){ int i; float sum=0; for(i=1;i<=n;i...原创 2020-04-05 06:39:34 · 2816 阅读 · 0 评论 -
C语言【程序42】 题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
解题关键点:1.如何实现围成一圈–循环计数 == > 当循环到末尾的时候,重新置为12.如何控制循环结束 ==>用人数控制循环结束时机,只剩一个人的时候,退出循环#include<stdio.h>int main(){ int a[1000],n,i,t,cnt=0; scanf("%d",&n); t=n; //用人数控制循环结束时机 ...原创 2020-04-03 15:05:58 · 13712 阅读 · 4 评论 -
C语言--指针--【程序40】 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
初级版本–开辟一个新数组(有点耗费内存了)//【程序40】//题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数#include<stdio.h>int main(){ int n,m,i,j,a[20],b[20]; //初级版本 --开辟一个新数组 scanf("%d %d",&n,&m); for(i=0;i<n...原创 2020-04-02 17:26:44 · 13034 阅读 · 3 评论 -
C语言【程序52】 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的
【程序52】题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。通过程序进行加密和解密**分析:**eg. 1234 -> 6789 -> 6%10=6;7%10=7,==>6789 交换–>加密后:9876#include<std...原创 2020-03-22 11:38:16 · 12416 阅读 · 5 评论 -
C语言【程序51】 题目:两个字符串连接程序
strcat()函数:1.strcat(目的str,源str) ,最后拼接在 **目的str(第一个字符串)**上2.头文件:string.h//【程序51】//题目:两个字符串连接程序#include<stdio.h>#include<string.h> //strcat()的头文件 int main(){ char s1[50],s2[20]; ...原创 2020-03-19 21:39:03 · 2017 阅读 · 0 评论 -
C语言【程序50】 题目:一个偶数总能表示为两个素数之和。
//【程序50】//题目:一个偶数总能表示为两个素数之和。#include<stdio.h>#include<math.h>int isPrime(int t){ if(t%2==0||t<2) return 0; for(int i=2;i<=sqrt(t);i++) { if(t%i==0) return 0; } ret...原创 2020-03-19 21:27:17 · 2424 阅读 · 1 评论 -
C语言【程序49】 题目:求0-7所能组成的奇数个数。
//【程序49】//题目:求0-7所能组成的奇数个数。//分析:0-7共有8位 //准则:①最后一位(个位)不是偶数 ②第一位不是0(即没有03) //1位数:1,3,5,7符合要求, 共4个//2位数: 11,13,15,17,21,23,25,, 共7*4个//3位数: 101,103,105,107,,, 共7*8*4个//。。。//8位数: ,,, ...原创 2020-03-19 18:13:54 · 2360 阅读 · 0 评论 -
递归 十进制转二进制
//递归 十进制转二进制 #include<stdio.h>int TenToTwo(int m){ if(m<=0) //递归出口 return 0; else { TenToTwo(m/2); printf("%d",m%2); }}int main(){ int n; scanf("%d",&n); TenT...原创 2020-03-19 17:06:14 · 378 阅读 · 0 评论 -
C语言【程序48】题目:八进制转换为十进制、二进制转换为十进制、十进制转换为二进制 、十进制转换为八进制、十六进制转换为十进制、十进制转换为十六进制
基本思想: 举例: //【程序48】//题目:八进制转换为十进制#include<stdio.h>#include<math.h>int main(){ int i=0,n,tmp,sum=0; scanf("%d",&n); while(n) { tmp=n%10; n=n/10; sum+=tmp*pow(8,i); i++;...原创 2020-03-18 12:14:24 · 2106 阅读 · 0 评论 -
C语言【程序46】题目:海滩上有一堆桃子,五只猴子来分。
【程序46】题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?**解题思路:**可以从第五个人开始,从后往前推。最后一个猴子分成五份还多一个,所以最后至少有6个桃子。写一...转载 2020-03-17 23:10:34 · 2063 阅读 · 4 评论 -
C语言【程序37】 题目:输入3个数a,b,c,按大小顺序输出。(利用指针方法)
//【程序37】//题目:输入3个数a,b,c,按大小顺序输出。(利用指针方法)#include<stdio.h>void swap(int *p1,int *p2){ int tmp; tmp=*p1; *p1=*p2; *p2=tmp;}int main(){ int a,b,c; int *pa,*pb,*pc; scanf("%d%d%d",&am...原创 2020-03-17 10:13:55 · 6141 阅读 · 0 评论 -
C语言【程序36】题目:打印出杨辉三角形
写法一://【程序36】//题目:打印出杨辉三角形(要求打印出10行如下图)/*11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1 */#include<stdio.h>int main(){ int i,j,str[11][11]; for(i=1;i<=10;i++) { str[i][1...原创 2020-03-17 07:56:00 · 1290 阅读 · 0 评论 -
C语言【程序35】 题目:将一个数组逆序输出。
//【程序35】//题目:将一个数组逆序输出。#include<stdio.h>int str[10]={3,2,6,7,5,9,1,8,4};int main(){ int i,j,n,tmp; for(n=0;str[n]!=0;n++); for(i=0;i<n/2;i++) { tmp=str[i]; str[i]=str[n-i-1];/...原创 2020-03-16 08:09:51 · 7605 阅读 · 0 评论 -
C语言【程序34】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
//【程序34】//题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。#include<stdio.h>int str[15]={2,3,4,7,8,9,32,45}; //设为正序数组 int main(){ int t,tmp,i,n=0; scanf("%d",&t); for(n=0;str[n]!=0;n++); ...原创 2020-03-16 07:36:13 · 1823 阅读 · 1 评论 -
C语言【程序33】 题目:求一个3*3矩阵对角线元素之和
//【程序33】//题目:求一个3*3矩阵对角线元素之和 #include<stdio.h>int main(){ int i,j,str[4][4],sum=0; for(i=1;i<=3;i++) { for(j=1;j<=3;j++) { scanf("%d",&str[i][j]); if(i==j) sum+...原创 2020-03-15 07:55:49 · 2117 阅读 · 0 评论 -
C语言【程序32】 题目:对10个数进行排序 (冒泡排序)
//【程序32】//题目:对10个数进行排序#include<stdio.h>int main(){ int t,i,j; int str[10]={4,3,2,6,8,9,12,45,32,7}; for(i=0;i<10;i++) { for(j=0;j<10;j++) { if(str[i]<str[j]) { t...原创 2020-03-13 18:51:32 · 4652 阅读 · 0 评论 -
C语言 【程序30】 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
//【程序30】//题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。/* Monday Mon 周一 Tuesday Tue 周二 Wednesday Wed 周三 Thursday Thu 周四 Friday Fri 周五 Saturday...原创 2020-03-13 18:44:39 · 5604 阅读 · 3 评论 -
C语言【程序29】 题目:求100之内的素数
//【程序29】//题目:求100之内的素数#include<stdio.h>int sushu(int t){ int j; for(j=2;j<t;j++) { if(t%j==0) return 0; } if(j==t-1) return 1;} int main(){ int n; for(int i=1;i<100...原创 2020-03-13 17:51:44 · 1580 阅读 · 4 评论 -
C语言【程序28】 题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
//【程序28】 //题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。#include<stdio.h>int main(){ int n,i,flag=0,str[5]; scanf("%d",&n); int tmp=n; for(i=1;i<=5;i++) { str[i]=tmp%10; t...原创 2020-03-13 17:43:52 · 3209 阅读 · 0 评论 -
C语言【程序27】 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
//【程序27】 //题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。#include<stdio.h>int main(){ int n=0,t,str[5],i=0; scanf("%d",&t); while(t) { str[i]=t%10; t=t/10; n++; i++; } for(i=0;...原创 2020-03-13 17:21:21 · 1888 阅读 · 0 评论 -
C语言【程序26】 题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
getchar() 函数函数声明: int getchar(void)函数功能: C 库函数int getchar(void)从标准输入 stdin 获取一个字符(一个无符号字符)。这等同于getc带有 stdin 作为参数。返回值: 该函数以无符号 char 强制转换为 int 的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回 EOF。原理: 当程序调用getchar时,程序就...转载 2020-03-13 17:05:59 · 2950 阅读 · 0 评论 -
C语言 【程序25】 题目:有5个人坐在一起,问第五个人多少岁?(递归)
//【程序25】 //题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。//问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。//问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?#include<stdio.h>int digui(int t){ if(t==1) return 10; el...原创 2020-03-13 16:39:14 · 7183 阅读 · 0 评论 -
C语言【程序24】 题目:利用递归方法求5!。
//【程序24】 //题目:利用递归方法求5!。#include<stdio.h>int digui(int t){ if(t==1) return 1; else { return t*digui(t-1); }}int main(){ int n=digui(5); printf("%d",n); return 0;} ```...原创 2020-03-13 16:20:43 · 3122 阅读 · 0 评论 -
【程序23】 题目:求1+2!+3!+...+20!的和 Note:数据类型需注意,对比区分
Note: double有效位只有52位,剩余位数用于符号位和指数位,大概能精确表示16位十进制数,20的阶乘需要19位十进制数表示出来,double就无法精确表示了。 --摘自论坛中的解释(对应的数据类型不同,导致输出精度有些许误差,现整理如下,供参考讨论,欢迎大佬指正,必将虚心学习。)#include<stdio.h>int main(){ int i; long l...原创 2020-03-10 11:26:42 · 419 阅读 · 0 评论 -
C语言【程序21】 题目:打印出如下图案(菱形)
/*【程序21】 题目:打印出如下图案(菱形) * *** ************ ***** *** * */#include<stdio.h> int main(){ int i,j; for(i=1;i<=4;i++) //上半部分 { for(j=i;j<4;j++) { ...原创 2020-03-10 10:41:06 · 13313 阅读 · 1 评论 -
C语言【程序20】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
//【程序20】 //题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。#include<stdio.h>int main(){ int a,b,i=20,tmp; float sum=0; a=1;b=2; while(i) { sum+=(float)b/a; tmp=a; a=b; b=...原创 2020-03-07 16:20:41 · 11175 阅读 · 2 评论 -
C语言【程序19】题目:两个乒乓球队进行比赛,各出三人。
//【程序19】//题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。//已抽签决定比赛名单。有人向队员打听比赛的名单。//a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 //Thinking: 1.怎么存 2.怎么遍历 3.条件判断 4.怎么输出/输出格式 #include<stdio.h>int main(){...转载 2020-03-07 16:08:52 · 9443 阅读 · 2 评论 -
C语言【程序18】 题目:猴子吃桃问题
【程序18】题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。//#include<stdio.h>//int main()//{// int i,sum=0,rest=1;// for(i=...原创 2020-03-07 15:36:29 · 894 阅读 · 0 评论 -
C语言【程序17】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
//【程序17】//题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;//再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? ==>299.609375 0.097656 #include<stdio.h> int main(){ float sum=100,high=100; for(int i=1;i<10;i++) {...原创 2020-03-07 14:54:36 · 2003 阅读 · 0 评论 -
C语言【程序16】 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。
//【程序16】//题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。//例如6=1+2+3.编程找出1000以内的所有完数。#include<stdio.h>int main(){ int i,j,n; for(i=1;i<1000;i++) { n=0; for(j=1;j<i;j++) { if(i%j==0) { ...原创 2020-03-07 14:23:35 · 2694 阅读 · 1 评论 -
C语言【程序15】 题目:求s=a+aa+aaa+aaaa+aa...a的值
//【程序15】//题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222//(此时共有5个数相加),几个数相加有键盘控制。#include<stdio.h>int main(){ int n,a; long long int s,i,j,tmp,sum=0; scanf("%d %d",&n,&...原创 2020-03-05 11:26:06 · 3665 阅读 · 1 评论 -
C语言【程序14】 题目:输入一行字符,分别统计出英文字母、空格、数字和其它字符的个数
//【程序14】//题目:输入一行字符,分别统计出英文字母、空格、数字和其它字符的个数#include<stdio.h>#include<string.h>int main(){ int zm,kg,num,qt,i; char str[100]; zm=kg=num=qt=0; gets(str);// printf("%d\n",strlen(str...原创 2020-03-05 10:15:38 · 1074 阅读 · 0 评论 -
C语言【程序13】题目:输入两个正整数m和n,求其最大公约数和最小公倍数
【程序13】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。辗转相除法#include<stdio.h>int main(){ int m,n,i,max=1,min,tmp; scanf("%d %d",&m,&n); if(m>n) //让m为最小的 { tmp=m; m=n; n=tmp; } int ...原创 2020-03-05 09:34:44 · 3259 阅读 · 0 评论 -
C语言【程序12】 题目:条件运算符嵌套使用
//【程序12】//题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示, //60分以下的用C表示。#include<stdio.h>int main() //a = (x > 100) ? 0 : 1; 或者 x < 0 ? y = 10 : z = 20; { floa...原创 2020-03-05 11:56:30 · 1102 阅读 · 0 评论 -
C语言【程序11】 题目:将一个正整数分解质因数
方法一//【程序11】//题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。#include<stdio.h>int main(){ int n,i; scanf("%d",&n); printf("%d=",n); for(i=2;i<=n;i++) { while(n!=i) //巧...原创 2020-03-05 11:55:22 · 2751 阅读 · 1 评论 -
C语言【程序10】 题目:"水仙花数"
//【程序10】//题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。//例如:153是一个"水仙花数",因为153=13+53+33。#include<stdio.h>int main(){ int a,b,c,t; for(t=100;t<999;t++) //一开始,忽略了 是135分解出来的各个 百 十 ...原创 2020-03-05 11:52:52 · 1183 阅读 · 0 评论 -
C语言【程序9】 题目:判断101-200之间有多少个素数,并输出所有素数。
//【程序9】//题目:判断101-200之间有多少个素数,并输出所有素数。#include<stdio.h>int sushu(int t){ int j; if(t==1||t==0||t%2==0) return 0; else { for(j=3;j<t;j=j+2) { if(t%j==0) return 0; } ...原创 2020-03-05 11:51:15 · 1721 阅读 · 0 评论 -
C语言【程序8】 题目:古典问题:生兔子
//【程序8】//题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,//小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//分析: 规律:1,1,2,3,5,8,13#include<stdio.h>int main(){ int f1,f2,i,f; f1=f2=1; printf("%d %d ",f1,f2)...原创 2020-03-05 11:49:15 · 349 阅读 · 0 评论 -
C语言【程序7】题目:打印楼梯,同时在楼梯上方打印两个笑脸。
//【程序7】题目:打印楼梯,同时在楼梯上方打印两个笑脸。 #include<stdio.h>int main(){ int i,j; printf("\1\1\n"); //打印两个笑脸 for(i=1;i<11;i++) { for(j=1;j<i;j++) printf("%c%c",123,123); /...原创 2020-03-05 11:46:21 · 1029 阅读 · 0 评论 -
C语言【程序6】 题目:输出9*9口诀。
//【程序6】 题目:输出9*9口诀。#include<stdio.h>int main(){ int i,j; for(i=1;i<=9;i++) { for(j=1;j<=9;j++) { printf("%d*%d=%-3d",i,j,i*j); // -3d表示左对齐,占3位 } printf("\n"); } return...原创 2020-03-05 11:45:03 · 880 阅读 · 0 评论