【C语言网】基础题集训练详解( 二)
题目目录
前言
C语言编程训练日常,用于记录自身所学,归纳总结。
一、题目1012 [编程入门]字符串分类统计
题目:
代码详解:
#include<stdio.h>//字符串分类统计
#include<string.h>
int main()
{
char str[100];
int i,a=0,b=0,c=0,d=0;
printf("请输入一串字符串:");
gets(str);//字符串输入
for(i=0;i<strlen(str);i++)
{
if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
a++;
else if(str[i]>='0'&&str[i]<='9')
b++;
else if(str[i]==' ')
c++;
else
d++;
}
printf("字母个数:%d 数字个数:%d 空格个数%d 其他字符个数%d",a,b,c,d);
return 0;
}
二、题目1013 [编程入门]Sn的公式求和
题目:
代码详解:
#include<stdio.h>//Sn的公式求和
int main()
{
int n,Sn = 0,i,a = 0;
printf("请输入数字:");
scanf("%d",&n);//输入数字
for(i=0; i<n; i++){
a = a * 10 + 2;
Sn = Sn + a;
}
printf("%d\n",Sn);
return 0;
}
三、题目1011 [编程入门]最大公约数与最小公倍数
题目:
代码解析:
#include<stdio.h>//最大公约数和最小公倍数
int main()
{
int a,b,max,min;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);
max=a%b;
if(max!=0) max=b/max;//辗转相除求最大公约数
min=a*b;//求最小公倍数
printf("最大公约数为%d,最小公倍数为%d",max,min);
return 0;
}
四、题目1014 [编程入门]阶乘求和
题目:
代码解析:
#include<stdio.h>//逐步阶乘求和
int qiuhe(int n)
{
int Sn=1;
while(n!=0)
{
Sn=Sn*n;
n--;
}
return Sn;
}
int main()
{
int Sn=0,n,i;
printf("请输入需要求阶乘之和的数值:");
scanf("%d",&n);
for(i=n;i>0;i--)
{
Sn=Sn+qiuhe(i);
}
printf("阶乘之和为:%d",Sn);
return 0;
}
五、题目1016 [编程入门]水仙花数判断
题目:
代码解析:
//判断水仙花数
#include<stdio.h>
int main()
{
int a,b,c,n;
printf("1000以内的水仙花数如下:\n");
for(n=100; n<1000; n++)
{
a = n / 100; //百位
b = n/ 10 % 10; //十位
c = n % 10; //个位
if(a*a*a + b*b*b + c*c*c == n)
printf("%d\n",n);
}
return 0;
}
总结
C语言编程基础,简单运用。