![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言经典题型
GLL_ise
这个作者很懒,什么都没留下…
展开
-
C语言经典100题正整数分解质因数
题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。#include<stdio.h>int judgesu(int n){ int i; for(i=2;i<n;i++){ if(n%i==0) break; } if(i<n) return 0; else return 1;}int main(){ int n; printf("请输入一个正整数:"); scanf("%d",&n); int i=n,j=2;原创 2021-04-02 09:20:25 · 1098 阅读 · 0 评论 -
C语言经典100题兔子(斐波那契数列)
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…2.程序源代码://兔子的规律数列 1,1,2,3,5,8,13,21 #include<stdio.h>int main(){ int f1,f2; int i; f1=f2=1; for(i=3;i<=12;i+=2){ f1=f1+f2; f2原创 2021-04-02 09:12:29 · 1531 阅读 · 0 评论 -
C语言经典100题条件运算符嵌套
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用a表示,60-89分之间的用b表示,60分以下的用c表示。#include<stdio.h>int main(){ int n; printf("请输入学习成绩:"); scanf("%d",&n); printf("%c",n>=90?'a':(n>=60?'b':'c'));} ...原创 2021-04-02 09:10:05 · 494 阅读 · 0 评论 -
C语言经典100例求数列前二十项之和
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。#include<stdio.h>int main(){ float x1=2,x2=3; float y1=1,y2=2; int i; float sum; sum=x1/y1+x2/y2; for(i=1;i<=9;i++){ x1=x1+x2; y1=y1+y2; sum+=x1/y1; x2=x1+x2; y2=y1+y2; sum+=x2原创 2021-04-02 09:00:48 · 1863 阅读 · 0 评论 -
C语言经典100题1000以内的完数
题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。#include<stdio.h>#include<math.h>int main(){int a[500]; //注意考虑数组是否超限 int i,j,count,sum,k;for(i=2;i<=1000;i++){ count=0; sum=0; for(j=1;j<i;j++){ if(i%j==0){ a[count++原创 2021-03-31 10:06:10 · 673 阅读 · 0 评论 -
C语言乒乓球比赛抽签问题
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。#include<stdio.h>int main() //i是a的对手,j是b的对手,k是c的对手 { char i,j,k; for(i='x';i<='z';i++) for(j='x';j<='z';j++) for(k='x';k<='z';k++){原创 2021-03-31 10:03:49 · 392 阅读 · 0 评论 -
C语言经典100题输入日期判断第几天
题目:输入某年某月某日,判断这一天是这一年的第几天?#include<stdio.h>int main(){int y,m,d,num=0; int i;printf("请输入年份:");scanf("%d",&y);printf("请输入月份:");scanf("%d",&m);printf("请输入日期:");scanf("%d",&d);int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int原创 2021-03-31 09:45:27 · 838 阅读 · 0 评论 -
C语言经典100例球体自由落下物理问题
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?#include<stdio.h>#include<math.h>int main(){ int i; double sumh=100; double h=100; for(i=2;i<=10;i++){ h=h*0.5; sumh+=2*h; //!!注意搞清弹跳过程 } printf("第十次落地时,共原创 2021-03-31 09:36:52 · 754 阅读 · 0 评论 -
C语言经典100例猴子吃桃问题
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?#include<stdio.h>int main(){ int i; int num=1; for(i=1;i<=9;i++){ //!!注意需要少算一天。 num=(num+1)*2; }原创 2021-03-31 09:25:04 · 265 阅读 · 0 评论 -
C语言经典100例最大与第一个交换最小与最后一个交换
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。#include<stdio.h>int main(){ int a[20]; int i,n; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); int t,x=0,y=0; //!!x,y一定要赋初值 养成习惯,所有的变量定义都要赋初值。 int min=a[0],max=a[0]; for(i=0;i原创 2021-03-31 09:14:56 · 1130 阅读 · 0 评论 -
C语言头插法尾插法建立单链表
#include<stdio.h>#include<stdlib.h> //!!! struct Node{ int data; struct Node *next;}; //!!! typedef struct Node node; //!!! typedef node *L; //!!! int main() //头插法 { L head,p,q; head=(node*)m原创 2021-03-31 09:08:03 · 281 阅读 · 0 评论 -
C语言经典100例统计英文字母/空格/数字个 数
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。#include<stdio.h>int main(){ char c; int letters=0,space=0,digit=0,others=0; printf("请输入一行字符:"); while((c=getchar())!='\n'){ //!!!!!!重要!!!!,别忘了在c=getchar()两边加括号 if(c>='a'&&c<='z'||c>='A原创 2021-03-31 09:02:31 · 3005 阅读 · 0 评论 -
C语言经典100例输入三个数按大小输出
#include<stdio.h>int main(){ int a,b,c,t; scanf("%d %d %d",&a,&b,&c); if(a<b){ t=a;a=b;b=t; } if(a<c){ t=a;a=c;c=t; } if(b<c){ //if无论是否满足条件都会向下执行,知道程序结束, t=b;b=c;c=t; //el原创 2021-03-31 08:59:36 · 189 阅读 · 0 评论 -
C语言经典100例数字插入数组
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。#include<stdio.h>int main(){ int a[10]; int n; printf("输入n:"); scanf("%d",&n); int i; printf("输入%d个数:",n); for(i=0;i<n;i++){ scanf("%d",&a[i]); } int num; printf("请输入一个数:"); scanf("%d",&原创 2021-03-30 11:00:26 · 2490 阅读 · 0 评论 -
C语言经典100例冒泡选择排序
#include<stdio.h>int main(){ int a[6]={4,2,1,5,3,6}; int i,j,t; for(i=0;i<6;i++){ for(j=0;j<5-i;j++){ if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } for(i=0;i<6;i++){ printf("%d ",a[i]); } printf("\n原创 2021-03-30 10:58:28 · 255 阅读 · 0 评论 -
C语言经典100例编写函数求字符串求长度
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。#include<stdio.h>int len(char *p){ int num=0; while(*p!='\0'){ //!!!!重点 p++; num++; } return num;}int main(){ char str[20]; //!!!!!重点 scanf("%s",str); //!!!!!重点 printf("%d"原创 2021-03-30 09:55:26 · 2112 阅读 · 0 评论 -
C语言经典100例圆圈报数问题
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。#include<stdio.h>int main(){ int n; printf("输入人数:"); scanf("%d",&n); int a[100]; int i,temp,count=0; temp=n; for(i=0;i<n;i++){ a[i]=i+1; } i=0; while(n>1){ if(a[原创 2021-03-30 09:52:04 · 1513 阅读 · 0 评论 -
C语言经典100例猴子吃桃问题
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。#include<stdio.h>int main(){ int i,j,t=0; for(i=4;i<1000000;i++){ t=i; for(j=1;j<=5;j++){ if(t%4==0){ t=t/4;原创 2021-03-30 09:49:33 · 89 阅读 · 0 评论 -
C语言经典题型埃氏筛法求素数
#include<stdio.h>#include<math.h>int main(){ int m,n; while(scanf("%d %d",&m,&n)!=EOF){ int i,j,t; if(m>n){ t=m; m=n; n=t; } int prime[10001]; int count=0; for(i=2;i<=10000;i++){ prime[i]=1; } for(i原创 2021-03-30 09:40:30 · 621 阅读 · 0 评论 -
C语言经典100例杨辉三角
#include<stdio.h>int main(){int a[10][10]={0};int i,j;for(i=0;i<10;i++){ a[i][0]=1; a[i][i]=1;}for(i=2;i<10;i++) for(j=1;j<10;j++){ a[i][j]=a[i-1][j-1]+a[i-1][j]; } for(i=0;i<10;i++){ for(int k=0;k<9-i;k++) printf(" ");原创 2021-03-30 09:29:16 · 116 阅读 · 0 评论 -
C语言经典100例整数后移问题
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数#include<stdio.h>int main(){ int a[20],b[20]; int n,m,k; printf("请输入n:"); scanf("%d",&n); printf("请输入%d个整数:",n); int i,j=0; for(i=0;i<n;i++) scanf("%d",&a[i]); printf("请输入移动位次个数m:"); scan原创 2021-03-30 09:20:30 · 453 阅读 · 0 评论 -
C语言辗转相除法求最大公约数
//注意最大公约数(m)与最小公倍数(n)的关系#include<stdio.h>int main(){int m,n,t,c,s;scanf("%d %d",&m,&n);if(m<n){t=m;m=n;n=t;}s=m*n;c=m%n;while(c!=0){m=n;n=c;c=m%n;}printf(“最大公约数为:%d\n”,n);printf(“最小公倍数为:%d”,s/n);}...原创 2021-03-29 20:36:20 · 1030 阅读 · 0 评论 -
C语言经典100题结构体输入输出函数
题目:编写input()和output()函数输入,输出5个学生的数据记录。#include<stdio.h>struct student{ char num[6]; char name[6]; double score;}stu[5]; void input(struct student stu[]){ int i; for(i=0;i<5;i++){ printf("请输入第%d个学生:\n",i+1); printf("学号:"); scanf("%s"原创 2021-03-30 09:14:35 · 1301 阅读 · 2 评论 -
C语言经典100题递归打印字符
题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。#include<stdio.h> void digui(int n){ if(n<=1){ char ch=getchar(); putchar(ch); } else{ char ch=getchar(); digui(n-1); putchar(ch); }}int main(){printf("请输入5个字符:");digui(5); }...原创 2021-03-29 20:43:50 · 159 阅读 · 0 评论 -
C语言经典100例星期几猜测游戏
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。#include<stdio.h> int main(){printf("请输入第一个字母:"); char ch;ch=getchar();getchar(); //!!用来吸收多余的回车 if(ch=='m'||ch=='M'){ printf("星期一\n"); } if(ch=='t'||ch=='T'){ printf("请继续输入第二个字母:"); ch=ge原创 2021-03-29 20:41:52 · 190 阅读 · 0 评论 -
C语言指向二维数组的指针
#include<stdio.h>int main(){ int a[6][8]={1,2,3,4}; int (*p)[8]; int max=0; p=a; for(int i=0;i<6;i++) for(int j=0;j<8;j++){ if(max<*(*(p+i)+j)){ max=*(*(p+i)+j); } } printf("%d",max); }原创 2021-03-29 20:38:52 · 91 阅读 · 0 评论