177
社区成员
发帖
与我相关
我的任务
分享题目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;
}
结果:
