主函数框架以下。其做用是输入5个整数,并定义了一个变量aver准备存储平均值。其中横线处应是一个函数调用语句。数组
int main()框架
{函数
int a[5],i,aver;spa
for(i=0;i<=4;i++) 指针
scanf("%d",&a[i]);ip
____________; //此处只填写一条函数调用语句,不按要求作得0分。字符串
printf("%d",aver);get
return 0;string
}io
编写一个被调函数void X(......)供主函数调用,其功能是:计算平均值并存储到主函数定义的aver之中。
注意:
一、提交代码时,主函数也应一并提交
二、主函数所缺代码请自行填补,只填写一条调用语句,不得增长其余代码,也不容许改变程序结构,不然得0分
输入5个整数
求平均值(保留整数,不四舍五入)
{
int i,sum=0;
for(i=0;i<5;i++)
{
sum+=*(p++);
}
*aver=sum/5;
}
int main()
{
int a[5],i,aver;
for(i=0;i<=4;i++)
scanf("%d",&a[i]);
X(&aver,a);
printf("%d",aver);
return 0;
}
键盘输入10个数据存入数组,调用被调函数使数组各元素的值翻番(被调函数完成),而后主函数输出翻番后的数据
输入10个数据
输出处理后的数据,每一个数据占5个字符的宽度
#include<stdio.h>
void db(int *p)
{
int i;
for(i=0;i<=9;i++)
p[i]=p[i]*2;//*p=*(p++)*2;
}
int main()
{
int a[10],i;
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
db(a);
for(i=0;i<=9;i++)
printf("%5d",a[i]);
return 0;
}
键盘输入10个整数,由被调函数找出最大、最小值并分别交换到数组的最前、最后,而后在主函数中输出交换后的数组内容。
注意:是被调函数交换位置,不是主函数
输入10个数
输出交换后的全部数据
方法一//有误?
#include<stdio.h>
#include<string.h>
void X(int *p)
{
int temp,i;
int max,m,min,n;
max=min=p[0];
m=0;n=0;
for(i=1;i<10;i++)
{
if(p[i]>max)
{
max=p[i];
m=i;
}
if(p[i]<min)
{
min=p[i];
n=i;
}
}
if(m>n)
{
temp=p[n];
p[n]=p[m];
p[m]=temp;
}
if(m==0&&n==9)
{
;
}
if(m==9&&n==0)
{
temp=p[n];
p[n]=p[m];
p[m]=temp;
}
if(m>0&&m<9&&n==9)
{
temp=p[m];
p[m]=p[0];
p[0]=temp;
}
if(m==0&&n>0&&n<9)
{
temp=p[n];
p[n]=p[9];
p[9]=temp;
}
if(m>0&&m<9&&n>0&&n<9)
{
temp=p[m];
p[m]=p[0];
p[0]=temp;
temp=p[n];
p[n]=p[9];
p[9]=temp;
}
if(n==0&&m>0&&m<9)
{
temp=p[m];
p[m]=p[9];
p[9]=temp;
temp=p[0];
p[0]=p[9];
p[9]=temp;
}
if(m==9&&n>0&&n<9)
{
temp=p[n];
p[n]=p[0];
p[0]=temp;
temp=p[0];
p[0]=p[9];
p[9]=temp;
}
}
int main()
{
int a[10],i;
for(i=0;i<10;i#include<stdio.h>
#include<string.h>
void X(int *p)
{
int temp,i;
int max,m,min,n;
max=min=p[0];
m=0;n=0;
for(i=1;i<10;i++)
{
if(p[i]>max)
{
max=p[i];
m=i;
}
if(p[i]<min)
{
min=p[i];
n=i;
}
}
if(m==0&&n==9)
{
;
}
if(m==9&&n==0)
{
temp=*(p+n);
*(p+n)=*(p+m);
*(p+m)=temp;
}
if(m>0&&m<9&&n==9)
{
temp=*(p+m);
*(p+m)=*(p);
*(p)=temp;
}
if(m==0&&n>0&&n<9)
{
temp=*(p+n);
*(p+n)=*(p+9);
*(p+9)=temp;
}
if(m>0&&m<9&&n>0&&n<9)
{
temp=*(p+m);
*(p+m)=*(p);
*(p)=temp;
temp=*(p+n);
*(p+n)=*(p+9);
*(p+9)=temp;
}
if(n==0&&m>0&&m<9)
{
temp=p[m];
p[m]=p[9];
p[9]=temp;
temp=p[0];
p[0]=p[9];
p[9]=temp;
}
if(m==9&&n>0&&n<9)
{
temp=p[n];
p[n]=p[0];
p[0]=temp;
temp=p[0];
p[0]=p[9];
p[9]=temp;
}
}
int main()
{
int a[10],i;
for(i=0;i<10;i++)
{
scanf("%d",a+i);
}
X(a);
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}
++)
{
scanf("%d",&a[i]);
}
X(a);
for(i=0;i<9;i++)
{
printf("%d ",a[i]);
}
if(i=9)
printf("%d",a[i]);
return 0;
}
方法二
#include<stdio.h>
#include<string.h>
void X(int *p)
{
int temp,i;
int max,m,min,n;
max=min=p[0];
m=0;n=0;
for(i=1;i<10;i++)
{
if(p[i]>max)
{
max=p[i];
m=i;
}
if(p[i]<min)
{
min=p[i];
n=i;
}
}
if(m==0&&n==9)
{
;
}
if(m==9&&n==0)
{
temp=*(p+n);
*(p+n)=*(p+m);
*(p+m)=temp;
}
if(m>0&&m<9&&n==9)
{
temp=*(p+m);
*(p+m)=*(p);
*(p)=temp;
}
if(m==0&&n>0&&n<9)
{
temp=*(p+n);
*(p+n)=*(p+9);
*(p+9)=temp;
}
if(m>0&&m<9&&n>0&&n<9)
{
temp=*(p+m);
*(p+m)=*(p);
*(p)=temp;
temp=*(p+n);
*(p+n)=*(p+9);
*(p+9)=temp;
}
if(n==0&&m>0&&m<9)
{
temp=p[m];
p[m]=p[9];
p[9]=temp;
temp=p[0];
p[0]=p[9];
p[9]=temp;
}
if(m==9&&n>0&&n<9)
{
temp=p[n];
p[n]=p[0];
p[0]=temp;
temp=p[0];
p[0]=p[9];
p[9]=temp;
}
}
int main()
{
int a[10],i;
for(i=0;i<10;i++)
{
scanf("%d",a+i);
}
X(a);
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}
主函数中输入一个字符串(不超过80个字符),由被调函数将其逆序存放。主函数输出逆序以后的字符串。
输入一个字符串
输出逆序以后的字符串
#include<stdio.h>
#include<string.h>
int main()
{
int i;
char z[81],n;
gets(z);
n=strlen(z);
for(i=n-1;i>=0;i--)
{
printf("%c",z[i]);
}
}
键盘输入一行英文句子(不超过80字符),调用函数使其中的元音字母变成大写,而后主函数输出。用指针操做。
输入英文句子一行
输出变化后的句子
#include<stdio.h>
#include<string.h>
/*
void f(int *p,int n)
{
int i;
for(i=0;i<n;i++)
{
if(p[i]=='a'||p[i]=='e'||p[i]=='o'||p[i]=='i'||p[i]=='u')
{
p[i]-=32;
}
}
}
*/
int main()
{
char a[81];
int n,i;
gets(a);
n=strlen(a);
for(i=0;i<n;i++)
{
if(a[i]=='a'||a[i]=='e'||a[i]=='o'||a[i]=='i'||a[i]=='u')
{
a[i]-=32;
}
}
//f(a,n);
puts(a);
//printf("%d",n);
}
键盘输入不超过80个字符,由被调函数统计其中大写字母和空格的个数,由主函数输出结果,程序框架以下:
#include <stdio.h>
/********************************/
/* */
/* 此处缺乏sub函数的定义 */
/* */
/********************************/
int main()
{
___________; //此处缺乏字符数组的定义
int sum1, sum2;
________; //此处缺乏一条语句,该语句用来输入字符串
sub(_____________); //此处缺乏参数
printf("%d,%d", sum1, sum2);
return 0;
}
上面的程序缺乏4处代码,请将4处所缺代码按顺序分别填写到题目下方的4个文本框中提交,其余代码不须要提交
输入字符串,不超过80个字符
输出大写字母和空格的个数
#include <stdio.h>
void sub(char *p,int *m,int *n)
{
int a=0,b=0;
while(*p!='\0')
{
if(*p>=65&&*p<=90)
{
a++;
}
if(*p==' ')
{
b++;
}
p++;
}
*m=a;
*n=b;
}
int main()
{
char a[100];
int sum1, sum2;
gets(a);
sub(a,&sum1,&sum2);
printf("%d,%d\n", sum1, sum2);
return 0;
}