1、求2-100之间的素数
#include<stdio.h>
int main()
{
int i,j,b,count;
int a[50];
count=0;
for(i=2;i<101;i++)
{
b=0;
for(j=2;j<=9;j++)
{
if(i%j==0&&i!=j)
{
b=1;
break;
}
}
if(!b)
{
a[count++]=i;
}
}
printf("素数有:");
for(i=0;i<count;i++)
{
printf("%d ",a[i]);
}
}
2、输入两个数a,b并求最大公约数
#include<Stdio.h>
int main()
{
int grc(int a,int b);
int a,b;
scanf("%d %d",&a,&b);
printf("a和b的最大公约数为:%d",grc(a,b));
}
int grc(int a,int b)
{
int r;
do
{
r=a%b;
a=b;
b=r;
}while(r);
return a;
}
3、输入若干整数,并求出平均数
#include<stdio.h>
int main()
{
int number;
int sum=0;
int count=0;
scanf("%d",&number);
while(number!=-1)
{
sum+=number;
count++;
scanf("%d",&number);
}
printf("%f",1.0*sum/count);
return 0;
}
4、输入x元,并只输出一种可以用一角、两角、五角钱组成x元的方案
#include<stdio.h>
int main()
{
int x;
int one,two,five;
printf("请输入x元:");
scanf("%d",&x);
for(one=1;one<x*10;one++)
{
for(two=1;two<x*10/2;two++)
{
for(five=1;five<x*10/5;five++)
{
if(one+two*2+five*5==x*10)
{
printf("可以用%d个一角,%d个两角,%d个五角组成%d元",one,two,five,x);
goto out;
}
}
}
}
out:
return 0;
}
5、输入10个数,并顺序排序输出(选择排序)
#include<stdio.h>
int main()
{
int i,j,s,t;
int a[10];
printf("please enter the number:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
s=i;
for(j=i+1;j<10;j++)
{
if(a[s]>a[j])
{
s=j;
}
}
if(s!=i)
{
t=a[i];a[i]=a[s];a[s]=t;
}
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}
6、输入合理的三角形的三条边,并计算面积
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,l,s;
printf("请输入三角形的三条边:");
scanf("%f%f%f",&a,&b,&c);
l=(a+b+c)/2;
s=sqrt(l*(l-a)*(l-b)*(l-c));
printf("%f",s);
return 0;
}
7、输入一个多位数,判断并输入该数为几位数
#include<stdio.h>
int main()
{
int x,z;
printf("请输入一个多位数:");
scanf("%d",&x);
z=0;
z++;
x/=10;
while(x>0)
{
z++;
x/=10;
}
printf("x是%d位数",z);
}
8、给定不超过6的正整数A,考虑从A开始的连续4个数字,请输出所有由它们组成的无重复数字的3位数。
#include<stdio.h>
int main()
{
int a;
int i,j,k;
int cnt=0;
printf("请输入a:");
scanf("%d",&a);
i=a;
while(i<=a+3)
{
j=a;
while(j<=a+3)
{
k=a;
while(k<=a+3)
{
if(i!=j)
{
if(i!=k)
{
if(j!=k)
{ cnt++;
printf("%d%d%d",i,j,k);
if(cnt==6)
{
printf("\n");
cnt=0;
}
else
{
printf(" ");
}
}
}
}
k++;
}
j++;
}
i++;
}
}
9、输入一个数x,并计算它的阶乘
#include<stdio.h>
int main()
{
int x;
printf("请输入一个正整数:");
scanf("%d",&x);
int pointer=1;
int factorial=1;
for(pointer=1;pointer<=x;pointer++)
{
factorial*=pointer;
}
printf("%d的阶乘是:%d",x,factorial);
}
10、输入成绩,switch case分级判断成绩等级
#include<stdio.h>
int main()
{
int grade;
printf("please input grade:");
scanf("%d",&grade);
grade/=10;
switch(grade)
{
case 10:printf("优秀");
case 9:printf("优秀");
break;
case 8:printf("良好");
break;
case 7:printf("良");
break;
case 6:printf("及格");
break;
default:printf("不及格");
}
return 0;
}
11、猜数游戏
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
srand(time(0));
int count,a,number;
count=0;
number=rand()%100+1;
a=0;
printf("我已经想好了一个一百以内的数。\n");
do{
printf("猜猜这个数是多少:");
scanf("%d",&a);
count++;
if(a>number)
{
printf("你猜的数偏大了\n");
}
else
if(a<number)
{
printf("你猜的数偏小了\n");
}
}while(a!=number);
printf("太好了,你猜中了!");
return 0;
}
12、输入整数n,输出乘法表
#include<stdio.h>
int main()
{
int n;
printf("请输入n:");
scanf("%d",&n);
int i,j;
i=1;
while(i<=n)
{ j=1;
while(j<=i)
{
printf("%d*%d=%d",i,j,i*j);
if(i*j<10)
{
printf(" ");
}
else
{
printf(" ");
}
j++;
}
i++;
printf("\n");
}
}
13、输入一个整数n,输出n的各位数字
#include<stdio.h>
int main()
{
int x;
printf("请输入一个数:");
scanf("%d",&x);
int t=x;
int mask=1;
while(t>9)
{
t/=10;
mask*=10;
}
printf("x=%d,mask=%d\n",x,mask);
do
{
int d=x/mask;
printf("%d ",d);
if(mask>9)
{
printf(" ");
}
x%=mask;
mask/=10;
}
while(mask>0);
}
14、输出100以内的所有质数
#include<stdio.h>
int main()
{
int a=0;
int i=0;
int c[50];
int j=0;
int k;
for(a=2;a<=100;a++)
{
if(a==2)
{
printf("%d ",a);
continue;
}
for(i=2;i<a;i++)
{
if(a%i==0)
{
break;
}
}
if(a==i)
{
c[j++]=a;
}
}
for(k=0;k<j;k++)
{
printf("%d ",c[k]);
}
}
15、输入一个整数n,输出n的回文数
#include<stdio.h>
int main()
{
int x;
int digit;
int ret=0;
printf("请输入一个正整数:");
scanf("%d",&x);
while(x>0)
{
digit=x%10;
//printf("%d\n",digit);
ret=ret*10+digit;
printf("x=%d\n,digit=%d\n,ret=%d\n",x,digit,ret);
x/=10;
}
printf("%d",ret);
}
16、要求统计给定区间里的素数并求和
#include<stdio.h>
int main()
{
int m,n;
int cnt=0;
int sum=0;
int i;
printf("请输入区间:");
scanf("%d %d",&m,&n);
if(m==1)
{
m=2;
}
for(i=m;i<=n;i++)
{
int isprime=1;
int k;
for(k=2;k<i-1;k++)
{
if(i%k==0)
{
isprime=0;
break;
}
}
if(isprime==1)
{
cnt++;
sum+=i;
}
}
printf("该区间一共有%d个素数,和为%d",cnt,sum);
return 0;
}
17、百马百石
#include<stdio.h>
int main()
{
int horse=100;
int goods=100;
int big,mid,small=0;
int count=0;
for(big=0;big<34;big++)
{
for(mid=0;mid<51;mid++)
{
for(small=0;small<201;small+=2)
{
if(big+mid+small==100&&big*3+mid*2+small/2==100)
{
count++;
printf("big:%d,mid:%d,small:%d\n",big,mid,small);
printf("一共有%d种驮法\n",count);
}
}
}
}
}
18、斐波那契数列
#include <stdio.h>
int main()
{
int i,a[20]={1,1};
for(i=2;i<20;i++)
a[i]=a[i-2]+a[i-1];
for(i=0;i<20;i++)
printf("%d\t",a[i]);
putchar('\n');
}
19、杨辉三角
#include<stdio.h>
int main()
{
int i,j,n;
int a[50][50];
printf("请输入行数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<n;i++)
{
for(j=1;j<i;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
20、输入年月日,计算当天是当年的第几天
#include<stdio.h>
int main()
{
int year,month,day;
int sum=0;
printf("请输入年月日:");
scanf("%d %d %d",&year,&month,&day);
switch(month-1)
{
case 11:sum+=30;
case 10:sum+=31;
case 9:sum+=30;
case 8:sum+=31;
case 7:sum+=31;
case 6:sum+=30;
case 5:sum+=31;
case 4:sum+=30;
case 3:sum+=31;
case 2:sum+=28;
case 1:sum+=31;
}
sum+=day;
if(year%400==0||(year%100!=0&&year%4==0&&month>=3))
{
printf("该年是闰年,二月由29天");
}
sum+=1;
printf("该日是%d年的第%d天",year,sum);
}