C语言题目练习--第一部分1-10题

odin_zou 2022-11-14 21:51:24

题目1:有1、2、3、4这几个数字,能组成多少个互不相同且无重复数字的三位数?分别是哪些?

#include <stdio.h>

int main(){
	int a,b,c;
	int count=0;
	int result=0;
	
	printf("结果有:\n");
	
	for(a=1;a<5;a++){
		for(b=1;b<5;b++){
			for(c=1;c<5;c++){
				if(a!=b&&b!=c&&c!=a){
					result=a*100+b*10+c;
					count++;
					printf("%d\n",result);
				}
			}
		}
	}
	
	printf("共有%d个数",count);
	
	return 0;
}

结果:

 

题目2:输入三个整数xyz,将三个数从小到大输出

#include <stdio.h>

int main(){
	int x,y,z;
	int min,max,middle;
	int sum;
	
	printf("请输入xyz,分别用逗号隔开:\n");
	scanf("%d,%d,%d",&x,&y,&z);
	
	sum=x+y+z;
	min=(x<y?x:y)<z?(x<y?x:y):z;
	max=(x>y?x:y)>z?(x>y?x:y):z;
	middle=sum-min-max;
	
	printf("结果为:%d,%d,%d",min,middle,max);
	
	return 0;
}

结果:

 

题目3:输出9*9乘法口诀

#include <stdio.h>

int main(){
	int i,j;
	
	for(j=1;j<=9;j++){
		for(i=1;i<j+1;i++){
			printf("%d*%d=%-2d  ",j,i,i*j);
		}
		printf("\n");
	}
	
	return 0;
}

结果:

 

题目4:有一对兔子, 从出生后第三个月起每个月生一对兔子,小兔子长到三个月后每个月又生一对兔子,假如兔子都无死亡,问每个月的兔子总数为多少(只需前10个月)(实为斐波那契数列)

 

#include <stdio.h>

int main(){
	int i;
	int a=1,b=1;
	
	for(i=1;i<=10;i++){
		printf("%d,%d,",a,b);
		if(i%2==0){
			printf("\n");
		}
		a=a+b;
		b=b+a;
	}
	
	return 0;
}

结果:

 

题目5:判断101到200之间的素数

#include <stdio.h>

int isPrimeNum(int m);

int main(){
	
	int i;
	
	printf("以下这些是素数:"); 
	for(i=101;i<=200;i++){
		if(isPrimeNum(i)){
			printf("\n%d",i);
		}
	}

	return 0;
}

int isPrimeNum(int m){
	int a;
	
	for(a=2;a<m;a++){
		if(m%a==0){
			break;
		}
	}
	
	if(a==m){
		return 1;
	}else{
		return 0;
	}
}

结果:

 

题目6:打印出所有的“水仙花数”(“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身)

#include <stdio.h>

int main(){
	
	int x,y,z;
	int i,all;
	
	printf("水仙花数有:");
	
	for(i=100;1<=999;i++){
		x=i%10;
		y=(i/10)%10;
		z=(i/100)%10;
		all=x*x*x+y*y*y+z*z*z;
		
		if(i==all){
			printf("%d ",i);
		}
	}
	
	return 0;
}

结果:

 

题目7:将一个正整数分解质因数

#include <stdio.h>

int main(){
	
	int a;
	int i;
	
	printf("要分解的数:"); 
	scanf("%d",&a);
	printf("分解后的数:");
	
	for(i=2;i<=a;i++){
		while(a%i==0){
			printf("%d ",i);
			a=a/i;
		}
	}
	
	return 0;
}

结果:

 

题目8:利用条件运算符嵌套处理学生成绩:90以上为A,80-89为B,79及以下是C

#include <stdio.h>

int main(){
	
	int score;
	char grade;
	
	printf("输入学生成绩:");
	scanf("%d",&score);
	
	grade=(score>=90)?'A':((score>=80)?'B':'C');
	printf("学生成绩为:%c",grade);
	
	return 0;
}

结果:

 

题目9:输入两个数m和n,求其最大公约数和最小公倍数

#include <stdio.h>

int main(){
	
	int m,n;
	int r;
	int a,b;
	
	printf("请输入m和n的值:");
	scanf("%d,%d",&m,&n);
	
	a=m;
	b=n;
	r=a%b;
	
	while(r!=0){
		a=b;
		b=r;
		r=a%b;
	}
	
	printf("%d是最大公约数,%d是最小公倍数",b,m*n/b);
	
	return 0;
}

结果:

 

题目10:输入一行字符,分别统计出其中英文字母、数字、空格、符号的个数

#include <stdio.h>

int main(){
	
	char a;
	int letter=0;
	int number=0;
	int space=0;
	int other=0;
	
	printf("请输入字符a:");
	a=getchar();
	
	while(a!='\n'){
		if((a>='a'&&a<='z')||(a>='A'&&a<='Z')){
			letter++;
		}else if(a>='0'&&a<='9'){
			number++;
		}else if(a==' '){
			space++;
		}else{
			other++;
		}
		a=getchar();
	}
		
	printf("字母有%d个,数字有%d个,空格有%d个,字符有%d个",letter,number,space,other);
	
	return 0;
}

结果:

 

...全文
145 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

177

社区成员

发帖
与我相关
我的任务
社区管理员
  • c_university_2801
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧