C语言小实战
1、查找是否有相同的字符,并统计相同字符的个数
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h> //存放大小写转换函数
int main()
{
char str[10];
int i,n,j,k,flag;
printf("please input one Character string:");
gets(str); //用来输入字符串
printf("%s",str);//输出字符型数组时不需要循环
//helloworld
for(i=0;i<sizeof(str);i++)
{
n=1;flag=1;
if(i>=1)
{
for(k=0;k<i;k++)
{
if(str[i]==str[k])
{
flag=0;
break;
}
}
}
for(j=i+1;j<sizeof(str);j++)
{
if(str[i]==str[j]&&flag)
n=n+1;
}
if(n>=2)
printf("\nthe number of %c is %d",str[i],n);
}
return 0;
}
输出结果:
2、求解一元二次方程:
ax^2+bx+c=0(a≠0)
要求:
1)、使用求根公式,解保留小数点后两位有效数字;
2)、a,b,c为10以内整数,使用随机数生成。
#include <stdio.h>
#include <math.h>
#include <time.h>
int main()
{
int a,b,c;
float x1,x2,m;
a = rand()%10+1; //%10求余保证数在 0到 9之间;+1保证 a 不等于 0;
b = rand()%10;
c = rand()%10;
printf("a=%d,b=%d,c=%d\n",a,b,c);
printf("随机生成的一元二次方程为:%dx^2+%dx+%d=0\n",a,b,c);
m=sqrt(b*b-4*a*c);//计算判别式
if(m>=0)
{
x1=(-b+m)/2*a;
x2=(-b-m)/2*a;
printf("此方程有解,求得为x1=%0.2f,x2=%0.2f",x1,x2);
}
else
main();//当判别式小于 0时,方程无解,此时我们在调用函数求a,b,c到方程有解为止
return 0;
}
输出结果:
上一个C语言小实战内容在此:
C语言-小写转换大写
希望对你的学习有帮助!