C语言程序设计四
#include<bits/stdc++.h>
//发工资 其实就是在数组中求面值数
int main1()
{
int n ;
int a[] = {100,50,10,5,2,1};
int size =sizeof(a) /sizeof(int);
int res;
int val;
while(scanf("%d",&n)!=EOF)
{
if(n == 0)
break;
res = 0;
for(int i = 1;i<=n;i++)
{
scanf("%d",&val);
for(int j = 0 ;j<size;j++)
{
if(val == 0)
break;
res +=val/a[j];
val %= a[j];
}
}
printf("%d\n",res);
}
return 0;
}
//海选女主角 其实就是二维矩阵求最大值
int main2()
{
int m,n;
int max;
int maxi,maxj;
int val;
while(scanf("%d %d",&m,&n)!=EOF)
{
max = 0;
maxi = 1;
maxj = 1;
for(int i = 1;i<=m;i++)
{
for(int j = 1;j<=n;j++)
{
scanf("%d",&val);
if(abs(val) > abs(max))
{
max = val;
maxi = i;
maxj = j;
}
}
}
printf("%d %d %d\n",maxi,maxj,max);
}
return 0;
}
//求平均成绩
int main3()
{
int m,n;
int a[50][5];
double b[50];//学生
double c[5];//课程
while (scanf("%d %d",&n,&m)!=EOF)
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
scanf("%d",&a[i][j]);
for(int i=0;i<n;i++)
{
b[i]=0;
for(int j=0;j<m;j++)
b[i]+=a[i][j];
b[i]/=(m*1.0);
}
for(int j=0;j<m;j++)
{
c[j]=0;
for(int i=0;i<n;i++)
c[j]+=a[i][j];
c[j]/=(n*1.0);
}
int sum=0,flag; //sum学生人数
for(int i=0;i<n;i++)
{
flag=0;
for(int j=0;j<m;j++)
{
if(a[i][j]<c[j])
{
flag=1;
break;
}
}
if(flag==0)
sum++;
}
for(int i=0;i<n-1;i++)
printf("%.2lf ",b[i]);
printf("%.2lf\n",b[n-1]);
for(int j=0;j<m-1;j++)
printf("%.2lf ",c[j]);
printf("%.2lf\n",c[m-1]);
printf("%d\n",sum);
printf("\n");
}
return 0;
}
//判断是否是C的合法标识符
int main4()
{
int n;
char str[100];
int count;
int len;
scanf("%d",&n);
getchar();
while(n--)
{
count = 0;
gets(str);
len = strlen(str);
if(str[0]>='0' && str[0]<='9')
printf("no\n");
else
{
for(int i = 0; i< len ;i++)
{
if(str[i]>='0' && str[i]<='9' || str[i]>='a' && str[i]<='z'
||str[i]>='A'&&str[i]<='Z'||str[i]=='_' )
{
count++;
}
}
if(count == len)
printf("yes\n");
else
printf("no\n");
}
}
return 0;
}
//查找最大元素 字符查找
int main5()
{
char s[101];
while(scanf("%s",s)!=EOF)
{
char max = '\0';
for(int i = 0 ;s[i];i++)
{
if(s[i] > max)
{
max = s[i];
}
}
for(int i = 0 ; s[i];i++)
{
printf("%c",s[i]);
if(s[i] == max )
{
printf("(max)");
}
}
printf("\n");
}
return 0;
}
//首字母变大写 每个单词的第一个字母变大写 需要用到ctype.h头文件
int main6()
{
char s[101];
int i;
while(gets(s)!=nullptr)
{
i = 0;
while(s[i])
{
if(i == 0)
{
if(islower(s[i]))
s[i] = toupper(s[i]);
}else
{
if(islower(s[i]) && (s[i-1] == ' ' || s[i-1] == '\t') )
s[i] = toupper(s[i]);
}
i++;
}
puts(s);
}
return 0;
}
//统计每个元音字母在字符串中出现的次数 数组问题
int main()
{
int n;
char s[101];
char a[]= "aeiou";
int count[5];
scanf("%d",&n);
getchar();
int j;
for(int i = 1; i<=n;i++)
{
gets(s);
memset(count,0,sizeof(count));
j = 0;
while(s[j]!='\0')
{
for(int k = 0 ; k < 5 ;k++)
{
if(s[j] == a[k])
count[k]++;
}
j++;
}
if(i!=1)
printf("\n");
for(int j = 0;j<5;j++)
{
printf("%c:%d\n",a[j],count[j]);
}
}
return 0;
}
保持好奇心!