c语言-c程序 不知道哪存在问题

问题描述

c程序 不知道哪存在问题

本题要求编写程序,计算N个有理数的平均值。

输入格式:

输入第一行给出正整数N(le≤100);第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的有理数,其中分子和分母全是整形范围内的整数;如果是负数,则负号一定出现在最前面。

输出格式:

在一行中按照a/b的格式输出N个有理数的平均值。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。

输入样例1:

4
1/2 1/6 3/6 -5/10
输出样例1:

1/6
输入样例2:

2
4/3 2/3
输出样例2:

1

我的程序如下:
#include
int main()
{
int n,A=0,B=1,i,j,m;
scanf("%d",&n);
int a[n],b[n];
for(i=0;i<n;i++) //输入
{
scanf("%d/%d",&a[i],&b[i]);
}

for(j=0;j<n;j++)
{
    B=B*b[j]; //通分的分母
    for(i=0;i<n;i++)
    {
        if(j!=i) a[j]=a[j]*b[i]; //通分的分子
    }
    A=A+a[j]; //得分子和
}

 B=B*n;// 平均值乘到分母上

 if(A>B) m=A; //化简
 else m=B;
 for(i=m;i>0;i--)
{
    if(A%i==0&&B%i==0)
    {
        A=A/i;
        B=B/i;
    }
}

if(A==0) printf("0");
else if(B==1) printf("%d",A);
else printf("%d/%d",A,B);
return 0;

}

谢谢(●'?'●)

解决方案

 你的程序没有发现什么错误。
只是一些编译器可能不支持
int a[n],b[n];
这个写法,因为n是变量。
改写成
int *a=new int[n],*b = new int[n];
看看
时间: 2024-10-26 00:17:50

c语言-c程序 不知道哪存在问题的相关文章

求解决-按照例子不能正常输出,程序不知道那里出错误了,请大神们指出来,我好改正,请用c语言编写

问题描述 按照例子不能正常输出,程序不知道那里出错误了,请大神们指出来,我好改正,请用c语言编写 #include #include /**本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素. 输入格式: 输入在第一行中给出一个正整数n(1≤n≤10).第二行输入n个整数,用空格分开. 输出格式: 在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格. 输入样例: 4 10 8 1 2 输出样例: 2 1 8 10 **

c语言-C语言简单程序调试问题

问题描述 C语言简单程序调试问题 这是源码: #include #include int main() { double x,y,z,i; for(x = 1;x<100000;x++) { y = sqrt(x+100); z = sqrt(x+268); if((y*y == x+100)&&(z*z == x+268)) { printf("%lfn",x); } } return 0; } 不知道问题出在哪里?麻烦解答一下. 另,为什么知道设定的数值范围是

编程c语言-C语言大型程序一个例子为什么不能运行

问题描述 C语言大型程序一个例子为什么不能运行 我编写了两张图里四个文件,一个.h和三个.c,然后按照给出的那个命令运行,却出现一堆错误和warning,怎么回事?一般大点的程序按这种编写方法怎么链接和用什么命令运行? 解决方案 warning不影响运行,没有error就行 解决方案二: 有时候编译器的版本不一样也会出错的,也有课能本上给出的代码是伪代码 解决方案三: C语言实现的一个程序只能运行一次,不能重复运行 解决方案四: 这是用gcc运行是的错误 解决方案五: 要用gcc -o命令先编译

c语言-C语言STRUCT数组 不知道哪错了

问题描述 C语言STRUCT数组 不知道哪错了 #include int main(void) { int i,j; float temp; struct Students { char num; char name; char sex; char age; float score; }; struct Students student[5]= { {'0001','一号','男','19',99}, {'0002','二号','女','18',96}, {'0003','三号','女','19

用C语言编写程序实现Zip或者Rar无损压缩算法

用C语言编写程序实现Zip或者Rar无损压缩算法 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *HUFF.C Huffman encode for multimedia application 8*8 pixel Ver 3 * * * *Ver 1: Complied in Borland Turbo C++ 3.0 * *Ver 2: Complied in Microsoft Visual

c语言-C语言题程序第二个输出结果是124还是125呢?求大侠帮忙解释

问题描述 C语言题程序第二个输出结果是124还是125呢?求大侠帮忙解释 #includeint change(int *data){ return (*data)++;}main(){ int data=123; change(&data); printf(""%ddata); data=change(&data); printf(""%d""data); printf(""n"");}V

strlen-程序访问异常 段异常 C语言控制台程序

问题描述 程序访问异常 段异常 C语言控制台程序 代码如下: char *s *t; scanf(""%s"" s); scanf(""%s"" t); int tLen = strlen(t); int sLen = strlen(s); 解决方案 s 和 t 都是没有初始化的指针,所以程序肯定会出现异常的.定义 s 和 t 后,至少也要为它分配空间,如 s = (char *)malloc(128); ///分配的大小自己

malloc-小弟谢了一个简单的字符串求最大子串的程序不知道错哪里,請大神帮忙回答下

问题描述 小弟谢了一个简单的字符串求最大子串的程序不知道错哪里,請大神帮忙回答下 程序要求如下: 一个字符串,字符连续的部分为子串(不含带数字的部分) 下面是我写的程序 #include using namespace std; char* BiggestStr(char* str) { char* pStr = (char*)malloc(sizeof(str)+1); //申请一个空间存最大子串 int nCount = 0; //用于记录最大子串的长度 int J_nCount=0; ch

c语言基础-真的很着急,大一学生党,求大神指导写一个c语言拨号程序

问题描述 真的很着急,大一学生党,求大神指导写一个c语言拨号程序 能显示出通讯录中所有人姓名,当选中某个姓名时,屏幕上模拟打字机效果依次显示出此人的电话号码中的各个数字,并伴随相应的拨号声 解决方案 http://zhidao.baidu.com/link?url=svF4fjRTNuBmCJyCiRipzB_21UO5zvNc0hCye7qj8nxOY1lC78667ycDqYnJ7xHiGT00M4NuYqGIak2R5cEU961mjRl1ADLf-Eh1nDKpiBi