C语言问题 怎么做?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言问题 怎么做?相关的知识,希望对你有一定的参考价值。

(2) 输入10个数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:
1. 输入10个数;
2. 进行处理;
3. 输出10个数。

(3)求某班某门课的平均成绩,统计超过平均值的人数。
编写三个函数:
1.输入成绩:函数中处理用“下标法”引用数组元素;
2. 求平均成绩:函数中处理用“数组名+位移”引用数组元素;
3. 求统计超过平均值的人数:函数处理用“指针法”引用数组元素;
(学生成绩:65, 90, 80, 75, 82, 77, 92, 86, 97, 79)

//////////////
//问题2
//
#include <stdio.h>
void input_ten_numbers( int num[] );
void deal_numbers( int num[] );
void output_ten_numbers( int num[] );

int main(void)

int num[10];
input_ten_numbers( num );
deal_numbers( num );
output_ten_numbers( num );

return 0;

void input_ten_numbers( int num[] )

printf("请输入10个数:\n");
for( int i = 0; i < 10; i++ )

scanf( "%d", &num[i]);


void deal_numbers( int num[] )

int max_location = 0;
int min_location = 0;
int temp;
int i;
for( i = 0; i < 10; i++ )

if ( num[i] < num[min_location] )

min_location = i;


temp = num[0];
num[0] = num[min_location];
num[min_location] = temp;

for( i = 0; i < 10; i++ )

if ( num[i] > num[max_location] )

max_location = i;


temp = num[9];
num[9] = num[max_location];
num[max_location] = temp;

void output_ten_numbers( int num[] )

printf("处理后数据:\n");
for( int i = 0; i < 10; i++ )

printf( "%d\n", num[i]);



///////////////////////
///问题3
///
#include <stdio.h>

void input_score( int score[], int number );
float score_average( int score[], int number );
int count( int score[], int number );

int main(void)

int score[100]; //保存分数的数组
int number = 10; //人数
input_score( score, number );
printf( "平均分数:%f\n", score_average(score, number) );
printf( "超过平均分数的人数:%d\n", count(score, number) );

return 0;


void input_score( int score[], int number )

printf("请输入%d个分数:\n", number);
for( int i = 0; i < number; i++ )

scanf( "%d", &score[i]);


float score_average( int score[], int number )

int total = 0;
for( int i = 0; i < number; i++ )

total += *(score+i);


return (float)total/number;

int count( int score[], int number )

int cnt = 0;
int *p = score;
float ave = score_average( score, number );

for( int i = 0; i < number; i++ )

if(*(p++) > ave)

cnt++;


return cnt;
参考技术A 件 要改掉,否则减法得-1要处理.
出题涵数部分要进一步完善,使题目有深浅.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

double f(double a, double b, int task)

double x;

if (task > 4 ) task = rand()%5;
if (task < 1) task = 1;
if (task == 1) printf("How much is %.0lf + %.0lf?\n",a,b);
if (task == 2) printf("How much is %.0lf - %.0lf?\n",a,b);
if (task == 3) printf("How much is %.0lf * %.0lf?\n",a,b);
if (task == 4) printf("How much is %.0lf / %.0lf?\n",a,b);
switch(task)

case 1: x = a + b; return x; break;
case 2: x = a - b; return x; break;
case 3: x = a * b; return x; break;
case 4: x = a / b; return x; break;
default: x = a + b; return x;



int main()

int n=0,a,b,task;
double x;
srand(time(NULL));
printf("chose task 1,2,3,4,5:\n");
scanf("%d",&task);

a=rand()%9+1,b=rand()%9+1;
while( n!=-1 )
x = f(a,b,task);
printf("-1 end\n");
// printf("输入答案(-1结束): ");

scanf("%d",&n);
fflush(stdin);
if( fabs (n - x) < 0.001 )
printf("Very good!\n\n");
a=rand()%9+1;
b=rand()%9+1;

else
if(n!=-1)
printf("NO,Please try again!\n\n");


system("pause");
return 0;

这道c语言怎么做

Description

给定一段文章,请输出每个字母出现的次数。

Input

输入多组数据,长度小于200。在文章中除最后一个字符外,只有小写字母、空格和换行符,没有另外的标点、数字和大写字母等。该文章以’#’结尾。

Ouput

输出格式为“C A”,C为’a’..’z’中的字母,A为出现次数,C和A之间空一格。

Sample Input
here is the input this is the article#

Sample Output
a 1
b 0
c 1
d 0
e 5
f 0
g 0
h 4
i 5
j 0
k 0
l 1
m 0
n 1
o 0
p 1
q 0
r 2
s 3
t 5
u 1
v 0
w 0
x 0
y 0
z 0

我写的是
#include <stdio.h>

int main()

char a[201],ch;
int num[26]=0,i;
gets(a);
for(i=0;a[i]!='#';i++)

if(a[i]>='a'&&a[i]<='z')

num[a[i]-'a']++;



for(ch='a';ch<='z';ch++)

printf("%c %d\n",ch,num[a[i]-'a']);

return 0;

哪里错了啊 编译不行啊

你程序执行到倒数第二行(printf("%c %d\n",ch,num[a[i]-'a']))的时候i已经是定值了,所以a[i]不会出现你要的结果。。把a[i]改为ch就可以了 即printf("%c %d\n",ch,num[ch-'a'])
已经测试通过 如果有问题请追问
参考技术A printf("%c %d\n",ch,num[a[i]-'a']);错了,改成printf("%c %d\n",ch,num[ch-'a']);便可。

以上是关于C语言问题 怎么做?的主要内容,如果未能解决你的问题,请参考以下文章

C语言这种是怎么做的

请问这道C语言该怎么做啊?

用c语言判断网址怎么做呢?

C语言中16进制之间的加减乘除运算怎么做?

C语言,自动类型转换怎么做?

C语言中除法和取整分别怎么做