问一个对于我很难的C语言题,输入N个数,输出这N个数的平均值。还有一个C语言问题,

就是输入一串字符逆序输出这串字符,这两问题的C程序怎么编?
哎课本扔哪不知道了,知道的人给个详细的提示谢谢!现在没分了,以前出手太。。。。。搞得现在没分了

N就是N个数,可以任意取,以下两题以10为例
#include <stdio.h>
#define N 10
main()
{
int a[N],i;
float ave=0;
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
ave=ave+a[i];
}
printf("%0.2f",ave/10);
}

用单循环输入数字,并且输入一个,累加一个,最后第三行的ave是所以数的和
最后输出的ave/10,就是10个数的平均值

#include <stdio.h>
#define N 10
main()
{
char a[N];int i=0,j=N-1,t;
gets(a);
while(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
}
puts(a);
}

gets(a)输入字符串,while循环 是实现字符串第一个字符与最后一个字符交换,第二个字符和最后第二个字符交换,以此类推,如果字符数为偶数,则刚好交换,如果字符数为奇数那么中间一个位子不变,其他的对应交换
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-02-14
第一个问题:
#include<stdio.h>
#define N 10
void main()
{
int a[N],i,sum=0;
printf("please input N numbers:"):
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
sum=sum+a[i];
printf("now the average of N numbers is\n");
printf("%d",sum);
}
第二题:逆向输出
#include<stdio.h>
#include<string.h>
void main()
{char a[100];
int i,j,; //数组要定义的足够长
gets(a);//输入字符串
i=strlen(a); //字符串的长度
p=a;
for(j=0;j<i/2;j++)
{a[j]=a[i];
i--;
} //实现交换的目的
puts(a);
}
第2个回答  2010-02-14
说实话你问的这两道题够简单的,以下是代码,编译通过的,你看看大体思路就行,学编程学的就是思路,注意细节,还有什么不懂的再说。
可以的话就给我最佳了,能多给点分最好了,呵呵!
#include<stdio.h>

void main ()
{
int i,j,a,b=0;
puts("请输入个数:");
scanf("%d",&i);
puts("请输入N个数:");
for(j=0;j<i;j++)
{
scanf("%d",&a);
b+=a;
}
printf("\n输入的平均值为:%d\n",b/i);
}

#include<stdio.h>
#include<string.h>

void main ()
{
char s[101],ch;
int i,j;
puts("请输入字符串:");
gets(s);
i=strlen(s);
for(;i>0;i--)
{
putchar(s[i-1]);
}
printf("\n");
}
第3个回答  2010-02-15
#include "stdio.h"
#include "stdlib.h"

int main()
{
int n,a=0,b,i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&b);
a+=b;
}
a/=n;
printf("%d\n",a);
return 0;
}

#include "stdio.h"
#include "stdlib.h"
#define MAX_SIZE 400

struct stack
{
char s[MAX_SIZE];
int top;
}

int main()
{
stack a;a.top=-1;memset(a.s,0,sizeof(char)*MAX_SIZE);
char c;
while(true)
{
scanf("%c",&c);
if(c=='\n' || c==' ') break;
a.s[++a.top]=c;
}
for(;a.top!=-1;printf("%c",a.s[a.top--]));
return 0;
}
好久不用C了,现在只用C++了,手边又没编译器,有点错自己改
第4个回答  2010-02-14
说说思路吧,代码不自己写是不能提高编程能力的
第一题,申请一个N长度的数组,用一个for循环将数读入,然后再循环一次求和,最后算出平均数
第二题,把这串字符存在一个字符数组里,从后向前遍历,输出每个字符
第5个回答  2010-02-14
#include "stdio.h"
void main()
{
int a[10],i;float t,s=0;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=9;i>=0;i--)
printf("%d ",a[i]);
printf("\n");
for(i=0;i<10;i++)
{s=s+a[i];}
t=(float)(s/10);
printf("平均数是%f",t);
}

}
相似回答