1.水仙花数
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<1000;i++)
{
a=i/100;
b=(i/10)%10;
c=i%10;
if((a*a*a+b*b*b+c*c*c)==i)
printf("%d\n",i);
}
return(0);
}
2.求2-n之间的素数
#include<stdio.h>
int main()
{
int i,j,n,flag;
scanf("%d",&n);
for (i=2; i<=n; i++)
{
flag = 1;
for (j=2; j<=i/2; j++)
if (i%j == 0){
flag = 0;
break;
}
if (flag) printf("%d ",i);
}
return 0;
}
3.百钱百鸡
#include "stdio.h"
int main()
{
int x,y,z,i,j,k,flag=0;
scanf("%d%d%d",&x,&y,&z);
for(i=0;i<=100/x;i++)
for(j=0;j<=100/y;j++)
for(k=0;k<=100*z;k++)
{
if(i+j+k==100 && i*x+j*y+k/z==100 && k%z==0)
{
flag=1;
printf("%d %d %d\n",i,j,k);
}
}
if(flag==0)
printf("no solution!\n");
}
4.求一维数组输出最小值及其下标
#include <stdio.h>
int main()
{
int a[100];
int i,n,mini,minv;
scanf("%d",&n);
for (i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
minv = 100000;
for (i=0; i<n; i++)
{
if (minv>a[i])
{
minv = a[i];
mini = i;
}
}
printf("min=a[%d]=%d",mini,a[mini]);
return 0;
}
5.闰年判断
#include<stdio.h>
int main(void)
{
int n;
while (scanf("%d",&n),n!=0)
{
if(n%4==0&&n%100!=0||n%400==0) //判断是否为闰年
{
printf("%d ",n);
}
else
{
continue;
}
}
return 0;
}
6.使用一维数组找出两组数非共有元素
#include <stdio.h>
int main()
{
int a[100],b[100];
int i,j,m,n,flag;
scanf("%d",&m);
for (i=0; i<m; i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&n);
for (i=0; i<n; i++)
{
scanf("%d",&b[i]);
}
for (i=0; i<m; i++)
{
flag = 0;
for(j=0; j<n; j++)
{
if (a[i]==b[j]) flag = 1;
}
if (flag==0)
{
printf("%d ",a[i]);
}
}
for (j=0; j<n; j++)
{
flag = 0;
for(i=0; i<n; i++)
{
if (a[i]==b[j]) flag = 1;
}
if (flag==0)
{
printf("%d ",b[j]);
}
}
return 0;
}
7.c语言统计字符串中指定的单词个数
#include "stdio.h"
#include "string.h"
#include "conio.h"
int fun(char *str,char *substr)
{
int i,n=0,s=strlen(str);
for(i=0;i<s;i++)
if((str[i]==substr[0])&&(str[i+1]==substr[1]))
n++;
return n;
}
main()
{
char str[81],substr[3];
int n;
printf("输入的字符串:");
gets(str);
printf("子字符串:");
gets(substr);
puts (str);
puts(substr);
n=fun(str,substr);
printf("n=%d\n",n)
}
8.使用二维数组求主对角线元素和反向对角线元素之和
#include <stdio.h>
int main()
{
int a[3][3];
int i,j;
int sum;
for (i=0; i<3; i++)
{
for (j=0; j<3; j++)
{
scanf("%d",&a[i][j]);
}
}
sum = 0;
for (i=0; i<3; i++)
{
for (j=0; j<3; j++)
{
if (i==j || i==3-j-1)
sum = sum + a[i][j];
}
}
printf("sum=%d",sum);
return 0;
}
9.斐波那契数列
#include <stdio.h>
int fib(int n)
{
if (n<=0) return 0;
if (n==1) return 1;
return fib(n-1)+fib(n-2);
}
int main()
{
int n;
scanf("%d",&n);
printf("fib(%d)=%d",n,fib(n));
return 0;
}