输入10个整数
中国的和平发展-儒林外史作者
输入10个整数,将其中最小的数与第一个数交换,把最大
的数与最后一个数
交换。指针实现
。
#include
main()
{
int
i,a[10]={0},temp,*pmin=10000,*pmax=0;
for(i=0;i<10;i++)
{
scanf(
if(a[i]<*pmin)*pmin=a[i];
if(a[i]>*pmax)*pmax=a[i];
}
if(pmin!=&a[0])
{
temp=*pmin;
*pmin=a[0];
a[0]=temp;
}
if(pmax!=&a[9])
{
temp=*pmax;
*pmax=a[9];
a[9]=temp;
}
}
要求
在主函数输入一串文字,并编写一个函数计算该文字
串中的大写字母,小写字母,数字以及其它字符的个
数,
并在主函数中将文字串和以上计算结果打印出来。参考教
材习题10.8
#include
#define N 200
void
count(char *);
int main()
{
char
*ch,chr;
ch=malloc(N+1);
printf(请输入输入一行字符:n
gets(ch);
count(ch);
getchar();
}
void
count(char *ch)
{
char *temp=ch;
int i, upper=0,lower=0,digit=0;
while(*ch
!= '0')
{
if(*ch>='A' &&
*ch<='Z' )
upper++;
else
if(*ch>='a' && *ch<='z')
lower++;
else if(*ch>='0' && *ch<='9')
digit++;
ch++;
}
printf(大写字母有%d个,小写字母有%d个,数字有%d个
n
}
已知一个班有10名同学英语考试成绩为{88.5,76, 83.5,
92,96.5,80,62,85.5,74,87.5},平时成绩为
{4.0,3.5,4.5,2.0,
3.0,3.5,4.0,2.5,3.5,4.0},主函数
中用C的指针分配函数:
malloc()分配两块连续的存储单元存放以上的考试成绩和
平时
成绩,用一个函数计算该班同学的考试平均成绩和
各同学的最终成绩(考试成绩+平时成绩),在主函数
中
将以上计算结果打印出来。
#include
#include
#include
double
get_total_and_average(float *sc_t, float *sc_c,
float *sc_all)
{
int i;
float
total = 0.0;
for(i=0; i<10; i++)
{
sc_all[i] = sc_t[i] + sc_c[i];
total
+= sc_all[i];
}
return total 10.0;
}
void main()
{
float
*score_test, *score_common, *score_total;
double average;
int i;
int len =
sizeof(float) * 10;
float
data_load[2][10]
= {{88.5,76,83.5,
92,96.5,80,62,85.5,74,87.5},
{4.0,3.5,4.5,2.0,3.0,3.5,4.0,2.5,3.5,4.0}};
score_test = (float *)malloc(len);
if(score_test == NULL)
{
printf(
return;
}
score_common = (float
*)malloc(len);
if(score_common == NULL)
{
free(score_test);
printf(
return;
}
score_total = (float
*)malloc(len);
if(score_total == NULL)
{
free(score_test);
free(score_common);
printf(
return;
}
for(i=0; i<10; i++)
{
*
* if you
want to input the scores from output one by one,
please use the
codes in this comments
*
printf(
scanf(
printf(
scanf(
*
* load the data from the
arrays automatically *
score_test[i] =
data_load[0][i];
score_common[i] =
data_load[1][i];
}
average =
get_total_and_average(score_test, score_common,
score_total);
printf(
for(i=0; i<10;
i++)
{
printf(
}
free(score_test);
free(score_common);
free(score_total);
}
1、 编写一个函数input,输
入学生的成绩,包含3个学生的
数据即学号(num),姓名(name)和三科成绩score[3]
。
再编写一个函数print,打印学生的信息。编写一个主函
数实现学生成绩的输入和输出。