11.1 统计一片文章,分别统计其中的英文大写字母、小写字母、数字、空格、以及其他字符个数
#include <stdio.h>
#include<string.h>
int main()
{
char str[]="hEL l Z ##**世界";
int i,j=0,n=0,m=0,z=0,k=0;
while(str[j]!='\0')
{
if((unsigned)str[j]>=161) {
j++;
i++;
}else if(str[j]>='A'&&str[j]<='Z')n++;
else if(str[j]>='a'&&str[j]<='z')m++;
else if(str[j]==' ')k++;
else z++;
j++;
}
printf("中文字符:%d,英文小写字符:%d,英文大写字符:%d,空格字符:%d,其他字符:%d",i,m,n,k,z);
return 0;
}
11.2 有一个一维数组,内存放10个学生成绩,写一个函数,当主函数调用此函数后,能求出平均分、最高分和最低分
#include <stdio.h>
#include<string.h>
float Min,Max;
int main()
{
float average(float score[],int n);
float aver,score[10]={60,70,80,84,65,45,78,96,55,40};
aver=average(score,10);
printf("平均分:%.2f,最高分:%.2f,最低分:%.2f",aver,Max,Min);
return 0;
}
float average(float score[],int n)
{
int i;
float aver=0,sum=score[0];
Max=Min=score[0];
for(i=01;i<n;i++){
if(score[i]>Max)Max=score[i];
else if(score[i]<Min)Min=score[i];
sum +=score[i];
}
aver=sum/n;
return aver;
}
11.3 输出1到5的阶乘
#include <stdio.h>
#include<string.h>
float Min,Max;
int main()
{
int fac(int n);
int i;
for(i=1;i<6;i++){
printf("%d!=%d\n",i,fac(i));
}
return 0;
}
int fac(int n)
{
static int f=1;
f=f*n;
return(f);
}
11.4给定一个b值,求输入a和m,求a*b和a的m次方的值
#include <stdio.h>
#include<string.h>
float Min,Max;
int main()
{
int power(int n,int a);
int b=3,a=2;
printf("a*b=%d,b**n=%d",a*b,power(4,2));
return 0;
}
int power(int n,int a)
{
int i,f;
for(i=1;i<n;i++){
f *=a;
}
return(f);
}
11.5 有一个字符串,内有若干个字符,现输入一个字符,要求删除字符串存在的相同字符删去
#include <stdio.h>
#include<string.h>
int main()
{
void deleteString(char str[],char s);
char str[80],s;
int i;
printf("输入字符串:");
gets(str);
printf("输入要删除的字符s=");
scanf("%c",&s);
deleteString(str,s);
printf("%s",str);
}
void deleteString(char str[],char s)
{
int i,j;
for(i=j=0;str[i]!='\0';i++)
if(str[i]!=s)
str[j++]=str[i];
str[j]='\0';
}