三道C语言题目
字符串统计题目描述
对于给定的一个字符串,统计其中数字字符出现的次数。
输入描述
输入数据是一个字符串。
输出描述
对于输入数据,输出该串中数值的个数。
输入样例
asdfasdf123123asdfasdf 输出样例6
青年歌手大奖赛_评委会打分题目描述青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
输入描述
输入数据的第一个数是n (2<n<100),表示评委的人数,然后是n个评委的打分。
输出描述
对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。
输入样例
4 100 99 98 97
海选女主角题目描述电影《杭电记忆》准备海选女主角,面试那天,刚好来了m*n个MM,站成一个m*n的队列,导演为每个MM打了分数,分数都是32位有符号整数(分数还可能为负)。
选拔规则是:要选一个面试分数绝对值(必须还是32位整数)最大的MM。
特别说明:如果不幸选中一个负分的MM,也没关系,因为我觉得,如果不能吸引你,那要想法恶心你。
输入描述
每组输入数据的第一行是两个整数m和n,表示应聘MM的总共的行列数,然后是m行整数,每行有n个,m和n的定义见题目的描述。
输出描述
对于每组输入数据,输出三个整数x,y和s,分别表示选中的MM的行号、列号和分数。
note:行号和列号从一开始,如果有多个MM的分数绝对值一样,那么输出排在最前面的一个(即行号最小的那个,如果行号相同则取列号最小的那个)。
输入样例2 3
1 4 -3
-7 3 0 输出样例2 1 -7
答案:1、
#include <stdio.h>
#include <ctype.h>
int main(int argc, char *argv[])
{
char a[ 100 ];
int count = 0, i = 0;
gets( a );
while( a[ i ] )
{
if(isdigit( a[ i ++ ] ))
count ++ ;
}
printf("%d\n",count);
return 0;
}
2、
#include <stdio.h>
int main(int argc, char *argv[])
{
int i, j ;
int n;
double x ,max , min ,s = 0 ;
for(scanf("%d",&n) , i = 0 ; i < n ; i ++ )
{
scanf("%lf",&x);
if(!i)max = min = x;
else
{
if(x > max) max = x ;
if(x < min) min = x ;
}
s += x;
}
printf("%.2lf\n",( s - max - min) / (n - 2));
return 0;
}
3、
#include <stdio.h>
int main(int argc, char *argv[])
{
int i , j , m , n ;
int a[100][100];
int max , max_x , max_y;
while(scanf("%d%d",&m,&n) != EOF)
{
for(i = 0 ; i < m ; i ++ )
{
for(j = 0 ; j < n ; j ++ )
{
scanf("%d",&a[ i ][ j ]);
if(!i && !j)
{
max = a[ i ][ j ];
max_x = max_y = 0;
}
else
{
if(abs( a[ i ][ j ] ) >= abs( max ))
{
max = a[ i ][ j ];
max_x = i;
max_y = j;
}
}
}
}
printf("%d %d %d\n" , max_x + 1 , max_y + 1 , max );
}
return 0;
}
其他:1.
#include<iostream>
using namespace std;
int main()
{ char s[100];
int i,c=0;
gets(s);
for( i=0;i<strlen(s);i++)
if(s[i]<='9'&&s[i]>='0')
c++;
cout<<c<<endl;
}
2.
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{ int i,n,k,a[105],s=0;
cin>>n;
k=n;
while(n--)
cin>>a[n];
sort(a,a+k);
for(i=1;i<k-1;i++)
s+=a[i];
cout<<s/(k-2)<<endl;
return 0;
}
3.
#include<iostream>
#include<math.h>
using namespace std;
const int M=100;
int main()
{ long a[M][M],i,j,m,n;
while(cin>>n>>m)
{ int max=0,k,t;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cin>>a[i][j];
for(i=n;i>=1;i--)
for(j=m;j>=1;j--)
if(abs(max)<=abs(a[i][j]))
{ max=a[i][j];
k=i;t=j;
}
cout<<k<<" "<<t<<" "<<a[k][t]<<endl;
}
return 0;
}
希望采纳!!!! #include<stdio.h>
int countdigit(int number,int digit)
{
int count=0;
while(number!=0)
{
if(number%10==digit)count++;
number/=10;
}
return count;
}
main()
{
int number,digit;
scanf("%d%d",&number,&digit);
printf("%d\n",countdigit(number,digit));
}
上一个:求C语言高手指点
下一个:C语言我这个程序到底错在哪里???