c语言-号外号外 acm2011求助求助跪求了

问题描述

号外号外 acm2011求助求助跪求了

不知道哪里错了快疯了 求大神指点指点 怎么看都对啊 希望大神找出错误谢谢了

解决方案

ac了
你的算法有误,a=2,然后a=-3,都没错,但是下一步a=-(a+1)=-(-3+1)=2,之后的循环就全错了

#include <stdio.h>
int main(){
    int m;
    int n;
    float num=1;
    int a=2;
    scanf("%d",&m);
    while(m--){
        scanf("%d",&n);
        if(n==1){
            printf("1.00n");
        }
        if(n>1){
            for(;n>1;){
                if(a%2==0){
                    num=num-1.0/a;
                }else{
                    num=num+1.0/a;
                }
                a++;
                n--;
            }
            printf("%.2fn",num);
            num=1.0;
            a=2;
        }
    }
}

解决方案二:

num = num-1/a 这里的1/a 换成 1.0/a

时间: 2024-08-03 05:07:22

c语言-号外号外 acm2011求助求助跪求了的相关文章

c语言-问大神们一个C语言蓝桥杯的问题,跪求大神啊

问题描述 问大神们一个C语言蓝桥杯的问题,跪求大神啊 加法变乘法 我们都知道:1+2+3+ ... + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如: 1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015 就是符合要求的答案. 请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10). 注意:需要你提交的是一个整数,不要填写任何多余的内容. #include "stdio.h&quo

c语言编程-关于C语言字符串的简单题求助

问题描述 关于C语言字符串的简单题求助 进行对输入的字符串重新排列,要求字母在前,数字在后,并不改变字母和数字之间的字符排列顺序. 解决方案 #include void main() { char a[10] = {0}, b[10] = {0}, c[10]={0}; int n = 0, m = 0, k = 0,f = 0; printf("输入字符串:"); gets(a); for(int j = 0; j < 10; j++) { if((a[j] >= 'a'

c语言一道检索的题目求助!

问题描述 c语言一道检索的题目求助! 直接检索肯定会超时了,但我实在不知道什么算法能解决这个问题,求助各位大神! 解决方案 用字典树,遍历一遍,将数据添加到字典树,然后查询.内存开销8000字节以内,时间开销N+LogN 解决方案二: 如果不算数据输入的时间,2秒之内完成是没有任何问题的,即使是m=n=1000000的情况,估计0.5秒就可以完成,基本思路如下:1.使用一个int(4字节)的低三位来存储一个三元组:使用两个int数组分别存储n个三元组和m个三元组,内存不超过8M2.对n个int进

c语言扫雷算法有问题求助

问题描述 c语言扫雷算法有问题求助 自己写了个控制台的扫雷 输入坐标然后显示地图 但是输入某些坐标的时候卡住不动了 不知道是陷入死循环还是什么问题 求大神解答 已考虑无雷区自动翻开的死循环 可能是双击时陷入死循环 但看不出是不是这个问题 不知道怎么修改代码 #include #include #include #include #define len 20 //边数 int mine[len+2][len+2] = {0}; //+2是为了在计算周围一圈雷数时不必分四周顶点边界区域,不越界 in

初学go语言就遇到问题。求助

问题描述 初学go语言就遇到问题.求助 如图所示.运行的时候不出结果,运行build的时候也没有exe文件生成. 解决方案 package main //这个是必须的,所有的go文件必须以 package开头 import "fmt" // "fmt"是go必须要引入格式化I/O的库.如果要引入多个库import用( )号包裹所有的库.例如 import ( "fmt" "strconv") func main() { //这

异常-opencv3新手编程求助,跪求大神解答

问题描述 opencv3新手编程求助,跪求大神解答 代码如下: #include #include #include using namespace std; using namespace cv; bool MultiChannelBlending(); int main(){ if (MultiChannelBlending()){ cout << endl << "尼玛真费劲!"; } waitKey(); return 0; } bool MultiCh

c语言-关于C语言字符的问题--新手求助

问题描述 关于C语言字符的问题--新手求助 #include void main() { int i; char a[80]; i=0; while((a[i]=getchar())!='n') i++; a[i]=''; for(i=0;a[i]!='';i++) { if('A'<=a[i]&&a[i]<='Z') a[i]=(155-a[i]); putchar(a[i]); } printf("n"); } for语句中为什么不可以将循环终止条件换为

紧急求助:各位大侠,给小弟一个支持Office2007风格的VS2005控件包,跪求!!!

问题描述 老板要一个支持Office2007风格的VS2005控件包,限定今晚,小弟跪求了!!! 解决方案 解决方案二:这个~~现在有了吗?还在用旧的~~解决方案三:跪求????解决方案四:听老板的口气,好象有了,各位大侠,帮帮小弟吧:(解决方案五:dotnetbar去搜索一下 看楼主有没有用的上解决方案六:.net中的winformUI本来就慢,还用第三方控件.解决方案七:找一下Dev系列的.

求助 求助 求助

问题描述 .将100元纸币兑换成10元.5元和1元纸币共20张,输出各种兑换法,并统计个数.c#语言用while循环作这几道题求助求助求助求助求助求助 解决方案 解决方案二:作业问同学去解决方案三:自己解决,这是最基本的解决方案四:主要算法如下:可以在此基础上进行修改成while就行了for(inti=0;i<10;i++)//如果是兑换成10元的话可以兑换10张{for(intj=0;j<20;j++)//如果都兑换成5元的可以兑换成20张{for(intk=0;k<100;k++)/