实验八 参考答案
- 格式:doc
- 大小:34.00 KB
- 文档页数:3
否则输出整数的个位数字
反向输出除个位以外的全部数字
结束
请编写主程序,调用上述算法,反向输出正整数n。如输入123,则输出321。
参考程序:
#include<stdio.h>
void fun(int n)
{
if(0<=n&&n<=9)
printf("%d",n);
else
{
printf("%d",n%10);
gets(str);
printf(“Please inpute a character:”);
c=getchar();
delet(str,c);
printf(“\nAfter delete c:\n”);
puts(str);
}
4.将一个正整数n以相反的顺序输出的递归算法可以如下描述:
如果要输出的整数只有一位
scanf("%f",&a[i]);
}
printf("The average score:%.2f\n",average(a,10));
}
2.写程序实现对数据元素倒置,假设原数组为{3,7,9,11,0,6,7,5,4,2},则倒置后该数组的元素变为:{2,4,5,7,6,0,11,9,7,3}
要求:(1)编写一个函数实现倒置功能
1.青年歌手参加歌曲大奖赛,有10个评委对她进行打分,编写程序求这位选手的平均得分(去掉一个最高分和de<stdio.h>
float average(float b[],int n)
{
float max,min,s=0;
int i;
max=min=b[0];
for(i=1;i<n;i++)
voiddelet(char str[],charc)
{int i,j=0;
for(i=0;str[i]!=’\0’;i++)
if(str[i]!=c) str[j++]=str[i];
str[j]=’\0’;
}
voidmain()
{char str[100],c;
printf(“Please inpute a string:”);
if(max<b[i]) max=b[i];
else if(min>b[i]) min=b[i];
for(i=0;i<n;i++)
s=s+b[i];
s=(s-max-min)/8;
return s;
}
main()
{float a[10];
int i;
for(i=0;i<10;i++)
{ printf("a[%d]=",i);
(2)主函数定义数组,并调用(1)的函数完成倒置
(3)在屏幕上输出倒置前、后的数组元素。
参考程序:
#include<stdio.h>
void fun(int a[],int n)
{
int i,t;
for(i=0;i<n/2;i++)
t=a[i],a[i]=a[n-1-i],a[n-1-i]=t;
}
void main()
{
int a[10],i;
for(i=0;i<10;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
fun(a,10);
for(i=0;i<10;i++)
printf("%5d",a[i]);
}
3.编写一程序,将字符串str中的指定字符删除
#include“stdio.h”
fun(n/10);
}
}
voidmain()
{
int n;
printf("please input a int number:");
scanf("%d",&n);
fun(n);
}