供初学者练习和参考使用,代码直接可以运行,这里我就不贴出结果截图了,可以自己运行看看。
1.统计一篇文章中的字符个数
#include <stdio.h>
int main()
{
int i,j,a,b,c,d,e;
a=b=c=d=e=0;
char text[3][80];
for(i=0;i<3;i++)
{
printf("请输入第%d行字符串:\n",i+1);
gets(text[i]);
}
for(i=0;i<3;i++)
{
for(j=0;j<80&&text[i][j]!='\0';j++)
{
if('A'<=text[i][j]&&text[i][j]<='Z')
a++;
else if('a'<=text[i][j]&&text[i][j]<='z')
b++;
else if('0'<=text[i][j]&&text[i][j]<='9')
c++;
else if(text[i][j]==' ')
d++;
else
e++;
}
}
printf("有英文大写字母%d个\n有英文小写字母%d个\n有数字%d个\n有空格%d个\n有其他字符%d个\n",a,b,c,d,e);
return 0;
}
2.验证哥德巴赫猜想
#include <stdio.h>
int primer(int n)
{
int i,count=0;
for(i=2;i<n;i++)
{
if(n%i!=0)
count++;
}
if(count==n-2)
return 1;
else
return 0;
}
int gotbaha(int m)
{
int i;
for(i=2;i<=m/2;i++)
{
if(primer(i)==1&&primer(m-i)==1)
printf("%d=%d+%d ",m,i,m-i);
}
}
int main()
{
int i;
for(i=6;i<=100;i+=2)
gotbaha(i);
return 0;
}
3.杨辉三角(打印10行)
#include <stdio.h>
int main()
{
int a[10][10];
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<i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
for(i=0;i<10;i++)
{
for(j=0;j<20-2*i;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
printf("\n");
}
return 0;
}
4.一个不多于5位的正整数求出它是几位数
#include <stdio.h>
int main()
{
int a,b,c,d,e,f,g,h,count;
count=0;
printf("请输入一个不多于5位的正整数:");
scanf("%d",&a);
c=a;
printf("按逆向输出每位数:");
while(a!=0)
{
b=a%10;
printf("%d ",b);
count++;
a=a/10;
}
printf("\n");
printf("该数是一个%d位数\n",count);
if(count==1)
printf("按正向输出每位数:%d",c);
else if(count==2)
{
d=c%10;
e=c/10;
printf("按正向输出每位数:%d %d",e,d);
}
else if(count==3)
{
d=c%10;
e=c/10%10;
f=c/100;
printf("按正向输出每位数:%d %d %d",f,e,d);
}
else if(count==4)
{
d=c%10;
e=c/10%10;
f=c/100%10;
g=c/1000;
printf("按正向输出每位数:%d %d %d %d",g,f,e,d);
}
else if(count==5)
{
d=c%10;
e=c/10%10;
f=c/100%10;
g=c/1000%10;
h=c/10000;
printf("按正向输出每位数:%d %d %d %d %d",h,g,f,e,d);
}
return 0;
}
5.以数组的形式输入10个数按从小到大排列
#include <stdio.h>
int main()
{
int a[10];
int min,i,j,t,z;
printf("请输入10个整数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<10;j++)
{
min=a[j];
z=j;
for(i=j+1;i<10;i++)
{
if(min>a[i])
{
min=a[i];
z=i;
}
}
if(z!=j)
{
t=a[j];
a[j]=a[z];
a[z]=t;
}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
6.以数组的形式输入10个数求最大值
#include <stdio.h>
int main()
{
int a[10];
int max,i,j,t;
t=0;
printf("请输入10个整数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0];
for(j=1;j<10;j++)
{
if(max<a[j])
{
max=a[j];
t=j;
}
else
max=max;
}
printf("max=a[%d]=%d",t,max);
return 0;
}
7.以数组的形式输入10个数求最小值
#include <stdio.h>
int main()
{
int a[10];
int min,i,j,t;
printf("请输入10个整数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
min=a[0];
for(j=1;j<=10;j++)
{
if(min>a[j])
{
min=a[j];
t=j+1;
}
}
printf("min=a[%d]=%d",t,min);
return 0;
}
8.用递归法将一个整数n转换成字符串
#include <stdio.h>
void fun(int n)
{
if(n==0)
return ;
else
fun(n/10);
printf("%d",n%10);
return ;
}
int main()
{
int n;
printf("请输入一个整数:");
scanf("%d",&n);
fun(n);
return 0;
}